// 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 three possible use counter declarations: // // method . // attribute . // custom // // The for custom counters will be appended to "Whether a document " // or "Whether 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. // // Custom counters are incremented when // SetUseCounter(eUseCounter_custom_MyName) is called on a 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. // // NOTE: You might need a data collection review if you are adding // a custom use counter. And for WebIDL methods or attributes, // deprecated operations, or CSS properties: you almost certainly // don’t need a data collection review. // https://firefox-source-docs.mozilla.org/dom/use-counters.html#data-review method SVGSVGElement.getElementById attribute SVGSVGElement.currentScale // Push API method PushManager.subscribe method PushSubscription.unsubscribe // window.sidebar attribute Window.sidebar // 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 // Marquee events custom onstart sets a onstart event listener custom onbounce sets a onbounce event listener custom onfinish sets a onfinish event listener // Element non-standard events custom onoverflow sets an element onoverflow event listener custom onunderflow sets an element onunderflow event listener // JavaScript feature usage custom JS_asmjs uses asm.js custom JS_wasm uses WebAssembly custom JS_late_weekday parses a Date with day of week in an unexpected position custom JS_wasm_legacy_exceptions uses WebAssembly legacy exception-handling // Console API method console.assert method console.clear method console.count method console.countReset method console.debug method console.error method console.info method console.log method console.table method console.trace method console.warn method console.dir method console.dirxml method console.group method console.groupCollapsed method console.groupEnd method console.time method console.timeLog method console.timeEnd method console.exception method console.timeStamp method console.profile method console.profileEnd // document.open information custom DocumentOpen calls document.open in a way that creates a new Window object // HTMLDocument named getter custom HTMLDocumentNamedGetterHit calls to the named getter on HTMLDocument that find something via the name lookup custom FilteredCrossOriginIFrame cross-origin