mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Flatten and simplify Servo's preferences code. In addition, have both preferences and options passed in as arguments to `Servo::new()` and make sure not to use the globally set preferences in `servoshell` (as much as possible now). Instead of a complex procedural macro to generate preferences, just expose a very simple derive macro that adds string based getters and setters. - All command-line parsing is moved to servoshell. - There is no longer the concept of a missing preference. - Preferences no longer have to be part of the resources bundle because they now have reasonable default values. - servoshell specific preferences are no longer part of the preferences exposed by the Servo API. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
77 lines
2.8 KiB
Text
77 lines
2.8 KiB
Text
/* 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 https://mozilla.org/MPL/2.0/. */
|
|
|
|
// https://html.spec.whatwg.org/multipage/#navigator
|
|
[Exposed=Window]
|
|
interface Navigator {
|
|
// objects implementing this interface also implement the interfaces given below
|
|
};
|
|
Navigator includes NavigatorID;
|
|
Navigator includes NavigatorLanguage;
|
|
//Navigator includes NavigatorOnLine;
|
|
//Navigator includes NavigatorContentUtils;
|
|
//Navigator includes NavigatorStorageUtils;
|
|
Navigator includes NavigatorPlugins;
|
|
Navigator includes NavigatorCookies;
|
|
Navigator includes NavigatorConcurrentHardware;
|
|
|
|
// https://html.spec.whatwg.org/multipage/#navigatorid
|
|
[Exposed=(Window,Worker)]
|
|
interface mixin NavigatorID {
|
|
readonly attribute DOMString appCodeName; // constant "Mozilla"
|
|
readonly attribute DOMString appName;
|
|
readonly attribute DOMString appVersion;
|
|
readonly attribute DOMString platform;
|
|
readonly attribute DOMString product; // constant "Gecko"
|
|
[Exposed=Window] readonly attribute DOMString productSub;
|
|
boolean taintEnabled(); // constant false
|
|
readonly attribute DOMString userAgent;
|
|
[Exposed=Window] readonly attribute DOMString vendor;
|
|
[Exposed=Window] readonly attribute DOMString vendorSub; // constant ""
|
|
};
|
|
|
|
// https://webbluetoothcg.github.io/web-bluetooth/#navigator-extensions
|
|
partial interface Navigator {
|
|
[SameObject, Pref="dom_bluetooth_enabled"] readonly attribute Bluetooth bluetooth;
|
|
};
|
|
|
|
// https://w3c.github.io/ServiceWorker/#navigator-service-worker
|
|
partial interface Navigator {
|
|
[SameObject, Pref="dom_serviceworker_enabled"] readonly attribute ServiceWorkerContainer serviceWorker;
|
|
};
|
|
|
|
// https://html.spec.whatwg.org/multipage/#navigatorlanguage
|
|
[Exposed=(Window,Worker)]
|
|
interface mixin NavigatorLanguage {
|
|
readonly attribute DOMString language;
|
|
readonly attribute any languages;
|
|
};
|
|
|
|
// https://html.spec.whatwg.org/multipage/#navigatorplugins
|
|
interface mixin NavigatorPlugins {
|
|
[SameObject] readonly attribute PluginArray plugins;
|
|
[SameObject] readonly attribute MimeTypeArray mimeTypes;
|
|
boolean javaEnabled();
|
|
};
|
|
|
|
// https://html.spec.whatwg.org/multipage/#navigatorcookies
|
|
interface mixin NavigatorCookies {
|
|
readonly attribute boolean cookieEnabled;
|
|
};
|
|
|
|
// https://w3c.github.io/permissions/#navigator-and-workernavigator-extension
|
|
[Exposed=(Window)]
|
|
partial interface Navigator {
|
|
[Pref="dom_permissions_enabled"] readonly attribute Permissions permissions;
|
|
};
|
|
|
|
// https://w3c.github.io/gamepad/#navigator-interface-extension
|
|
partial interface Navigator {
|
|
[Pref="dom_gamepad_enabled"] sequence<Gamepad?> getGamepads();
|
|
};
|
|
|
|
// https://html.spec.whatwg.org/multipage/#navigatorconcurrenthardware
|
|
interface mixin NavigatorConcurrentHardware {
|
|
readonly attribute unsigned long long hardwareConcurrency;
|
|
};
|