Bug 1835710 - Cancel off-thread JIT compilation before changing nursery allocation...
[gecko.git] / dom / base / UseCounters.conf
blobf00105a1ddb06a7586b92f2c8c01a58070831b14
1 // This Source Code Form is subject to the terms of the Mozilla Public
2 // License, v. 2.0. If a copy of the MPL was not distributed with this
3 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 // This file defines a list of use counters, which are things that can
6 // record usage of Web platform features and then report this information
7 // through Telemetry.
8 //
9 // The format of this file is very strict.  Each line can be:
11 //   (a) a blank line
13 //   (b) a comment, which is a line that begins with "//"
15 //   (c) one of three possible use counter declarations:
17 //         method <IDL interface name>.<IDL operation name>
18 //         attribute <IDL interface name>.<IDL attribute name>
19 //         custom <any valid identifier> <description>
21 // The <description> for custom counters will be appended to "Whether a document "
22 // or "Whether a page ", so phrase it appropriately.  For instance, "constructs a
23 // Foo object" or "calls Document.bar('some value')".  It may contain any
24 // character (including whitespace).
26 // To actually cause use counters to be incremented, DOM methods
27 // and attributes must have a [UseCounter] extended attribute in
28 // the Web IDL file.
30 // Custom counters are incremented when
31 // SetUseCounter(eUseCounter_custom_MyName) is called on a Document object.
33 // You might reasonably ask why we have this file and we require
34 // annotating things with [UseCounter] in the relevant WebIDL file as
35 // well.  Generating things from bindings codegen and ensuring all the
36 // dependencies were correct would have been rather difficult.
38 // NOTE: Adding use counters requires data review, see
39 // https://wiki.mozilla.org/Data_Collection
41 method SVGSVGElement.getElementById
42 attribute SVGSVGElement.currentScale
44 // Push API
45 method PushManager.subscribe
46 method PushSubscription.unsubscribe
48 // window.sidebar
49 attribute Window.sidebar
51 // DataTransfer API (gecko-only methods)
52 method DataTransfer.addElement
53 attribute DataTransfer.mozItemCount
54 attribute DataTransfer.mozCursor
55 method DataTransfer.mozTypesAt
56 method DataTransfer.mozClearDataAt
57 method DataTransfer.mozSetDataAt
58 method DataTransfer.mozGetDataAt
59 attribute DataTransfer.mozUserCancelled
60 attribute DataTransfer.mozSourceNode
62 // Marquee events
63 custom onstart sets a <marquee> onstart event listener
64 custom onbounce sets a <marquee> onbounce event listener
65 custom onfinish sets a <marquee> onfinish event listener
67 // Element non-standard events
68 custom onoverflow sets an element onoverflow event listener
69 custom onunderflow sets an element onunderflow event listener
71 // JavaScript feature usage
72 custom JS_asmjs uses asm.js
73 custom JS_wasm uses WebAssembly
75 // Console API
76 method console.assert
77 method console.clear
78 method console.count
79 method console.countReset
80 method console.debug
81 method console.error
82 method console.info
83 method console.log
84 method console.table
85 method console.trace
86 method console.warn
87 method console.dir
88 method console.dirxml
89 method console.group
90 method console.groupCollapsed
91 method console.groupEnd
92 method console.time
93 method console.timeLog
94 method console.timeEnd
95 method console.exception
96 method console.timeStamp
97 method console.profile
98 method console.profileEnd
100 // document.open information
101 custom DocumentOpen calls document.open in a way that creates a new Window object
103 // HTMLDocument named getter
104 custom HTMLDocumentNamedGetterHit calls to the named getter on HTMLDocument that find something via the name lookup
106 custom FilteredCrossOriginIFrame cross-origin <iframe> within a CSS/SVG filter
108 // Custom Elements
109 method CustomElementRegistry.define
110 custom CustomizedBuiltin registers a customized built-in element
112 // XSLT
113 custom XSLStylesheet uses an XSL Stylesheet
114 method XSLTProcessor.constructor
116 // Shadow DOM
117 method Element.attachShadow
119 // Non-standard capture methods
120 method Element.setCapture
121 method Element.releaseCapture
123 // Pointer Capture
124 method Element.setPointerCapture
125 method Element.releasePointerCapture
127 // Media Device Access
128 method MediaDevices.enumerateDevices
129 custom EnumerateDevicesInsec calls MediaDevices.enumerateDevices from an insecure context
130 custom EnumerateDevicesUnfocused calls MediaDevices.enumerateDevices from a unfocused document
131 method MediaDevices.getUserMedia
132 method Navigator.mozGetUserMedia
133 custom GetUserMediaUnfocused calls MediaDevices.getUserMedia from an unfocused document
134 custom GetUserMediaInsec calls MediaDevices.getUserMedia from an insecure context
135 custom MozGetUserMediaInsec calls Navigator.mozGetUserMedia from an insecure context
136 method MediaDevices.getDisplayMedia
138 // Non-standard Document.mozSetImageElement.
139 method Document.mozSetImageElement
141 // Non-standard Window.DOMMouseScroll and MozMousePixelScroll
142 custom ondommousescroll sets DOMMouseScroll event listener
143 custom onmozmousepixelscroll sets MozMousePixelScroll event listener
145 custom PercentageStrokeWidthInSVG whether percentage stroke-width is used in SVG elements (excluding <text>)
146 custom PercentageStrokeWidthInSVGText whether percentage stroke-width is used in SVG <text>
148 // Missing-property use counters.  We claim these are "method" use
149 // counters, because we don't need a separate description string for
150 // them and we only need one use counter, not a getter/setter pair.
151 method HTMLDocument.adoptedStyleSheets
152 method HTMLDocument.caretRangeFromPoint
153 method HTMLDocument.clear
154 method HTMLDocument.exitPictureInPicture
155 method HTMLDocument.featurePolicy
156 method HTMLDocument.onbeforecopy
157 method HTMLDocument.onbeforecut
158 method HTMLDocument.onbeforepaste
159 method HTMLDocument.oncancel
160 method HTMLDocument.onfreeze
161 method HTMLDocument.onmousewheel
162 method HTMLDocument.onresume
163 method HTMLDocument.onsearch
164 method HTMLDocument.onsecuritypolicyviolation
165 method HTMLDocument.onwebkitfullscreenchange
166 method HTMLDocument.onwebkitfullscreenerror
167 method HTMLDocument.pictureInPictureElement
168 method HTMLDocument.pictureInPictureEnabled
169 method HTMLDocument.registerElement
170 method HTMLDocument.wasDiscarded
171 method HTMLDocument.webkitCancelFullScreen
172 method HTMLDocument.webkitCurrentFullScreenElement
173 method HTMLDocument.webkitExitFullscreen
174 method HTMLDocument.webkitFullscreenElement
175 method HTMLDocument.webkitFullscreenEnabled
176 method HTMLDocument.webkitHidden
177 method HTMLDocument.webkitIsFullScreen
178 method HTMLDocument.webkitVisibilityState
179 method HTMLDocument.xmlEncoding
180 method HTMLDocument.xmlStandalone
181 method HTMLDocument.xmlVersion
182 method Window.AbsoluteOrientationSensor
183 method Window.Accelerometer
184 method Window.ApplicationCache
185 method Window.ApplicationCacheErrorEvent
186 method Window.Atomics
187 method Window.AudioParamMap
188 method Window.AudioWorklet
189 method Window.AudioWorkletNode
190 method Window.BackgroundFetchManager
191 method Window.BackgroundFetchRecord
192 method Window.BackgroundFetchRegistration
193 method Window.BeforeInstallPromptEvent
194 method Window.Bluetooth
195 method Window.BluetoothCharacteristicProperties
196 method Window.BluetoothDevice
197 method Window.BluetoothRemoteGATTCharacteristic
198 method Window.BluetoothRemoteGATTDescriptor
199 method Window.BluetoothRemoteGATTServer
200 method Window.BluetoothRemoteGATTService
201 method Window.BluetoothUUID
202 method Window.CanvasCaptureMediaStreamTrack
203 method Window.chrome
204 method Window.clientInformation
205 method Window.ClipboardItem
206 method Window.CSSImageValue
207 method Window.CSSKeywordValue
208 method Window.CSSMathInvert
209 method Window.CSSMathMax
210 method Window.CSSMathMin
211 method Window.CSSMathNegate
212 method Window.CSSMathProduct
213 method Window.CSSMathSum
214 method Window.CSSMathValue
215 method Window.CSSMatrixComponent
216 method Window.CSSNumericArray
217 method Window.CSSNumericValue
218 method Window.CSSPerspective
219 method Window.CSSPositionValue
220 method Window.CSSRotate
221 method Window.CSSScale
222 method Window.CSSSkew
223 method Window.CSSSkewX
224 method Window.CSSSkewY
225 method Window.CSSStyleValue
226 method Window.CSSTransformComponent
227 method Window.CSSTransformValue
228 method Window.CSSTranslate
229 method Window.CSSUnitValue
230 method Window.CSSUnparsedValue
231 method Window.CSSVariableReferenceValue
232 method Window.defaultStatus
233 // See comments in Window.webidl about why this is disabled.
234 //method Window.defaultstatus
235 method Window.DeviceMotionEventAcceleration
236 method Window.DeviceMotionEventRotationRate
237 method Window.DOMError
238 method Window.EnterPictureInPictureEvent
239 method Window.External
240 method Window.FederatedCredential
241 method Window.Gyroscope
242 method Window.HTMLContentElement
243 method Window.HTMLDialogElement
244 method Window.HTMLShadowElement
245 method Window.ImageCapture
246 method Window.InputDeviceCapabilities
247 method Window.InputDeviceInfo
248 method Window.Keyboard
249 method Window.KeyboardLayoutMap
250 method Window.LinearAccelerationSensor
251 method Window.Lock
252 method Window.LockManager
253 method Window.MediaMetadata
254 method Window.MediaSession
255 method Window.MediaSettingsRange
256 method Window.MIDIAccess
257 method Window.MIDIConnectionEvent
258 method Window.MIDIInput
259 method Window.MIDIInputMap
260 method Window.MIDIMessageEvent
261 method Window.MIDIOutput
262 method Window.MIDIOutputMap
263 method Window.MIDIPort
264 method Window.NavigationPreloadManager
265 method Window.NetworkInformation
266 method Window.offscreenBuffering
267 method Window.OffscreenCanvas
268 method Window.OffscreenCanvasRenderingContext2D
269 method Window.onbeforeinstallprompt
270 method Window.oncancel
271 method Window.onmousewheel
272 method Window.onsearch
273 method Window.onselectionchange
274 method Window.openDatabase
275 method Window.OrientationSensor
276 method Window.OverconstrainedError
277 method Window.PasswordCredential
278 method Window.PaymentAddress
279 method Window.PaymentInstruments
280 method Window.PaymentManager
281 method Window.PaymentMethodChangeEvent
282 method Window.PaymentRequest
283 method Window.PaymentRequestUpdateEvent
284 method Window.PaymentResponse
285 method Window.PerformanceEventTiming
286 method Window.PerformanceLongTaskTiming
287 method Window.PerformancePaintTiming
288 method Window.PhotoCapabilities
289 method Window.PictureInPictureWindow
290 method Window.Presentation
291 method Window.PresentationAvailability
292 method Window.PresentationConnection
293 method Window.PresentationConnectionAvailableEvent
294 method Window.PresentationConnectionCloseEvent
295 method Window.PresentationConnectionList
296 method Window.PresentationReceiver
297 method Window.PresentationRequest
298 method Window.RelativeOrientationSensor
299 method Window.RemotePlayback
300 method Window.ReportingObserver
301 method Window.RTCDtlsTransport
302 method Window.RTCError
303 method Window.RTCErrorEvent
304 method Window.RTCIceTransport
305 method Window.RTCSctpTransport
306 method Window.Sensor
307 method Window.SensorErrorEvent
308 method Window.SharedArrayBuffer
309 method Window.styleMedia
310 method Window.StylePropertyMap
311 method Window.StylePropertyMapReadOnly
312 method Window.SVGDiscardElement
313 method Window.SyncManager
314 method Window.TaskAttributionTiming
315 method Window.TextDecoderStream
316 method Window.TextEncoderStream
317 method Window.TextEvent
318 method Window.Touch
319 method Window.TouchEvent
320 method Window.TouchList
321 method Window.TransformStream
322 method Window.USB
323 method Window.USBAlternateInterface
324 method Window.USBConfiguration
325 method Window.USBConnectionEvent
326 method Window.USBDevice
327 method Window.USBEndpoint
328 method Window.USBInterface
329 method Window.USBInTransferResult
330 method Window.USBIsochronousInTransferPacket
331 method Window.USBIsochronousInTransferResult
332 method Window.USBIsochronousOutTransferPacket
333 method Window.USBIsochronousOutTransferResult
334 method Window.USBOutTransferResult
335 method Window.UserActivation
336 method Window.visualViewport
337 method Window.webkitCancelAnimationFrame
338 method Window.webkitMediaStream
339 method Window.WebKitMutationObserver
340 method Window.webkitRequestAnimationFrame
341 method Window.webkitRequestFileSystem
342 method Window.webkitResolveLocalFileSystemURL
343 method Window.webkitRTCPeerConnection
344 method Window.webkitSpeechGrammar
345 method Window.webkitSpeechGrammarList
346 method Window.webkitSpeechRecognition
347 method Window.webkitSpeechRecognitionError
348 method Window.webkitSpeechRecognitionEvent
349 method Window.webkitStorageInfo
350 method Window.Worklet
351 method Window.WritableStream
353 // Gecko-specific command usage of `Document.execCommand`
354 custom DocumentExecCommandContentReadOnly calls execCommand with contentReadOnly
356 // Methods used in frameworks to create DOM from strings
357 method DOMParser.parseFromString
358 method Range.createContextualFragment
360 // Gecko-specific command usage of `Document.queryCommandState` or `Document.queryCommandValue`
361 custom DocumentQueryCommandStateOrValueContentReadOnly calls queryCommandState or queryCommandValue with contentReadOnly
362 custom DocumentQueryCommandStateOrValueInsertBrOnReturn calls queryCommandState or queryCommandValue with insertBrOnReturn
364 // Gecko-specific command usage of `Document.queryCommandSupported` or `Document.queryCommandEnabled`
365 custom DocumentQueryCommandSupportedOrEnabledContentReadOnly calls queryCommandSupported or queryCommandEnabled with contentReadOnly
366 custom DocumentQueryCommandSupportedOrEnabledInsertBrOnReturn calls queryCommandSupported or queryCommandEnabled with insertBrOnReturn
368 // SVG filters
369 custom feBlend uses the feBlend SVG filter.
370 custom feColorMatrix uses the feColorMatrix SVG filter.
371 custom feComponentTransfer uses the feComponentTransfer SVG filter.
372 custom feComposite uses the feComposite SVG filter.
373 custom feConvolveMatrix uses the feConvolveMatrix SVG filter.
374 custom feDiffuseLighting uses the feDiffuseLighting SVG filter.
375 custom feDisplacementMap uses the feDisplacementMap SVG filter.
376 custom feFlood uses the feFlood SVG filter.
377 custom feGaussianBlur uses the feGaussianBlur SVG filter.
378 custom feImage uses the feImage SVG filter.
379 custom feMerge uses the feMerge SVG filter.
380 custom feMorphology uses the feMorphology SVG filter.
381 custom feOffset uses the feOffset SVG filter.
382 custom feSpecularLighting uses the feSpecularLighting SVG filter.
383 custom feTile uses the feTile SVG filter.
384 custom feTurbulence uses the feTurbulence SVG filter.
386 custom WrFilterFallback triggers the blob fallback for an SVG filter.
388 // Sanitizer API
389 method Sanitizer.constructor
390 method Sanitizer.sanitize
391 method Element.setHTML
393 // Features that might be deprecated in the future
394 custom WindowOpenEmptyUrl calls window.open with an empty url argument
396 // Unsupported web APIs in Private Browsing Mode
397 custom PrivateBrowsingIDBFactoryOpen calls indexedDB.open in Private Browsing Mode
398 custom PrivateBrowsingIDBFactoryDeleteDatabase calls indexedDB.deleteDatabase in Private Browsing Mode
399 custom PrivateBrowsingCachesMatch calls caches.match in Private Browsing Mode
400 custom PrivateBrowsingCachesHas calls caches.has in Private Browsing Mode
401 custom PrivateBrowsingCachesOpen calls caches.open in Private Browsing Mode
402 custom PrivateBrowsingCachesDelete calls caches.delete in Private Browsing Mode
403 custom PrivateBrowsingCachesKeys calls caches.keys in Private Browsing Mode
404 custom PrivateBrowsingNavigatorServiceWorker accesses navigator.serviceWorker in Private Browsing Mode
406 method Scheduler.postTask
408 // NOTE: Adding use counters requires data review, see
409 // https://wiki.mozilla.org/Data_Collection