summaryrefslogtreecommitdiff
path: root/chromium/chrome/browser/resources/settings/privacy_page/privacy_page_browser_proxy.js
blob: a630f7423b1c40bb60333a3e284afd03f07d10e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

/** @fileoverview Handles interprocess communcation for the privacy page. */

/** @typedef {{enabled: boolean, managed: boolean}} */
var MetricsReporting;

cr.define('settings', function() {
  /** @interface */
  function PrivacyPageBrowserProxy() {}

  PrivacyPageBrowserProxy.prototype = {
<if expr="_google_chrome and not chromeos">
    /** @return {!Promise<!MetricsReporting>} */
    getMetricsReporting: assertNotReached,

    /** @param {boolean} enabled */
    setMetricsReportingEnabled: assertNotReached,
</if>

<if expr="is_win or is_macosx">
    /** Invokes the native certificate manager (used by win and mac). */
    showManageSSLCertificates: function() {},
</if>

    /** @return {!Promise<boolean>} */
    getSafeBrowsingExtendedReporting: assertNotReached,

    /** @param {boolean} enabled */
    setSafeBrowsingExtendedReportingEnabled: assertNotReached,
  };

  /**
   * @constructor
   * @implements {settings.PrivacyPageBrowserProxy}
   */
  function PrivacyPageBrowserProxyImpl() {}
  cr.addSingletonGetter(PrivacyPageBrowserProxyImpl);

  PrivacyPageBrowserProxyImpl.prototype = {
<if expr="_google_chrome and not chromeos">
    /** @override */
    getMetricsReporting: function() {
      return cr.sendWithPromise('getMetricsReporting');
    },

    /** @override */
    setMetricsReportingEnabled: function(enabled) {
      chrome.send('setMetricsReportingEnabled', [enabled]);
    },
</if>

    /** @override */
    getSafeBrowsingExtendedReporting: function() {
      return cr.sendWithPromise('getSafeBrowsingExtendedReporting');
    },

    /** @override */
    setSafeBrowsingExtendedReportingEnabled: function(enabled) {
      chrome.send('setSafeBrowsingExtendedReportingEnabled', [enabled]);
    },

<if expr="is_win or is_macosx">
    /** @override */
    showManageSSLCertificates: function() {
      chrome.send('showManageSSLCertificates');
    },
</if>
  };

  return {
    PrivacyPageBrowserProxy: PrivacyPageBrowserProxy,
    PrivacyPageBrowserProxyImpl: PrivacyPageBrowserProxyImpl,
  };
});