Serenity Operating System
1#import <HTML/MimeTypeArray.idl>
2#import <HTML/NavigatorID.idl>
3#import <HTML/NavigatorLanguage.idl>
4#import <HTML/NavigatorOnLine.idl>
5#import <HTML/NavigatorConcurrentHardware.idl>
6#import <HTML/PluginArray.idl>
7
8// https://html.spec.whatwg.org/multipage/system-state.html#navigator
9[Exposed=Window]
10interface Navigator {
11 // objects implementing this interface also implement the interfaces given below
12};
13
14// NOTE: As NavigatorContentUtils, NavigatorCookies, NavigatorPlugins, and NavigatorAutomationInformation
15// are not used in WorkerNavigator, we define them here.
16
17// https://html.spec.whatwg.org/multipage/system-state.html#navigatorcontentutils
18interface mixin NavigatorContentUtils {
19 // FIXME: [SecureContext] undefined registerProtocolHandler(DOMString scheme, USVString url);
20 // FIXME: [SecureContext] undefined unregisterProtocolHandler(DOMString scheme, USVString url);
21};
22
23// https://html.spec.whatwg.org/multipage/system-state.html#navigatorcookies
24interface mixin NavigatorCookies {
25 readonly attribute boolean cookieEnabled;
26};
27
28// https://html.spec.whatwg.org/multipage/system-state.html#navigatorplugins
29interface mixin NavigatorPlugins {
30 [SameObject] readonly attribute PluginArray plugins;
31 [SameObject] readonly attribute MimeTypeArray mimeTypes;
32 boolean javaEnabled();
33 readonly attribute boolean pdfViewerEnabled;
34};
35
36// https://w3c.github.io/webdriver/#dom-navigatorautomationinformation
37interface mixin NavigatorAutomationInformation {
38 readonly attribute boolean webdriver;
39};
40
41Navigator includes NavigatorID;
42Navigator includes NavigatorLanguage;
43Navigator includes NavigatorOnLine;
44Navigator includes NavigatorContentUtils;
45Navigator includes NavigatorCookies;
46Navigator includes NavigatorPlugins;
47Navigator includes NavigatorConcurrentHardware;
48Navigator includes NavigatorAutomationInformation;