summaryrefslogtreecommitdiff
path: root/dom/webidl/MozSelfSupport.webidl
blob: 160141d76b1639ebdba05f31a5cef8f3367bde3f (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
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/**
 * The MozSelfSupport interface allows external Mozilla support sites such as
 * FHR and SUMO to access data and control settings that are not otherwise
 * exposed to external content.
 *
 * At the moment, this is a ChromeOnly interface, but the plan is to allow
 * specific Mozilla domains to access it directly.
 */
[ChromeOnly,
 JSImplementation="@mozilla.org/mozselfsupport;1",
 Constructor()]
interface MozSelfSupport
{
  /**
   * Controls whether uploading FHR data is allowed.
   */
  attribute boolean healthReportDataSubmissionEnabled;

  /**
   * Retrieves the FHR payload object, which is of the form:
   *
   * {
   *   version: Number,
   *   clientID: String,
   *   clientIDVersion: Number,
   *   thisPingDate: String,
   *   goannaAppInfo: Object,
   *   data: Object
   * }
   *
   * Refer to the getJSONPayload function in healthreporter.jsm for more
   * information.
   *
   * @return Promise<Object>
   *         Resolved when the FHR payload data has been collected.
   */
  Promise<object> getHealthReportPayload();
};