diff --git a/specification/window.browser.html b/specification/window.browser.html new file mode 100644 index 00000000..81e23c47 --- /dev/null +++ b/specification/window.browser.html @@ -0,0 +1,1335 @@ + + + + + window.browser + + + + + + + + + + + + + + + + +
+

+

window.browser

+

Draft Community Group Report,

+
+ More details about this document +
+
+
This version: +
https://w3c.github.io/webextensions/specification/window.browser.html +
Issue Tracking: +
GitHub +
Editor: +
(Google) +
+
+
+
+ +
+
+
+

Abstract

+

This specification reserves the window.browser namespace for use by WebExtensions.

+
+

Status of this document

+
+

This specification was published by the WebExtensions Community Group. + It is not a W3C Standard nor is it on the W3C Standards Track. + + Please note that under the W3C Community Contributor License Agreement (CLA) there is a limited opt-out and other conditions apply. + + Learn more about W3C Community and Business Groups.

+

+
+
+ +
+
+

Introduction

+ This section is non-normative. +

Browser extensions are programs to extend the capabilities of web browsers. + Although not standardized at first, web browsers have independently implemented a common interoperable set of extension APIs, called WebExtensions.

+

Modern WebExtensions are an evolution of a system originally introduced in + Chromium. In that system, any API that was added was put under the chrome namespace. When WebExtensions were adopted outside of + Chromium, other vendors used the more neutral browser namespace. + That browser is now considered the canonically correct namespace + for all WebExtension APIs. Some interactions with WebExtensions (such as + external messaging from websites to background processes) necessitate + the exposure of this namespace to the web.

+

Given that, this document defines window.browser as reserved for + the use of APIs designed to interact with WebExtensions. The specifics of what + APIs within window.browser are at present intentionally undefined, + and are left up to User Agent implementation.

+
+
+

window.browser API

+

browser is UA defined attribute exposed on window. When implemented, + it MUST be used only for WebExtension related functionality.

+
+
partial interface Window {
+ attribute object browser;
+};
+
+
+
+

Worker API

+

When browser is defined on window, it SHOULD also be exposed on ServiceWorkerGlobalScope of origins associated with WebExtensions. + It MUST be used exclusively for WebExtension purposes, however the contents of each instance of browser is UA defined.

+
+
partial interface ServiceWorkerGlobalScope {
+  attribute object browser;
+};
+
+
+
+

Conformance

+

Document conventions

+

Conformance requirements are expressed + with a combination of descriptive assertions + and RFC 2119 terminology. + The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” + in the normative parts of this document + are to be interpreted as described in RFC 2119. + However, for readability, + these words do not appear in all uppercase letters in this specification.

+

All of the text of this specification is normative + except sections explicitly marked as non-normative, examples, and notes. [RFC2119]

+

Examples in this specification are introduced with the words “for example” + or are set apart from the normative text + with class="example", + like this:

+
+ +

This is an example of an informative example.

+
+

Informative notes begin with the word “Note” + and are set apart from the normative text + with class="note", + like this:

+

Note, this is an informative note.

+
+ +

Index

+

Terms defined by this specification

+ +

Terms defined by reference

+ +

References

+

Normative References

+
+
[HTML] +
Anne van Kesteren; et al. HTML Standard. Living Standard. URL: https://html.spec.whatwg.org/multipage/ +
[RFC2119] +
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Best Current Practice. URL: https://datatracker.ietf.org/doc/html/rfc2119 +
[SERVICE-WORKERS] +
Jake Archibald; Marijn Kruisselbrink. Service Workers. URL: https://w3c.github.io/ServiceWorker/ +
[WEBIDL] +
Edgar Chen; Timothy Gu. Web IDL Standard. Living Standard. URL: https://webidl.spec.whatwg.org/ +
+

IDL Index

+
partial interface Window {
+ attribute object browser;
+};
+
+
+partial interface ServiceWorkerGlobalScope {
+  attribute object browser;
+};
+
+
+ + + + \ No newline at end of file