mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-26 14:22:01 +00:00
98 lines
3.0 KiB
Plaintext
98 lines
3.0 KiB
Plaintext
/* 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,
|
|
* geckoAppInfo: 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();
|
|
|
|
/**
|
|
* Retrieve a list of the archived Telemetry pings.
|
|
* This contains objects with ping info, which are of the form:
|
|
* {
|
|
* type: <string>, // The pings type, e.g. "main", "environment-change", ...
|
|
* timestampCreated: <number>, // The time the ping was created (ms since unix epoch).
|
|
* id: <string>, // The pings UUID.
|
|
* }
|
|
*
|
|
* @return Promise<sequence<Object>>
|
|
* Resolved with the ping infos when the archived ping list has been built.
|
|
*/
|
|
Promise<sequence<object>> getTelemetryPingList();
|
|
|
|
/**
|
|
* Retrieve an archived Telemetry ping by it's id.
|
|
* This will load the ping data async from the archive, possibly hitting the disk.
|
|
*
|
|
* @return Promise<Object>
|
|
* Resolved with the ping data, see the Telemetry "main" ping documentation for the format.
|
|
*/
|
|
Promise<object> getTelemetryPing(DOMString pingID);
|
|
|
|
/**
|
|
* Get the current Telemetry environment - see the Telemetry documentation for details on the format.
|
|
*
|
|
* @return Promise<Object>
|
|
* Resolved with an object containing the Telemetry environment data.
|
|
*/
|
|
Promise<object> getCurrentTelemetryEnvironment();
|
|
|
|
/**
|
|
* Get a Telemetry "main" ping containing the current session measurements.
|
|
*
|
|
* @return Promise<Object>
|
|
* Resolved with the ping data, see the Telemetry "main" ping documentation for the format.
|
|
*/
|
|
Promise<object> getCurrentTelemetrySubsessionPing();
|
|
|
|
/**
|
|
* Resets a named pref:
|
|
* - if there is a default value, then change the value back to default,
|
|
* - if there's no default value, then delete the pref,
|
|
* - no-op otherwise.
|
|
*
|
|
* @param DOMString
|
|
* The name of the pref to reset.
|
|
*/
|
|
void resetPref(DOMString name);
|
|
|
|
/**
|
|
* Resets original search engines, and resets the default one.
|
|
*/
|
|
void resetSearchEngines();
|
|
};
|