gecko-dev/dom/webidl/CheckerboardReportService.webidl
Cosmin Sabou 679b5e2db1 Backed out 5 changesets (bug 1485040) for causing build bustages on test_mozwebidlcodegen. CLOSED TREE
Backed out changeset b417c2d937e8 (bug 1485040)
Backed out changeset c567c4c7438f (bug 1485040)
Backed out changeset 806c36cb2c4c (bug 1485040)
Backed out changeset 0fbb490ffc7f (bug 1485040)
Backed out changeset a9622e7761eb (bug 1485040)
2018-09-13 23:04:55 +03:00

59 lines
2.0 KiB
Plaintext

/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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/.
*/
/*
* This file declares data structures used to communicate checkerboard reports
* from C++ code to about:checkerboard (see bug 1238042). These dictionaries
* are NOT exposed to standard web content.
*/
enum CheckerboardReason {
"severe",
"recent"
};
// Individual checkerboard report. Contains fields for the severity of the
// checkerboard event, the timestamp at which it was reported, the detailed
// log of the event, and the reason this report was saved (currently either
// "severe" or "recent").
dictionary CheckerboardReport {
unsigned long severity;
DOMTimeStamp timestamp; // milliseconds since epoch
DOMString log;
CheckerboardReason reason;
};
// The guard function only allows creation of this interface on the
// about:checkerboard page, and only if it's in the parent process.
[Func="mozilla::dom::CheckerboardReportService::IsEnabled",
Constructor]
interface CheckerboardReportService {
/**
* Gets the available checkerboard reports.
*/
sequence<CheckerboardReport> getReports();
/**
* Gets the state of the apz.record_checkerboarding pref.
*/
boolean isRecordingEnabled();
/**
* Sets the state of the apz.record_checkerboarding pref.
*/
void setRecordingEnabled(boolean aEnabled);
/**
* Flush any in-progress checkerboard reports. Since this happens
* asynchronously, the caller may register an observer with the observer
* service to be notified when this operation is complete. The observer should
* listen for the topic "APZ:FlushActiveCheckerboard:Done". Upon receiving
* this notification, the caller may call getReports() to obtain the flushed
* reports, along with any other reports that are available.
*/
void flushActiveReports();
};