summaryrefslogtreecommitdiffstats
path: root/dom/base/UseCountersWorker.conf
diff options
context:
space:
mode:
Diffstat (limited to 'dom/base/UseCountersWorker.conf')
-rw-r--r--dom/base/UseCountersWorker.conf67
1 files changed, 67 insertions, 0 deletions
diff --git a/dom/base/UseCountersWorker.conf b/dom/base/UseCountersWorker.conf
new file mode 100644
index 0000000000..642126fb44
--- /dev/null
+++ b/dom/base/UseCountersWorker.conf
@@ -0,0 +1,67 @@
+// 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>
+// custom <any valid identifier> <description>
+//
+// The <description> for custom counters will be appended to "Whether a
+// dedicated worker " or "Whether a shared worker" or "Whether a service worker
+// ", so phrase it appropriately. For instance, "constructs a
+// Foo object" or "calls Bar.baz('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 and be exposed to
+// workers in the Web IDL file.
+// Custom counters are incremented when
+// SetUseCounter(UseCounterWoker::Custom_MyName) is called on a WorkerPrivate
+// 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.
+
+// Push API
+method PushManager.subscribe
+method PushSubscription.unsubscribe
+
+// 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
+