The purpose of this repo is to track Web-interop details related to the global navigator
and its various properties/methods.
-
This property is incorporated into the WinterCG Common Minimum API, and implementations should follow the requirements listed there.
-
Web-interoperable runtimes other than web browsers should not implement these APIs. If they do so, they use a consistent navigator compatibility mode, and they must implement all listed APIs (if applicable to the compatibility mode). Additionally, their value of
navigator.userAgent
should also be consistent with web browsers of the same navigator compatibility mode. -
Web-interoperable runtimes whose natural language (e.g. in UI or error messages) can be switched by the user (such as browsers) should implement these properties. Runtimes which don't have such a concept but can run in a platform which does have it (such as the OS's default language, for a CLI runtime) may implement them as well, if other platform details are exposed to author code through other means. Other runtimes should not implement it, but if they do, they must use
"en-US"
as the single plausible language.Runtimes which implement these properties should also support the
languagechange
event. -
Web-interoperable runtimes which are expected to be permanently online (i.e. network servers) or permanently offline should not implement this property. Other runtimes may do so. Any runtimes that implement it should also support the
online
andoffline
events. -
Web-interoperable runtimes which support web workers should implement this property. Other runtimes should not implement it, but if they do, it should return 1.
-
registerProtocolHandler()
,unregisterProtocolHandler()
Runtimes other than browsers should not implement these methods. (The assumption is that these methods would be useless to such runtimes, since they would not have any equivalent to navigation.)
-
Runtimes other than browsers should not support this property. (The assumption is that no such runtimes would have support for a cookie jar in their
fetch
implementation, or directly support cookies in any other way.) -
plugins
,mimeTypes
,javaEnabled()
,pdfViewerEnabled
Runtimes other than browsers should not support these properties or methods. (The assumption is that no such runtimes would have support for PDF viewing.)