зеркало из https://github.com/mozilla/gecko-dev.git
96 строки
3.5 KiB
Plaintext
96 строки
3.5 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/.
|
|
|
|
// This file defines a list of use counters, which are things that can
|
|
// record usage of Web platform features and then report this information
|
|
// through Telemetry.
|
|
//
|
|
// The format of this file is very strict. Each line can be:
|
|
//
|
|
// (a) a blank line
|
|
//
|
|
// (b) a comment, which is a line that begins with "//"
|
|
//
|
|
// (c) one of four possible use counter declarations:
|
|
//
|
|
// method <IDL interface name>.<IDL operation name>
|
|
// attribute <IDL interface name>.<IDL attribute name>
|
|
// property <CSS property method name>
|
|
// custom <any valid identifier> <description>
|
|
//
|
|
// The |CSS property method name| should be identical to the |method|
|
|
// argument to CSS_PROP and related macros. The method name is
|
|
// identical to the name of the property, except that all hyphens are
|
|
// removed and CamelCase naming is used. See nsCSSPropList.h for
|
|
// further details.
|
|
//
|
|
// The <description> for custom counters will be appended to "When a document "
|
|
// or "When a page ", so phrase it appropriately. For instance, "constructs a
|
|
// Foo object" or "calls Document.bar('some value')". It may contain any
|
|
// character (including whitespace).
|
|
//
|
|
// To actually cause use counters to be incremented, DOM methods
|
|
// and attributes must have a [UseCounter] extended attribute in
|
|
// the Web IDL file. CSS properties require no special treatment
|
|
// beyond being listed below. Custom counters are incremented when
|
|
// SetDocumentAndPageUseCounter(eUseCounter_custom_MyName) is called on an
|
|
// ns(I)Document object.
|
|
//
|
|
// You might reasonably ask why we have this file and we require
|
|
// annotating things with [UseCounter] in the relevant WebIDL file as
|
|
// well. Generating things from bindings codegen and ensuring all the
|
|
// dependencies were correct would have been rather difficult, and
|
|
// annotating the WebIDL files does nothing for identifying CSS
|
|
// property usage, which we would also like to track.
|
|
|
|
method SVGSVGElement.getElementById
|
|
attribute SVGSVGElement.currentScale
|
|
property Fill
|
|
property FillOpacity
|
|
attribute XMLDocument.async
|
|
attribute DOMError.name
|
|
attribute DOMError.message
|
|
custom DOMErrorConstructor constructed a DOMError
|
|
|
|
// Push API
|
|
method PushManager.subscribe
|
|
method PushSubscription.unsubscribe
|
|
|
|
// window.sidebar
|
|
attribute Window.sidebar
|
|
|
|
// AppCache API
|
|
method OfflineResourceList.swapCache
|
|
method OfflineResourceList.update
|
|
attribute OfflineResourceList.status
|
|
attribute OfflineResourceList.onchecking
|
|
attribute OfflineResourceList.onerror
|
|
attribute OfflineResourceList.onnoupdate
|
|
attribute OfflineResourceList.ondownloading
|
|
attribute OfflineResourceList.onprogress
|
|
attribute OfflineResourceList.onupdateready
|
|
attribute OfflineResourceList.oncached
|
|
attribute OfflineResourceList.onobsolete
|
|
|
|
// Non-standard IndexedDB API
|
|
method IDBDatabase.createMutableFile
|
|
method IDBDatabase.mozCreateFileHandle
|
|
method IDBMutableFile.open
|
|
method IDBMutableFile.getFile
|
|
|
|
// DataTransfer API (gecko-only methods)
|
|
method DataTransfer.addElement
|
|
attribute DataTransfer.mozItemCount
|
|
attribute DataTransfer.mozCursor
|
|
method DataTransfer.mozTypesAt
|
|
method DataTransfer.mozClearDataAt
|
|
method DataTransfer.mozSetDataAt
|
|
method DataTransfer.mozGetDataAt
|
|
attribute DataTransfer.mozUserCancelled
|
|
attribute DataTransfer.mozSourceNode
|
|
|
|
// JavaScript feature usage
|
|
custom JS_asmjs uses asm.js
|
|
custom JS_wasm uses WebAssembly
|