mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
api: Flatten and simplify Servo preferences (#34966)
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>
This commit is contained in:
parent
c4c85affb5
commit
0e616e0c5d
316 changed files with 2088 additions and 3235 deletions
|
@ -89,10 +89,31 @@ def generate(config, name, filename):
|
|||
|
||||
|
||||
def add_css_properties_attributes(css_properties_json, parser):
|
||||
def map_preference_name(preference_name: str):
|
||||
"""Map between Stylo preference names and Servo preference names as the
|
||||
`css-properties.json` file is generated by Stylo. This should be kept in sync with the
|
||||
preference mapping done in `components/servo_config/prefs.rs`, which handles the runtime version of
|
||||
these preferences."""
|
||||
MAPPING = [
|
||||
["layout.unimplemented", "layout_unimplemented"],
|
||||
["layout.threads", "layout_threads"],
|
||||
["layout.legacy_layout", "layout_legacy_layout"],
|
||||
["layout.flexbox.enabled", "layout_flexbox_enabled"],
|
||||
["layout.columns.enabled", "layout_columns_enabled"],
|
||||
["layout.grid.enabled", "layout_grid_enabled"],
|
||||
["layout.css.transition-behavior.enabled", "layout_css_transition_behavior_enabled"],
|
||||
["layout.writing-mode.enabled", "layout_writing_mode_enabled"],
|
||||
["layout.container-queries.enabled", "layout_container_queries_enabled"],
|
||||
]
|
||||
for mapping in MAPPING:
|
||||
if mapping[0] == preference_name:
|
||||
return mapping[1]
|
||||
return preference_name
|
||||
|
||||
css_properties = json.load(open(css_properties_json, "rb"))
|
||||
idl = "partial interface CSSStyleDeclaration {\n%s\n};\n" % "\n".join(
|
||||
" [%sCEReactions, SetterThrows] attribute [LegacyNullToEmptyString] DOMString %s;" % (
|
||||
('Pref="%s", ' % data["pref"] if data["pref"] else ""),
|
||||
(f'Pref="{map_preference_name(data["pref"])}", ' if data["pref"] else ""),
|
||||
attribute_name
|
||||
)
|
||||
for (kind, properties_list) in sorted(css_properties.items())
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
//! Machinery to conditionally expose things.
|
||||
|
||||
use js::rust::HandleObject;
|
||||
use servo_config::prefs;
|
||||
use servo_config::prefs::get;
|
||||
|
||||
use crate::dom::bindings::codegen::InterfaceObjectMap;
|
||||
use crate::dom::bindings::interface::is_exposed_in;
|
||||
|
@ -85,7 +85,7 @@ impl Condition {
|
|||
global: HandleObject,
|
||||
) -> bool {
|
||||
match *self {
|
||||
Condition::Pref(name) => prefs::pref_map().get(name).as_bool().unwrap_or(false),
|
||||
Condition::Pref(name) => get().get_value(name).try_into().unwrap_or(false),
|
||||
Condition::Func(f) => f(cx, obj),
|
||||
Condition::Exposed(globals) => is_exposed_in(global, globals),
|
||||
Condition::SecureContext() => is_secure_context(cx),
|
||||
|
|
|
@ -108,7 +108,7 @@ fn create_svg_element(
|
|||
})
|
||||
);
|
||||
|
||||
if !pref!(dom.svg.enabled) {
|
||||
if !pref!(dom_svg_enabled) {
|
||||
return Element::new(name.local, name.ns, prefix, document, proto, CanGc::note());
|
||||
}
|
||||
|
||||
|
|
|
@ -1356,8 +1356,8 @@ impl Document {
|
|||
|
||||
if let Some((last_time, last_pos)) = opt {
|
||||
let DBL_CLICK_TIMEOUT =
|
||||
Duration::from_millis(pref!(dom.document.dblclick_timeout) as u64);
|
||||
let DBL_CLICK_DIST_THRESHOLD = pref!(dom.document.dblclick_dist) as u64;
|
||||
Duration::from_millis(pref!(dom_document_dblclick_timeout) as u64);
|
||||
let DBL_CLICK_DIST_THRESHOLD = pref!(dom_document_dblclick_dist) as u64;
|
||||
|
||||
// Calculate distance between this click and the previous click.
|
||||
let line = click_pos - last_pos;
|
||||
|
@ -2469,7 +2469,7 @@ impl Document {
|
|||
// https://immersive-web.github.io/webxr/#user-intention
|
||||
// https://github.com/immersive-web/navigation/issues/10
|
||||
#[cfg(feature = "webxr")]
|
||||
if pref!(dom.webxr.sessionavailable) && self.window.is_top_level() {
|
||||
if pref!(dom_webxr_sessionavailable) && self.window.is_top_level() {
|
||||
self.window.Navigator().Xr().dispatch_sessionavailable();
|
||||
}
|
||||
|
||||
|
@ -2850,7 +2850,7 @@ impl Document {
|
|||
local_name: &LocalName,
|
||||
is: Option<&LocalName>,
|
||||
) -> Option<Rc<CustomElementDefinition>> {
|
||||
if !pref!(dom.custom_elements.enabled) {
|
||||
if !pref!(dom_customelements_enabled) {
|
||||
return None;
|
||||
}
|
||||
|
||||
|
@ -3344,7 +3344,7 @@ impl Document {
|
|||
#[cfg(feature = "webgpu")]
|
||||
webgpu_contexts: Rc::new(RefCell::new(HashMapTracedValues::new())),
|
||||
selection: MutNullableDom::new(None),
|
||||
animation_timeline: if pref!(layout.animations.test.enabled) {
|
||||
animation_timeline: if pref!(layout_animations_test_enabled) {
|
||||
DomRefCell::new(AnimationTimeline::new_for_testing())
|
||||
} else {
|
||||
DomRefCell::new(AnimationTimeline::new())
|
||||
|
@ -3826,7 +3826,7 @@ impl Document {
|
|||
error = true;
|
||||
}
|
||||
|
||||
if pref!(dom.fullscreen.test) {
|
||||
if pref!(dom_fullscreen_test) {
|
||||
// For reftests we just take over the current window,
|
||||
// and don't try to really enter fullscreen.
|
||||
info!("Tests don't really enter fullscreen.");
|
||||
|
@ -4109,7 +4109,7 @@ impl Document {
|
|||
/// An implementation of <https://drafts.csswg.org/web-animations-1/#update-animations-and-send-events>.
|
||||
pub(crate) fn update_animations_and_send_events(&self, can_gc: CanGc) {
|
||||
// Only update the time if it isn't being managed by a test.
|
||||
if !pref!(layout.animations.test.enabled) {
|
||||
if !pref!(layout_animations_test_enabled) {
|
||||
self.animation_timeline.borrow_mut().update();
|
||||
}
|
||||
|
||||
|
|
|
@ -1325,7 +1325,7 @@ impl HTMLMediaElement {
|
|||
.render_poster_frame(image);
|
||||
self.upcast::<Node>().dirty(NodeDamage::OtherNodeDamage);
|
||||
|
||||
if pref!(media.testing.enabled) {
|
||||
if pref!(media_testing_enabled) {
|
||||
self.owner_global()
|
||||
.task_manager()
|
||||
.media_element_task_source()
|
||||
|
|
|
@ -463,7 +463,7 @@ impl FetchResponseListener for ClassicContext {
|
|||
/*
|
||||
let options = unsafe { CompileOptionsWrapper::new(*cx, final_url.as_str(), 1) };
|
||||
|
||||
let can_compile_off_thread = pref!(dom.script.asynch) &&
|
||||
let can_compile_off_thread = pref!(dom_script_asynch) &&
|
||||
unsafe { CanCompileOffThread(*cx, options.ptr as *const _, source_text.len()) };
|
||||
|
||||
if can_compile_off_thread {
|
||||
|
|
|
@ -408,7 +408,7 @@ impl MouseEventMethods<crate::DomTypeHolder> for MouseEvent {
|
|||
// This returns the same result as current gecko.
|
||||
// https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/which
|
||||
fn Which(&self) -> i32 {
|
||||
if pref!(dom.mouse_event.which.enabled) {
|
||||
if pref!(dom_mouse_event_which_enabled) {
|
||||
(self.button.get() + 1) as i32
|
||||
} else {
|
||||
0
|
||||
|
|
|
@ -421,7 +421,7 @@ impl PaintWorkletGlobalScope {
|
|||
.expect("Locking a painter.")
|
||||
.schedule_a_worklet_task(WorkletTask::Paint(task));
|
||||
|
||||
let timeout = pref!(dom.worklet.timeout_ms) as u64;
|
||||
let timeout = pref!(dom_worklet_timeout_ms) as u64;
|
||||
|
||||
receiver
|
||||
.recv_timeout(Duration::from_millis(timeout))
|
||||
|
|
|
@ -301,7 +301,7 @@ pub(crate) fn get_descriptor_permission_state(
|
|||
// and let the user decide to grant the permission or not.
|
||||
let state = if allowed_in_nonsecure_contexts(&permission_name) {
|
||||
PermissionState::Prompt
|
||||
} else if pref!(dom.permissions.testing.allowed_in_nonsecure_contexts) {
|
||||
} else if pref!(dom_permissions_testing_allowed_in_nonsecure_contexts) {
|
||||
PermissionState::Granted
|
||||
} else {
|
||||
globalscope
|
||||
|
|
|
@ -306,7 +306,7 @@ impl ServiceWorkerGlobalScope {
|
|||
|
||||
// Service workers are time limited
|
||||
// https://w3c.github.io/ServiceWorker/#service-worker-lifetime
|
||||
let sw_lifetime_timeout = pref!(dom.serviceworker.timeout_seconds) as u64;
|
||||
let sw_lifetime_timeout = pref!(dom_serviceworker_timeout_seconds) as u64;
|
||||
let time_out_port = after(Duration::new(sw_lifetime_timeout, 0));
|
||||
|
||||
let (devtools_mpsc_chan, devtools_mpsc_port) = unbounded();
|
||||
|
|
|
@ -158,7 +158,7 @@ impl ServoParser {
|
|||
url: ServoUrl,
|
||||
can_gc: CanGc,
|
||||
) {
|
||||
let parser = if pref!(dom.servoparser.async_html_tokenizer.enabled) {
|
||||
let parser = if pref!(dom_servoparser_async_html_tokenizer_enabled) {
|
||||
ServoParser::new(
|
||||
document,
|
||||
Tokenizer::AsyncHtml(self::async_html::Tokenizer::new(document, url, None)),
|
||||
|
|
|
@ -880,17 +880,18 @@ impl TestBindingMethods<crate::DomTypeHolder> for TestBinding {
|
|||
fn PassVariadicAny(&self, _: SafeJSContext, _: Vec<HandleValue>) {}
|
||||
fn PassVariadicObject(&self, _: SafeJSContext, _: Vec<*mut JSObject>) {}
|
||||
fn BooleanMozPreference(&self, pref_name: DOMString) -> bool {
|
||||
prefs::pref_map()
|
||||
.get(pref_name.as_ref())
|
||||
.as_bool()
|
||||
prefs::get()
|
||||
.get_value(pref_name.as_ref())
|
||||
.try_into()
|
||||
.unwrap_or(false)
|
||||
}
|
||||
fn StringMozPreference(&self, pref_name: DOMString) -> DOMString {
|
||||
prefs::pref_map()
|
||||
.get(pref_name.as_ref())
|
||||
.as_str()
|
||||
.map(DOMString::from)
|
||||
.unwrap_or_default()
|
||||
DOMString::from_string(
|
||||
prefs::get()
|
||||
.get_value(pref_name.as_ref())
|
||||
.try_into()
|
||||
.unwrap_or_default(),
|
||||
)
|
||||
}
|
||||
fn PrefControlledAttributeDisabled(&self) -> bool {
|
||||
false
|
||||
|
|
|
@ -198,7 +198,7 @@ impl WebGL2RenderingContext {
|
|||
|
||||
#[allow(unsafe_code)]
|
||||
pub(crate) fn is_webgl2_enabled(_cx: JSContext, global: HandleObject) -> bool {
|
||||
if pref!(dom.webgl2.enabled) {
|
||||
if pref!(dom_webgl2_enabled) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -222,7 +222,7 @@ impl WebGLRenderingContext {
|
|||
size: Size2D<u32>,
|
||||
attrs: GLContextAttributes,
|
||||
) -> Result<WebGLRenderingContext, String> {
|
||||
if pref!(webgl.testing.context_creation_error) {
|
||||
if pref!(webgl_testing_context_creation_error) {
|
||||
return Err("WebGL context creation error forced by pref `webgl.testing.context_creation_error`".into());
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://dom.spec.whatwg.org/#interface-abortcontroller
|
||||
[Exposed=*, Pref="dom.abort_controller.enabled"]
|
||||
[Exposed=*, Pref="dom_abort_controller_enabled"]
|
||||
interface AbortController {
|
||||
constructor();
|
||||
|
||||
|
|
|
@ -7,9 +7,9 @@
|
|||
// web pages.
|
||||
[Exposed=(Window,Worker)]
|
||||
interface mixin ActivatableElement {
|
||||
[Throws, Pref="dom.testing.element.activation.enabled"]
|
||||
[Throws, Pref="dom_testing_element_activation_enabled"]
|
||||
undefined enterFormalActivationState();
|
||||
|
||||
[Throws, Pref="dom.testing.element.activation.enabled"]
|
||||
[Throws, Pref="dom_testing_element_activation_enabled"]
|
||||
undefined exitFormalActivationState();
|
||||
};
|
||||
|
|
|
@ -25,7 +25,7 @@ dictionary RequestDeviceOptions {
|
|||
boolean acceptAllDevices = false;
|
||||
};
|
||||
|
||||
[Exposed=Window, Pref="dom.bluetooth.enabled"]
|
||||
[Exposed=Window, Pref="dom_bluetooth_enabled"]
|
||||
interface Bluetooth : EventTarget {
|
||||
[SecureContext]
|
||||
Promise<boolean> getAvailability();
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
interface BluetoothServiceDataMap {
|
||||
readonly maplike<UUID, DataView>;
|
||||
};*/
|
||||
[Exposed=Window, Pref="dom.bluetooth.enabled"]
|
||||
[Exposed=Window, Pref="dom_bluetooth_enabled"]
|
||||
interface BluetoothAdvertisingEvent : Event {
|
||||
[Throws] constructor(DOMString type, BluetoothAdvertisingEventInit init);
|
||||
[SameObject]
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://webbluetoothcg.github.io/web-bluetooth/#characteristicproperties
|
||||
|
||||
[Exposed=Window, Pref="dom.bluetooth.enabled"]
|
||||
[Exposed=Window, Pref="dom_bluetooth_enabled"]
|
||||
interface BluetoothCharacteristicProperties {
|
||||
readonly attribute boolean broadcast;
|
||||
readonly attribute boolean read;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://webbluetoothcg.github.io/web-bluetooth/#bluetoothdevice
|
||||
|
||||
[Exposed=Window, Pref="dom.bluetooth.enabled"]
|
||||
[Exposed=Window, Pref="dom_bluetooth_enabled"]
|
||||
interface BluetoothDevice : EventTarget {
|
||||
readonly attribute DOMString id;
|
||||
readonly attribute DOMString? name;
|
||||
|
|
|
@ -12,7 +12,7 @@ dictionary BluetoothPermissionDescriptor : PermissionDescriptor {
|
|||
boolean acceptAllDevices = false;
|
||||
};
|
||||
|
||||
[Exposed=Window, Pref="dom.bluetooth.enabled"]
|
||||
[Exposed=Window, Pref="dom_bluetooth_enabled"]
|
||||
interface BluetoothPermissionResult : PermissionStatus {
|
||||
// attribute FrozenArray<BluetoothDevice> devices;
|
||||
// Workaround until FrozenArray get implemented.
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://webbluetoothcg.github.io/web-bluetooth/#bluetoothremotegattcharacteristic
|
||||
|
||||
[Exposed=Window, Pref="dom.bluetooth.enabled"]
|
||||
[Exposed=Window, Pref="dom_bluetooth_enabled"]
|
||||
interface BluetoothRemoteGATTCharacteristic : EventTarget {
|
||||
[SameObject]
|
||||
readonly attribute BluetoothRemoteGATTService service;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// http://webbluetoothcg.github.io/web-bluetooth/#bluetoothremotegattdescriptor
|
||||
|
||||
[Exposed=Window, Pref="dom.bluetooth.enabled"]
|
||||
[Exposed=Window, Pref="dom_bluetooth_enabled"]
|
||||
interface BluetoothRemoteGATTDescriptor {
|
||||
[SameObject]
|
||||
readonly attribute BluetoothRemoteGATTCharacteristic characteristic;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
//https://webbluetoothcg.github.io/web-bluetooth/#bluetoothremotegattserver
|
||||
|
||||
[Exposed=Window, Pref="dom.bluetooth.enabled"]
|
||||
[Exposed=Window, Pref="dom_bluetooth_enabled"]
|
||||
interface BluetoothRemoteGATTServer {
|
||||
[SameObject]
|
||||
readonly attribute BluetoothDevice device;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://webbluetoothcg.github.io/web-bluetooth/#bluetoothremotegattservice
|
||||
|
||||
[Exposed=Window, Pref="dom.bluetooth.enabled"]
|
||||
[Exposed=Window, Pref="dom_bluetooth_enabled"]
|
||||
interface BluetoothRemoteGATTService : EventTarget {
|
||||
[SameObject]
|
||||
readonly attribute BluetoothDevice device;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://webbluetoothcg.github.io/web-bluetooth/#bluetoothuuid
|
||||
|
||||
[Exposed=Window, Pref="dom.bluetooth.enabled"]
|
||||
[Exposed=Window, Pref="dom_bluetooth_enabled"]
|
||||
interface BluetoothUUID {
|
||||
[Throws]
|
||||
static UUID getService(BluetoothServiceUUID name);
|
||||
|
|
|
@ -20,5 +20,5 @@ partial interface CSS {
|
|||
|
||||
// https://drafts.css-houdini.org/css-paint-api-1/#paint-worklet
|
||||
partial interface CSS {
|
||||
[SameObject, Pref="dom.worklet.enabled"] static readonly attribute Worklet paintWorklet;
|
||||
[SameObject, Pref="dom_worklet_enabled"] static readonly attribute Worklet paintWorklet;
|
||||
};
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#cssstylevalue
|
||||
// NOTE: should this be exposed to Window?
|
||||
[Pref="dom.worklet.enabled", Exposed=(Worklet)]
|
||||
[Pref="dom_worklet_enabled", Exposed=(Worklet)]
|
||||
interface CSSStyleValue {
|
||||
stringifier;
|
||||
};
|
||||
|
|
|
@ -139,12 +139,12 @@ interface mixin CanvasUserInterface {
|
|||
|
||||
interface mixin CanvasText {
|
||||
// text (see also the CanvasPathDrawingStyles and CanvasTextDrawingStyles interfaces)
|
||||
[Pref="dom.canvas_text.enabled"]
|
||||
[Pref="dom_canvas_text_enabled"]
|
||||
undefined fillText(DOMString text, unrestricted double x, unrestricted double y,
|
||||
optional unrestricted double maxWidth);
|
||||
//void strokeText(DOMString text, unrestricted double x, unrestricted double y,
|
||||
// optional unrestricted double maxWidth);
|
||||
[Pref="dom.canvas_text.enabled"]
|
||||
[Pref="dom_canvas_text_enabled"]
|
||||
TextMetrics measureText(DOMString text);
|
||||
};
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://w3c.github.io/ServiceWorker/#client
|
||||
|
||||
[Pref="dom.serviceworker.enabled", Exposed=ServiceWorker]
|
||||
[Pref="dom_serviceworker_enabled", Exposed=ServiceWorker]
|
||||
interface Client {
|
||||
readonly attribute USVString url;
|
||||
readonly attribute FrameType frameType;
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
*/
|
||||
|
||||
// https://w3c.github.io/uievents/#idl-compositionevent
|
||||
[Exposed=Window, Pref="dom.composition_event.enabled"]
|
||||
[Exposed=Window, Pref="dom_composition_event_enabled"]
|
||||
interface CompositionEvent : UIEvent {
|
||||
[Throws] constructor(DOMString type, optional CompositionEventInit eventInitDict = {});
|
||||
readonly attribute DOMString data;
|
||||
|
|
|
@ -13,7 +13,7 @@ partial interface mixin WindowOrWorkerGlobalScope {
|
|||
|
||||
[Exposed=(Window,Worker)]
|
||||
interface Crypto {
|
||||
[SecureContext, Pref="dom.crypto.subtle.enabled"] readonly attribute SubtleCrypto subtle;
|
||||
[SecureContext, Pref="dom_crypto_subtle_enabled"] readonly attribute SubtleCrypto subtle;
|
||||
[Throws] ArrayBufferView getRandomValues(ArrayBufferView array);
|
||||
[SecureContext] DOMString randomUUID();
|
||||
};
|
||||
|
|
|
@ -8,7 +8,7 @@ enum KeyType { "public", "private", "secret" };
|
|||
|
||||
enum KeyUsage { "encrypt", "decrypt", "sign", "verify", "deriveKey", "deriveBits", "wrapKey", "unwrapKey" };
|
||||
|
||||
[SecureContext, Exposed=(Window,Worker), Serializable, Pref="dom.crypto.subtle.enabled"]
|
||||
[SecureContext, Exposed=(Window,Worker), Serializable, Pref="dom_crypto_subtle_enabled"]
|
||||
interface CryptoKey {
|
||||
readonly attribute KeyType type;
|
||||
readonly attribute boolean extractable;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#customelementregistry
|
||||
[Exposed=Window, Pref="dom.custom_elements.enabled"]
|
||||
[Exposed=Window, Pref="dom_customelements_enabled"]
|
||||
interface CustomElementRegistry {
|
||||
[Throws, CEReactions]
|
||||
undefined define(
|
||||
|
|
|
@ -83,7 +83,7 @@ interface Element : Node {
|
|||
[CEReactions, Throws]
|
||||
undefined insertAdjacentHTML(DOMString position, DOMString html);
|
||||
|
||||
[Throws, Pref="dom.shadowdom.enabled"] ShadowRoot attachShadow(ShadowRootInit init);
|
||||
[Throws, Pref="dom_shadowdom_enabled"] ShadowRoot attachShadow(ShadowRootInit init);
|
||||
readonly attribute ShadowRoot? shadowRoot;
|
||||
};
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// https://w3c.github.io/ServiceWorker/#extendable-event
|
||||
|
||||
[Exposed=ServiceWorker,
|
||||
Pref="dom.serviceworker.enabled"]
|
||||
Pref="dom_serviceworker_enabled"]
|
||||
interface ExtendableEvent : Event {
|
||||
[Throws] constructor(DOMString type,
|
||||
optional ExtendableEventInit eventInitDict = {});
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// https://w3c.github.io/ServiceWorker/#extendablemessage-event-section
|
||||
|
||||
[Exposed=ServiceWorker,
|
||||
Pref="dom.serviceworker.enabled"]
|
||||
Pref="dom_serviceworker_enabled"]
|
||||
interface ExtendableMessageEvent : ExtendableEvent {
|
||||
[Throws] constructor(DOMString type, optional ExtendableMessageEventInit eventInitDict = {});
|
||||
readonly attribute any data;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
// https://github.com/immersive-web/webxr-test-api/
|
||||
|
||||
[Exposed=Window, Pref="dom.webxr.test"]
|
||||
[Exposed=Window, Pref="dom_webxr_test"]
|
||||
interface FakeXRDevice {
|
||||
// Sets the values to be used for subsequent requestAnimationFrame() callbacks.
|
||||
[Throws] undefined setViews(sequence<FakeXRViewInit> views, optional sequence<FakeXRViewInit> secondaryViews);
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
// https://immersive-web.github.io/webxr-test-api/#fakexrinputcontroller
|
||||
|
||||
[Exposed=Window, Pref="dom.webxr.test"]
|
||||
[Exposed=Window, Pref="dom_webxr_test"]
|
||||
interface FakeXRInputController {
|
||||
undefined setHandedness(XRHandedness handedness);
|
||||
undefined setTargetRayMode(XRTargetRayMode targetRayMode);
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#htmlcanvaselement
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUCanvasContext {
|
||||
readonly attribute (HTMLCanvasElement or OffscreenCanvas) canvas;
|
||||
};
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://w3c.github.io/gamepad/#gamepad-interface
|
||||
[Exposed=Window, Pref="dom.gamepad.enabled"]
|
||||
[Exposed=Window, Pref="dom_gamepad_enabled"]
|
||||
interface Gamepad {
|
||||
readonly attribute DOMString id;
|
||||
readonly attribute long index;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://w3c.github.io/gamepad/#gamepadbutton-interface
|
||||
[Exposed=Window, Pref="dom.gamepad.enabled"]
|
||||
[Exposed=Window, Pref="dom_gamepad_enabled"]
|
||||
interface GamepadButton {
|
||||
readonly attribute boolean pressed;
|
||||
readonly attribute boolean touched;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://w3c.github.io/gamepad/#dom-gamepad-buttons
|
||||
[Exposed=Window, Pref="dom.gamepad.enabled"]
|
||||
[Exposed=Window, Pref="dom_gamepad_enabled"]
|
||||
interface GamepadButtonList {
|
||||
getter GamepadButton? item(unsigned long index);
|
||||
readonly attribute unsigned long length;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://w3c.github.io/gamepad/#gamepadevent-interface
|
||||
[Exposed=Window, Pref="dom.gamepad.enabled"]
|
||||
[Exposed=Window, Pref="dom_gamepad_enabled"]
|
||||
interface GamepadEvent : Event {
|
||||
[Throws] constructor(DOMString type, GamepadEventInit eventInitDict);
|
||||
readonly attribute Gamepad gamepad;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://w3c.github.io/gamepad/#gamepadhapticactuator-interface
|
||||
[Exposed=Window, Pref="dom.gamepad.enabled"]
|
||||
[Exposed=Window, Pref="dom_gamepad_enabled"]
|
||||
interface GamepadHapticActuator {
|
||||
/* [SameObject] */ readonly attribute /* FrozenArray<GamepadHapticEffectType> */ any effects;
|
||||
[NewObject]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://w3c.github.io/gamepad/extensions.html#gamepadpose-interface
|
||||
[Exposed=Window, Pref="dom.gamepad.enabled"]
|
||||
[Exposed=Window, Pref="dom_gamepad_enabled"]
|
||||
interface GamepadPose {
|
||||
readonly attribute boolean hasOrientation;
|
||||
readonly attribute boolean hasPosition;
|
||||
|
|
|
@ -29,7 +29,7 @@ interface HTMLCanvasElement : HTMLElement {
|
|||
};
|
||||
|
||||
partial interface HTMLCanvasElement {
|
||||
[Pref="dom.canvas_capture.enabled"]
|
||||
[Pref="dom_canvas_capture_enabled"]
|
||||
MediaStream captureStream (optional double frameRequestRate);
|
||||
};
|
||||
|
||||
|
|
|
@ -24,9 +24,9 @@ interface HTMLElement : Element {
|
|||
// attribute DOMString itemId;
|
||||
//readonly attribute HTMLPropertiesCollection properties;
|
||||
// attribute any itemValue; // acts as DOMString on setting
|
||||
[Pref="dom.microdata.testing.enabled"]
|
||||
[Pref="dom_microdata_testing_enabled"]
|
||||
sequence<DOMString>? propertyNames();
|
||||
[Pref="dom.microdata.testing.enabled"]
|
||||
[Pref="dom_microdata_testing_enabled"]
|
||||
sequence<DOMString>? itemtypes();
|
||||
|
||||
// user interaction
|
||||
|
|
|
@ -109,7 +109,7 @@ interface HTMLInputElement : HTMLElement {
|
|||
// also has obsolete members
|
||||
|
||||
// Select with file-system paths for testing purpose
|
||||
[Pref="dom.testing.htmlinputelement.select_files.enabled"]
|
||||
[Pref="dom_testing_html_input_element_select_files_enabled"]
|
||||
undefined selectFiles(sequence<DOMString> path);
|
||||
};
|
||||
|
||||
|
|
|
@ -17,6 +17,6 @@ interface HTMLVideoElement : HTMLMediaElement {
|
|||
};
|
||||
|
||||
partial interface HTMLVideoElement {
|
||||
[Pref="media.testing.enabled"]
|
||||
[Pref="media_testing_enabled"]
|
||||
attribute EventHandler onpostershown;
|
||||
};
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
*/
|
||||
|
||||
//[Exposed=(Window,Worker), Serializable, Transferable]
|
||||
[Exposed=(Window,Worker), Pref="dom.imagebitmap.enabled"]
|
||||
[Exposed=(Window,Worker), Pref="dom_imagebitmap_enabled"]
|
||||
interface ImageBitmap {
|
||||
readonly attribute unsigned long width;
|
||||
readonly attribute unsigned long height;
|
||||
|
|
|
@ -16,7 +16,7 @@ dictionary IntersectionObserverInit {
|
|||
boolean trackVisibility = false;
|
||||
};
|
||||
|
||||
[Pref="dom.intersection_observer.enabled", Exposed=(Window)]
|
||||
[Pref="dom_intersection_observer_enabled", Exposed=(Window)]
|
||||
interface IntersectionObserver {
|
||||
constructor(IntersectionObserverCallback callback, optional IntersectionObserverInit options = {});
|
||||
readonly attribute (Element or Document)? root;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://w3c.github.io/IntersectionObserver/#intersection-observer-entry
|
||||
|
||||
[Pref="dom.intersection_observer.enabled", Exposed=(Window)]
|
||||
[Pref="dom_intersection_observer_enabled", Exposed=(Window)]
|
||||
interface IntersectionObserverEntry {
|
||||
constructor(IntersectionObserverEntryInit intersectionObserverEntryInit);
|
||||
readonly attribute DOMHighResTimeStamp time;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// https://w3c.github.io/mediacapture-main/#device-info
|
||||
|
||||
[Exposed=Window,
|
||||
SecureContext, Pref="dom.webrtc.enabled"]
|
||||
SecureContext, Pref="dom_webrtc_enabled"]
|
||||
interface MediaDeviceInfo {
|
||||
readonly attribute DOMString deviceId;
|
||||
readonly attribute MediaDeviceKind kind;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// https://w3c.github.io/mediacapture-main/#dom-mediadevices
|
||||
|
||||
[Exposed=Window,
|
||||
SecureContext, Pref="dom.webrtc.enabled"]
|
||||
SecureContext, Pref="dom_webrtc_enabled"]
|
||||
interface MediaDevices : EventTarget {
|
||||
// attribute EventHandler ondevicechange;
|
||||
Promise<sequence<MediaDeviceInfo>> enumerateDevices();
|
||||
|
@ -13,7 +13,7 @@ interface MediaDevices : EventTarget {
|
|||
|
||||
partial interface Navigator {
|
||||
// [SameObject, SecureContext]
|
||||
[Pref="dom.webrtc.enabled"] readonly attribute MediaDevices mediaDevices;
|
||||
[Pref="dom_webrtc_enabled"] readonly attribute MediaDevices mediaDevices;
|
||||
};
|
||||
|
||||
partial interface MediaDevices {
|
||||
|
|
|
@ -26,7 +26,7 @@ interface MouseEvent : UIEvent {
|
|||
readonly attribute unsigned short buttons;
|
||||
//boolean getModifierState (DOMString keyArg);
|
||||
|
||||
[Pref="dom.mouseevent.which.enabled"]
|
||||
[Pref="dom_mouse_event_which_enabled"]
|
||||
readonly attribute long which;
|
||||
};
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
*/
|
||||
|
||||
// https://dom.spec.whatwg.org/#mutationobserver
|
||||
[Exposed=Window, Pref="dom.mutation_observer.enabled"]
|
||||
[Exposed=Window, Pref="dom_mutation_observer_enabled"]
|
||||
interface MutationObserver {
|
||||
[Throws] constructor(MutationCallback callback);
|
||||
[Throws]
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
*/
|
||||
|
||||
// https://dom.spec.whatwg.org/#mutationrecord
|
||||
[Pref="dom.mutation_observer.enabled", Exposed=Window]
|
||||
[Pref="dom_mutation_observer_enabled", Exposed=Window]
|
||||
interface MutationRecord {
|
||||
readonly attribute DOMString type;
|
||||
[SameObject]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://w3c.github.io/ServiceWorker/#navigation-preload-manager
|
||||
[Pref="dom.serviceworker.enabled", SecureContext, Exposed=(Window,Worker)]
|
||||
[Pref="dom_serviceworker_enabled", SecureContext, Exposed=(Window,Worker)]
|
||||
interface NavigationPreloadManager {
|
||||
Promise<undefined> enable();
|
||||
Promise<undefined> disable();
|
||||
|
|
|
@ -33,12 +33,12 @@ interface mixin NavigatorID {
|
|||
|
||||
// https://webbluetoothcg.github.io/web-bluetooth/#navigator-extensions
|
||||
partial interface Navigator {
|
||||
[SameObject, Pref="dom.bluetooth.enabled"] readonly attribute Bluetooth bluetooth;
|
||||
[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;
|
||||
[SameObject, Pref="dom_serviceworker_enabled"] readonly attribute ServiceWorkerContainer serviceWorker;
|
||||
};
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#navigatorlanguage
|
||||
|
@ -63,12 +63,12 @@ interface mixin NavigatorCookies {
|
|||
// https://w3c.github.io/permissions/#navigator-and-workernavigator-extension
|
||||
[Exposed=(Window)]
|
||||
partial interface Navigator {
|
||||
[Pref="dom.permissions.enabled"] readonly attribute Permissions permissions;
|
||||
[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();
|
||||
[Pref="dom_gamepad_enabled"] sequence<Gamepad?> getGamepads();
|
||||
};
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#navigatorconcurrenthardware
|
||||
|
|
|
@ -13,7 +13,7 @@ dictionary ImageEncodeOptions {
|
|||
|
||||
//enum OffscreenRenderingContextId { "2d", "webgl", "webgl2" };
|
||||
|
||||
[Exposed=(Window,Worker)/*, Transferable*/, Pref="dom.offscreen_canvas.enabled"]
|
||||
[Exposed=(Window,Worker)/*, Transferable*/, Pref="dom_offscreen_canvas_enabled"]
|
||||
interface OffscreenCanvas : EventTarget {
|
||||
[Throws] constructor([EnforceRange] unsigned long long width, [EnforceRange] unsigned long long height);
|
||||
attribute [EnforceRange] unsigned long long width;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#the-offscreen-2d-rendering-context
|
||||
[Exposed=(Window,Worker), Pref="dom.offscreen_canvas.enabled"]
|
||||
[Exposed=(Window,Worker), Pref="dom_offscreen_canvas_enabled"]
|
||||
interface OffscreenCanvasRenderingContext2D {
|
||||
//void commit();
|
||||
readonly attribute OffscreenCanvas canvas;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://drafts.css-houdini.org/css-paint-api/#paintrenderingcontext2d
|
||||
[Pref="dom.worklet.enabled", Exposed=PaintWorklet]
|
||||
[Pref="dom_worklet_enabled", Exposed=PaintWorklet]
|
||||
interface PaintRenderingContext2D {
|
||||
};
|
||||
PaintRenderingContext2D includes CanvasState;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://drafts.css-houdini.org/css-paint-api/#paintsize
|
||||
[Pref="dom.worklet.enabled", Exposed=PaintWorklet]
|
||||
[Pref="dom_worklet_enabled", Exposed=PaintWorklet]
|
||||
interface PaintSize {
|
||||
readonly attribute double width;
|
||||
readonly attribute double height;
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://drafts.css-houdini.org/css-paint-api/#paintworkletglobalscope
|
||||
[Global=(Worklet,PaintWorklet), Pref="dom.worklet.enabled", Exposed=PaintWorklet]
|
||||
[Global=(Worklet,PaintWorklet), Pref="dom_worklet_enabled", Exposed=PaintWorklet]
|
||||
interface PaintWorkletGlobalScope : WorkletGlobalScope {
|
||||
[Throws] undefined registerPaint(DOMString name, VoidFunction paintCtor);
|
||||
// This function is to be used only for testing, and should not be
|
||||
// accessible outside of that use.
|
||||
[Pref="dom.worklet.blockingsleep.enabled"]
|
||||
[Pref="dom_worklet_blockingsleep_enabled"]
|
||||
undefined sleep(unsigned long long ms);
|
||||
};
|
||||
|
|
|
@ -27,6 +27,6 @@ interface PerformanceNavigationTiming : PerformanceResourceTiming {
|
|||
readonly attribute unsigned short redirectCount;
|
||||
[Default] object toJSON();
|
||||
/* Servo-only attribute for measuring when the top-level document (not iframes) is complete. */
|
||||
[Pref="dom.testperf.enabled"]
|
||||
[Pref="dom_testperf_enabled"]
|
||||
readonly attribute DOMHighResTimeStamp topLevelDomComplete;
|
||||
};
|
||||
|
|
|
@ -28,7 +28,7 @@ enum PermissionName {
|
|||
"persistent-storage",
|
||||
};
|
||||
|
||||
[Pref="dom.permissions.enabled", Exposed=(Window,Worker)]
|
||||
[Pref="dom_permissions_enabled", Exposed=(Window,Worker)]
|
||||
interface PermissionStatus : EventTarget {
|
||||
readonly attribute PermissionState state;
|
||||
attribute EventHandler onchange;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://w3c.github.io/permissions/#permissions-interface
|
||||
|
||||
[Pref="dom.permissions.enabled", Exposed=(Window,Worker)]
|
||||
[Pref="dom_permissions_enabled", Exposed=(Window,Worker)]
|
||||
interface Permissions {
|
||||
Promise<PermissionStatus> query(object permissionDesc);
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://w3c.github.io/webrtc-pc/#dom-rtcdatachannel
|
||||
|
||||
[Exposed=Window, Pref="dom.webrtc.enabled"]
|
||||
[Exposed=Window, Pref="dom_webrtc_enabled"]
|
||||
interface RTCDataChannel : EventTarget {
|
||||
readonly attribute USVString label;
|
||||
readonly attribute boolean ordered;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://w3c.github.io/webrtc-pc/#dom-rtcdatachannelevent
|
||||
|
||||
[Exposed=Window, Pref="dom.webrtc.enabled"]
|
||||
[Exposed=Window, Pref="dom_webrtc_enabled"]
|
||||
interface RTCDataChannelEvent : Event {
|
||||
constructor(DOMString type, RTCDataChannelEventInit eventInitDict);
|
||||
readonly attribute RTCDataChannel channel;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://w3c.github.io/webrtc-pc/#dom-rtcerror
|
||||
|
||||
[Exposed=Window, Pref="dom.webrtc.enabled"]
|
||||
[Exposed=Window, Pref="dom_webrtc_enabled"]
|
||||
interface RTCError : DOMException {
|
||||
constructor(RTCErrorInit init, optional DOMString message = "");
|
||||
readonly attribute RTCErrorDetailType errorDetail;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://w3c.github.io/webrtc-pc/#dom-rtcerrorevent
|
||||
|
||||
[Exposed=Window, Pref="dom.webrtc.enabled"]
|
||||
[Exposed=Window, Pref="dom_webrtc_enabled"]
|
||||
interface RTCErrorEvent : Event {
|
||||
constructor(DOMString type, RTCErrorEventInit eventInitDict);
|
||||
[SameObject] readonly attribute RTCError error;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// https://w3c.github.io/webrtc-pc/#rtcicecandidate-interface
|
||||
|
||||
|
||||
[Exposed=Window, Pref="dom.webrtc.enabled"]
|
||||
[Exposed=Window, Pref="dom_webrtc_enabled"]
|
||||
interface RTCIceCandidate {
|
||||
[Throws] constructor(optional RTCIceCandidateInit candidateInitDict = {});
|
||||
readonly attribute DOMString candidate;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://w3c.github.io/webrtc-pc/#interface-definition
|
||||
|
||||
[Exposed=Window, Pref="dom.webrtc.enabled"]
|
||||
[Exposed=Window, Pref="dom_webrtc_enabled"]
|
||||
interface RTCPeerConnection : EventTarget {
|
||||
[Throws] constructor(optional RTCConfiguration configuration = {});
|
||||
Promise<RTCSessionDescriptionInit> createOffer(optional RTCOfferOptions options = {});
|
||||
|
@ -138,7 +138,7 @@ partial interface RTCPeerConnection {
|
|||
// RTCRtpSender addTrack(MediaStreamTrack track,
|
||||
// MediaStream... streams);
|
||||
// void removeTrack(RTCRtpSender sender);
|
||||
[Pref="dom.webrtc.transceiver.enabled"]
|
||||
[Pref="dom_webrtc_transceiver_enabled"]
|
||||
RTCRtpTransceiver addTransceiver((MediaStreamTrack or DOMString) trackOrKind,
|
||||
optional RTCRtpTransceiverInit init = {});
|
||||
attribute EventHandler ontrack;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://w3c.github.io/webrtc-pc/#rtcpeerconnectioniceevent
|
||||
|
||||
[Exposed=Window, Pref="dom.webrtc.enabled"]
|
||||
[Exposed=Window, Pref="dom_webrtc_enabled"]
|
||||
interface RTCPeerConnectionIceEvent : Event {
|
||||
[Throws] constructor(DOMString type, optional RTCPeerConnectionIceEventInit eventInitDict = {});
|
||||
readonly attribute RTCIceCandidate? candidate;
|
||||
|
|
|
@ -34,7 +34,7 @@ dictionary RTCRtpSendParameters : RTCRtpParameters {
|
|||
required sequence<RTCRtpEncodingParameters> encodings;
|
||||
};
|
||||
|
||||
[Exposed=Window, Pref="dom.webrtc.transceiver.enabled"]
|
||||
[Exposed=Window, Pref="dom_webrtc_transceiver_enabled"]
|
||||
interface RTCRtpSender {
|
||||
//readonly attribute MediaStreamTrack? track;
|
||||
//readonly attribute RTCDtlsTransport? transport;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://w3c.github.io/webrtc-pc/#rtcrtptransceiver-interface
|
||||
|
||||
[Exposed=Window, Pref="dom.webrtc.transceiver.enabled"]
|
||||
[Exposed=Window, Pref="dom_webrtc_transceiver_enabled"]
|
||||
interface RTCRtpTransceiver {
|
||||
//readonly attribute DOMString? mid;
|
||||
[SameObject] readonly attribute RTCRtpSender sender;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://w3c.github.io/webrtc-pc/#rtcsessiondescription-class
|
||||
|
||||
[Exposed=Window, Pref="dom.webrtc.enabled"]
|
||||
[Exposed=Window, Pref="dom_webrtc_enabled"]
|
||||
interface RTCSessionDescription {
|
||||
[Throws] constructor(RTCSessionDescriptionInit descriptionInitDict);
|
||||
readonly attribute RTCSdpType type;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://w3c.github.io/webrtc-pc/#dom-rtctrackevent
|
||||
|
||||
[Exposed=Window, Pref="dom.webrtc.enabled"]
|
||||
[Exposed=Window, Pref="dom_webrtc_enabled"]
|
||||
interface RTCTrackEvent : Event {
|
||||
[Throws] constructor(DOMString type, RTCTrackEventInit eventInitDict);
|
||||
// readonly attribute RTCRtpReceiver receiver;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://drafts.csswg.org/resize-observer/#resize-observer-interface
|
||||
|
||||
[Pref="dom.resize_observer.enabled", Exposed=(Window)]
|
||||
[Pref="dom_resize_observer_enabled", Exposed=(Window)]
|
||||
interface ResizeObserver {
|
||||
constructor(ResizeObserverCallback callback);
|
||||
undefined observe(Element target, optional ResizeObserverOptions options = {});
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://drafts.csswg.org/resize-observer/#resize-observer-entry-interface
|
||||
|
||||
[Pref="dom.resize_observer.enabled", Exposed=Window]
|
||||
[Pref="dom_resize_observer_enabled", Exposed=Window]
|
||||
interface ResizeObserverEntry {
|
||||
readonly attribute Element target;
|
||||
readonly attribute DOMRectReadOnly contentRect;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://drafts.csswg.org/resize-observer/#resizeobserversize
|
||||
|
||||
[Pref="dom.resize_observer.enabled", Exposed=Window]
|
||||
[Pref="dom_resize_observer_enabled", Exposed=Window]
|
||||
interface ResizeObserverSize {
|
||||
readonly attribute unrestricted double inlineSize;
|
||||
readonly attribute unrestricted double blockSize;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://svgwg.org/svg2-draft/types.html#InterfaceSVGElement
|
||||
[Exposed=Window, Pref="dom.svg.enabled"]
|
||||
[Exposed=Window, Pref="dom_svg_enabled"]
|
||||
interface SVGElement : Element {
|
||||
|
||||
//[SameObject] readonly attribute SVGAnimatedString className;
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
// boolean clipped = false;
|
||||
//};
|
||||
|
||||
[Exposed=Window, Abstract, Pref="dom.svg.enabled"]
|
||||
[Exposed=Window, Abstract, Pref="dom_svg_enabled"]
|
||||
interface SVGGraphicsElement : SVGElement {
|
||||
//[SameObject] readonly attribute SVGAnimatedTransformList transform;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://svgwg.org/svg2-draft/struct.html#InterfaceSVGSVGElement
|
||||
[Exposed=Window, Pref="dom.svg.enabled"]
|
||||
[Exposed=Window, Pref="dom_svg_enabled"]
|
||||
interface SVGSVGElement : SVGGraphicsElement {
|
||||
|
||||
//[SameObject] readonly attribute SVGAnimatedLength x;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://w3c.github.io/ServiceWorker/#serviceworker-interface
|
||||
[Pref="dom.serviceworker.enabled", SecureContext, Exposed=(Window,Worker)]
|
||||
[Pref="dom_serviceworker_enabled", SecureContext, Exposed=(Window,Worker)]
|
||||
interface ServiceWorker : EventTarget {
|
||||
readonly attribute USVString scriptURL;
|
||||
readonly attribute ServiceWorkerState state;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://w3c.github.io/ServiceWorker/#serviceworkercontainer-interface
|
||||
[Pref="dom.serviceworker.enabled", Exposed=(Window,Worker)]
|
||||
[Pref="dom_serviceworker_enabled", Exposed=(Window,Worker)]
|
||||
interface ServiceWorkerContainer : EventTarget {
|
||||
readonly attribute ServiceWorker? controller;
|
||||
//readonly attribute Promise<ServiceWorkerRegistration> ready;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// https://w3c.github.io/ServiceWorker/#serviceworkerglobalscope
|
||||
|
||||
[Global=(Worker,ServiceWorker), Exposed=ServiceWorker,
|
||||
Pref="dom.serviceworker.enabled"]
|
||||
Pref="dom_serviceworker_enabled"]
|
||||
interface ServiceWorkerGlobalScope : WorkerGlobalScope {
|
||||
// A container for a list of Client objects that correspond to
|
||||
// browsing contexts (or shared workers) that are on the origin of this SW
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://w3c.github.io/ServiceWorker/#serviceworkerregistration-interface
|
||||
[Pref="dom.serviceworker.enabled", SecureContext, Exposed=(Window,Worker)]
|
||||
[Pref="dom_serviceworker_enabled", SecureContext, Exposed=(Window,Worker)]
|
||||
interface ServiceWorkerRegistration : EventTarget {
|
||||
readonly attribute ServiceWorker? installing;
|
||||
readonly attribute ServiceWorker? waiting;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// https://drafts.css-houdini.org/css-typed-om-1/#stylepropertymapreadonly
|
||||
// NOTE: should this be exposed to Window?
|
||||
[Pref="dom.worklet.enabled", Exposed=(Worklet)]
|
||||
[Pref="dom_worklet_enabled", Exposed=(Worklet)]
|
||||
interface StylePropertyMapReadOnly {
|
||||
CSSStyleValue? get(DOMString property);
|
||||
// sequence<CSSStyleValue> getAll(DOMString property);
|
||||
|
|
|
@ -18,7 +18,7 @@ dictionary KeyAlgorithm {
|
|||
|
||||
enum KeyFormat { "raw", "spki", "pkcs8", "jwk" };
|
||||
|
||||
[SecureContext,Exposed=(Window,Worker),Pref="dom.crypto.subtle.enabled"]
|
||||
[SecureContext,Exposed=(Window,Worker),Pref="dom_crypto_subtle_enabled"]
|
||||
interface SubtleCrypto {
|
||||
Promise<any> encrypt(AlgorithmIdentifier algorithm,
|
||||
CryptoKey key,
|
||||
|
|
|
@ -100,7 +100,7 @@ dictionary TestURLLike {
|
|||
required DOMString href;
|
||||
};
|
||||
|
||||
[Pref="dom.testbinding.enabled",
|
||||
[Pref="dom_testbinding_enabled",
|
||||
Exposed=(Window,Worker)
|
||||
]
|
||||
interface TestBinding {
|
||||
|
@ -516,28 +516,28 @@ interface TestBinding {
|
|||
boolean BooleanMozPreference(DOMString pref_name);
|
||||
DOMString StringMozPreference(DOMString pref_name);
|
||||
|
||||
[Pref="dom.testbinding.prefcontrolled.enabled"]
|
||||
[Pref="dom_testbinding_prefcontrolled_enabled"]
|
||||
readonly attribute boolean prefControlledAttributeDisabled;
|
||||
[Pref="dom.testbinding.prefcontrolled.enabled"]
|
||||
[Pref="dom_testbinding_prefcontrolled_enabled"]
|
||||
static readonly attribute boolean prefControlledStaticAttributeDisabled;
|
||||
[Pref="dom.testbinding.prefcontrolled.enabled"]
|
||||
[Pref="dom_testbinding_prefcontrolled_enabled"]
|
||||
undefined prefControlledMethodDisabled();
|
||||
[Pref="dom.testbinding.prefcontrolled.enabled"]
|
||||
[Pref="dom_testbinding_prefcontrolled_enabled"]
|
||||
static undefined prefControlledStaticMethodDisabled();
|
||||
[Pref="dom.testbinding.prefcontrolled.enabled"]
|
||||
[Pref="dom_testbinding_prefcontrolled_enabled"]
|
||||
const unsigned short prefControlledConstDisabled = 0;
|
||||
[Pref="layout.animations.test.enabled"]
|
||||
[Pref="layout_animations_test_enabled"]
|
||||
undefined advanceClock(long millis);
|
||||
|
||||
[Pref="dom.testbinding.prefcontrolled2.enabled"]
|
||||
[Pref="dom_testbinding_prefcontrolled2_enabled"]
|
||||
readonly attribute boolean prefControlledAttributeEnabled;
|
||||
[Pref="dom.testbinding.prefcontrolled2.enabled"]
|
||||
[Pref="dom_testbinding_prefcontrolled2_enabled"]
|
||||
static readonly attribute boolean prefControlledStaticAttributeEnabled;
|
||||
[Pref="dom.testbinding.prefcontrolled2.enabled"]
|
||||
[Pref="dom_testbinding_prefcontrolled2_enabled"]
|
||||
undefined prefControlledMethodEnabled();
|
||||
[Pref="dom.testbinding.prefcontrolled2.enabled"]
|
||||
[Pref="dom_testbinding_prefcontrolled2_enabled"]
|
||||
static undefined prefControlledStaticMethodEnabled();
|
||||
[Pref="dom.testbinding.prefcontrolled2.enabled"]
|
||||
[Pref="dom_testbinding_prefcontrolled2_enabled"]
|
||||
const unsigned short prefControlledConstEnabled = 0;
|
||||
|
||||
[Func="TestBinding::condition_unsatisfied"]
|
||||
|
@ -609,11 +609,11 @@ callback SimpleCallback = undefined(any value);
|
|||
callback callbackWithOnlyOneOptionalArg = Promise<undefined> (optional any reason);
|
||||
|
||||
partial interface TestBinding {
|
||||
[Pref="dom.testable_crash.enabled"]
|
||||
[Pref="dom_testable_crash_enabled"]
|
||||
undefined crashHard();
|
||||
};
|
||||
|
||||
[Exposed=(Window,Worker), Pref="dom.testbinding.enabled"]
|
||||
[Exposed=(Window,Worker), Pref="dom_testbinding_enabled"]
|
||||
namespace TestNS {
|
||||
const unsigned long ONE = 1;
|
||||
const unsigned long TWO = 0x2;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// This interface is entirely internal to Servo, and should not be accessible to
|
||||
// web pages.
|
||||
|
||||
[Pref="dom.testbinding.enabled", Exposed=(Window,Worker)]
|
||||
[Pref="dom_testbinding_enabled", Exposed=(Window,Worker)]
|
||||
interface TestBindingIterable {
|
||||
[Throws] constructor();
|
||||
undefined add(DOMString arg);
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// This interface is entirely internal to Servo, and should not be accessible to
|
||||
// web pages.
|
||||
|
||||
[Pref="dom.testbinding.enabled", Exposed=(Window,Worker)]
|
||||
[Pref="dom_testbinding_enabled", Exposed=(Window,Worker)]
|
||||
interface TestBindingMaplike {
|
||||
[Throws]
|
||||
constructor();
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// This interface is entirely internal to Servo, and should not be accessible to
|
||||
// web pages.
|
||||
|
||||
[Pref="dom.testbinding.enabled", Exposed=(Window,Worker)]
|
||||
[Pref="dom_testbinding_enabled", Exposed=(Window,Worker)]
|
||||
interface TestBindingPairIterable {
|
||||
[Throws] constructor();
|
||||
undefined add(DOMString key, unsigned long value);
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
// This interface is entirely internal to Servo, and should not be accessible to
|
||||
// web pages.
|
||||
|
||||
[Pref="dom.testbinding.enabled", Exposed=(Window,Worker)]
|
||||
[Pref="dom_testbinding_enabled", Exposed=(Window,Worker)]
|
||||
interface TestBindingProxy : TestBinding {
|
||||
readonly attribute unsigned long length;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// This interface is entirely internal to Servo, and should not be accessible to
|
||||
// web pages.
|
||||
|
||||
[Pref="dom.testbinding.enabled", Exposed=(Window,Worker)]
|
||||
[Pref="dom_testbinding_enabled", Exposed=(Window,Worker)]
|
||||
interface TestBindingSetlike {
|
||||
[Throws]
|
||||
constructor();
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
// callback BluetoothManualChooserEventsCallback = void(sequence<DOMString> events);
|
||||
|
||||
[Pref="dom.bluetooth.testing.enabled", Exposed=Window]
|
||||
[Pref="dom_bluetooth_testing_enabled", Exposed=Window]
|
||||
interface TestRunner {
|
||||
[Throws]
|
||||
undefined setBluetoothMockDataSet(DOMString dataSetName);
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// This interface is entirely internal to Servo, and should not be accessible to
|
||||
// web pages.
|
||||
|
||||
[Pref="dom.worklet.testing.enabled", Exposed=(Window)]
|
||||
[Pref="dom_worklet_testing_enabled", Exposed=(Window)]
|
||||
interface TestWorklet {
|
||||
[Throws] constructor();
|
||||
[NewObject] Promise<undefined> addModule(USVString moduleURL, optional WorkletOptions options = {});
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// This interface is entirely internal to Servo, and should not be accessible to
|
||||
// web pages.
|
||||
|
||||
[Global=(Worklet,TestWorklet), Pref="dom.worklet.enabled", Exposed=TestWorklet]
|
||||
[Global=(Worklet,TestWorklet), Pref="dom_worklet_enabled", Exposed=TestWorklet]
|
||||
interface TestWorkletGlobalScope : WorkletGlobalScope {
|
||||
undefined registerKeyValue(DOMString key, DOMString value);
|
||||
};
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue