diff --git a/components/config/prefs.rs b/components/config/prefs.rs index e1ec7252481c..929a760c0fcc 100644 --- a/components/config/prefs.rs +++ b/components/config/prefs.rs @@ -193,6 +193,9 @@ mod gen { gamepad: { enabled: bool, }, + imagebitmap: { + enabled: bool, + }, microdata: { testing: { enabled: bool, diff --git a/components/script/dom/webidls/ImageBitmap.webidl b/components/script/dom/webidls/ImageBitmap.webidl index ea49061a7568..51c923bfaf4c 100644 --- a/components/script/dom/webidls/ImageBitmap.webidl +++ b/components/script/dom/webidls/ImageBitmap.webidl @@ -10,7 +10,7 @@ */ //[Exposed=(Window,Worker), Serializable, Transferable] -[Exposed=(Window,Worker)] +[Exposed=(Window,Worker), Pref="dom.imagebitmap.enabled"] interface ImageBitmap { readonly attribute unsigned long width; readonly attribute unsigned long height; diff --git a/components/script/dom/webidls/WindowOrWorkerGlobalScope.webidl b/components/script/dom/webidls/WindowOrWorkerGlobalScope.webidl index f348d7cf9003..97b36721f8b7 100644 --- a/components/script/dom/webidls/WindowOrWorkerGlobalScope.webidl +++ b/components/script/dom/webidls/WindowOrWorkerGlobalScope.webidl @@ -24,6 +24,7 @@ interface mixin WindowOrWorkerGlobalScope { void queueMicrotask(VoidFunction callback); // ImageBitmap + [Pref="dom.imagebitmap.enabled"] Promise createImageBitmap(ImageBitmapSource image, optional ImageBitmapOptions options = {}); // Promise createImageBitmap( // ImageBitmapSource image, long sx, long sy, long sw, long sh, optional ImageBitmapOptions options); diff --git a/resources/prefs.json b/resources/prefs.json index e9005c432531..3d6133d21d2b 100644 --- a/resources/prefs.json +++ b/resources/prefs.json @@ -9,6 +9,7 @@ "dom.forcetouch.enabled": false, "dom.fullscreen.test": false, "dom.gamepad.enabled": false, + "dom.imagebitmap.enabled": false, "dom.microdata.enabled": false, "dom.microdata.testing.enabled": false, "dom.mouseevent.which.enabled": false, diff --git a/tests/wpt/metadata/__dir__.ini b/tests/wpt/metadata/__dir__.ini new file mode 100644 index 000000000000..60a490fc6ff2 --- /dev/null +++ b/tests/wpt/metadata/__dir__.ini @@ -0,0 +1 @@ +prefs: ["dom.imagebitmap.enabled:true"] diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index 832db1e23acd..f49423f87546 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -13901,14 +13901,14 @@ ] ], "interfaces.html": [ - "b6034be26af3c2edd1ef41703857fa99bd2cd639", + "145c902ff033ba1de46b41dec07992fae4fd2f13", [ null, {} ] ], "interfaces.worker.js": [ - "a74a91489541ab99ae58001e3f63afc9ecc5c553", + "c1223084790b2980c8184e3cd9ab5ae17bc8b303", [ "mozilla/interfaces.worker.html", {} diff --git a/tests/wpt/mozilla/tests/mozilla/interfaces.html b/tests/wpt/mozilla/tests/mozilla/interfaces.html index b6034be26af3..145c902ff033 100644 --- a/tests/wpt/mozilla/tests/mozilla/interfaces.html +++ b/tests/wpt/mozilla/tests/mozilla/interfaces.html @@ -162,7 +162,6 @@ "HTMLUnknownElement", "HTMLVideoElement", "ImageData", - "ImageBitmap", "Image", "InputEvent", "KeyboardEvent", diff --git a/tests/wpt/mozilla/tests/mozilla/interfaces.worker.js b/tests/wpt/mozilla/tests/mozilla/interfaces.worker.js index a74a91489541..c1223084790b 100644 --- a/tests/wpt/mozilla/tests/mozilla/interfaces.worker.js +++ b/tests/wpt/mozilla/tests/mozilla/interfaces.worker.js @@ -35,7 +35,6 @@ test_interfaces([ "Headers", "History", "ImageData", - "ImageBitmap", "MessageChannel", "MessageEvent", "MessagePort", diff --git a/tests/wpt/webgl/meta/conformance/__dir__.ini b/tests/wpt/webgl/meta/conformance/__dir__.ini index 03004f6efd7d..268ced650421 100644 --- a/tests/wpt/webgl/meta/conformance/__dir__.ini +++ b/tests/wpt/webgl/meta/conformance/__dir__.ini @@ -1 +1 @@ -prefs: ["dom.offscreen_canvas.enabled:true"] +prefs: ["dom.offscreen_canvas.enabled:true","dom.imagebitmap.enabled:true"] diff --git a/tests/wpt/webgl/meta/conformance2/__dir__.ini b/tests/wpt/webgl/meta/conformance2/__dir__.ini index a1929a9c6b73..2540f857c82e 100644 --- a/tests/wpt/webgl/meta/conformance2/__dir__.ini +++ b/tests/wpt/webgl/meta/conformance2/__dir__.ini @@ -1,2 +1,2 @@ -prefs: ["dom.webgl2.enabled:true","dom.offscreen_canvas.enabled:true"] +prefs: ["dom.webgl2.enabled:true","dom.offscreen_canvas.enabled:true","dom.imagebitmap.enabled:true"]