UseCountersWorker.conf (3841B)
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/. 4 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: 10 // 11 // (a) a blank line 12 // 13 // (b) a comment, which is a line that begins with "//" 14 // 15 // (c) one of four possible use counter declarations: 16 // 17 // method <IDL interface name>.<IDL operation name> 18 // attribute <IDL interface name>.<IDL attribute name> 19 // custom <any valid identifier> <description> 20 // 21 // The <description> for custom counters will be appended to "Whether a 22 // dedicated worker " or "Whether a shared worker" or "Whether a service worker 23 // ", so phrase it appropriately. For instance, "constructs a 24 // Foo object" or "calls Bar.baz('some value')". It may contain any character 25 // (including whitespace). 26 // 27 // To actually cause use counters to be incremented, DOM methods 28 // and attributes must have a [UseCounter] extended attribute and be exposed to 29 // workers in the Web IDL file. 30 // Custom counters are incremented when 31 // SetUseCounter(UseCounterWoker::Custom_MyName) is called on a WorkerPrivate 32 // object. 33 // 34 // You might reasonably ask why we have this file and we require 35 // annotating things with [UseCounter] in the relevant WebIDL file as 36 // well. Generating things from bindings codegen and ensuring all the 37 // dependencies were correct would have been rather difficult. 38 39 // Push API 40 method PushManager.subscribe 41 method PushSubscription.unsubscribe 42 43 // Console API 44 method console.assert 45 method console.clear 46 method console.count 47 method console.countReset 48 method console.debug 49 method console.error 50 method console.info 51 method console.log 52 method console.table 53 method console.trace 54 method console.warn 55 method console.dir 56 method console.dirxml 57 method console.group 58 method console.groupCollapsed 59 method console.groupEnd 60 method console.time 61 method console.timeLog 62 method console.timeEnd 63 method console.exception 64 method console.timeStamp 65 method console.profile 66 method console.profileEnd 67 68 // CookieStore API 69 method CookieStore.get 70 method CookieStore.getAll 71 method CookieStore.set 72 method CookieStore.delete 73 74 // Non-standard Messaging Layer Security 75 method MLS.stateDelete 76 method MLS.stateDeleteGroup 77 method MLS.generateSignatureKeypair 78 method MLS.generateCredentialBasic 79 method MLS.generateKeyPackage 80 method MLS.groupCreate 81 method MLS.groupJoin 82 method MLS.groupAdd 83 method MLS.groupProposeAdd 84 method MLS.groupRemove 85 method MLS.groupProposeRemove 86 method MLS.groupClose 87 method MLS.groupMembers 88 method MLS.receive 89 method MLS.send 90 method MLS.deriveExporter 91 92 // Unsupported web APIs in Private Browsing Mode 93 custom PrivateBrowsingIDBFactoryOpen calls indexedDB.open in Private Browsing Mode 94 custom PrivateBrowsingIDBFactoryDeleteDatabase calls indexedDB.deleteDatabase in Private Browsing Mode 95 custom PrivateBrowsingCachesMatch calls caches.match in Private Browsing Mode 96 custom PrivateBrowsingCachesHas calls caches.has in Private Browsing Mode 97 custom PrivateBrowsingCachesOpen calls caches.open in Private Browsing Mode 98 custom PrivateBrowsingCachesDelete calls caches.delete in Private Browsing Mode 99 custom PrivateBrowsingCachesKeys calls caches.keys in Private Browsing Mode 100 101 method Scheduler.postTask 102 103 // WebGPU 104 custom WebgpuRequestAdapter requests a WebGPU adapter 105 106 method NotificationOptions.navigate 107 method NotificationOptions.image 108 method NotificationOptions.badge 109 method NotificationOptions.vibrate 110 method NotificationOptions.timestamp 111 method NotificationOptions.renotify 112 method NotificationOptions.requireInteraction 113 method NotificationOptions.actions