commit 28b312cc54699c235311f81df8e0101034d441f6
parent b2460cab5357c8310c4d9e0bc031155982288f5d
Author: Edgar Chen <echen@mozilla.com>
Date: Tue, 30 Sep 2025 15:55:33 +0000
Bug 1989559 - Mark window.fullScreen attribute deprecated in webIDL; r=webidl,saschanaz,flod
The attribute is non-standard and only implemented in Gecko.
It is used internally to switch chrome windows to fullscreen mode.
Differential Revision: https://phabricator.services.mozilla.com/D265440
Diffstat:
6 files changed, 49 insertions(+), 4 deletions(-)
diff --git a/dom/base/nsDeprecatedOperationList.h b/dom/base/nsDeprecatedOperationList.h
@@ -56,3 +56,4 @@ DEPRECATED_OPERATION(SVGDeselectAll)
DEPRECATED_OPERATION(IDBObjectStoreCreateIndexLocale)
DEPRECATED_OPERATION(BeforeScriptExecuteEvent)
DEPRECATED_OPERATION(AfterScriptExecuteEvent)
+DEPRECATED_OPERATION(FullscreenAttribute)
diff --git a/dom/base/use_counter_metrics.yaml b/dom/base/use_counter_metrics.yaml
@@ -108,7 +108,7 @@ use.counter:
send_in_pings:
- use-counters
-# Total of 2375 use counter metrics (excludes denominators).
+# Total of 2377 use counter metrics (excludes denominators).
# Total of 355 'page' use counters.
use.counter.page:
svgsvgelement_getelementbyid:
@@ -14892,7 +14892,7 @@ use.counter.worker.service:
send_in_pings:
- use-counters
-# Total of 46 'deprecated operations (page)' use counters.
+# Total of 47 'deprecated operations (page)' use counters.
use.counter.deprecated_ops.page:
components:
type: counter
@@ -15676,7 +15676,24 @@ use.counter.deprecated_ops.page:
send_in_pings:
- use-counters
-# Total of 46 'deprecated operations (document)' use counters.
+ fullscreen_attribute:
+ type: counter
+ description: >
+ Whether a page used FullscreenAttribute.
+ Compare against `use.counter.top_level_content_documents_destroyed`
+ to calculate the rate.
+ bugs:
+ - https://bugzilla.mozilla.org/show_bug.cgi?id=1852098
+ data_reviews:
+ - https://bugzilla.mozilla.org/show_bug.cgi?id=1852098
+ notification_emails:
+ - dom-core@mozilla.com
+ - emilio@mozilla.com
+ expires: never
+ send_in_pings:
+ - use-counters
+
+# Total of 47 'deprecated operations (document)' use counters.
use.counter.deprecated_ops.doc:
components:
type: counter
@@ -16460,6 +16477,23 @@ use.counter.deprecated_ops.doc:
send_in_pings:
- use-counters
+ fullscreen_attribute:
+ type: counter
+ description: >
+ Whether a document used FullscreenAttribute.
+ Compare against `use.counter.content_documents_destroyed`
+ to calculate the rate.
+ bugs:
+ - https://bugzilla.mozilla.org/show_bug.cgi?id=1852098
+ data_reviews:
+ - https://bugzilla.mozilla.org/show_bug.cgi?id=1852098
+ notification_emails:
+ - dom-core@mozilla.com
+ - emilio@mozilla.com
+ expires: never
+ send_in_pings:
+ - use-counters
+
# Total of 707 'CSS (page)' use counters.
use.counter.css.page:
css_align_content:
diff --git a/dom/locales/en-US/chrome/dom/dom.properties b/dom/locales/en-US/chrome/dom/dom.properties
@@ -476,3 +476,6 @@ BeforeScriptExecuteEventNotSupportedWarning=Adding a listener for beforescriptex
# LOCALIZATION NOTE: Do not translate "intercept()". %1$S is the overridden option, %2$S is the new value and %3$S is the old value.
PreviousInterceptCallOptionOverriddenWarning=The ’%1$S’ option for a previous call to intercept() was overridden by ’%2$S’, and the previous value ’%3$S’ will be ignored.
+
+# LOCALIZATION NOTE: Do not translate "Window.fullScreen".
+FullscreenAttributeWarning=Window.fullScreen attribute is deprecated and will be removed in the future.
diff --git a/dom/webidl/Window.webidl b/dom/webidl/Window.webidl
@@ -487,7 +487,7 @@ partial interface Window {
[Replaceable, Throws] readonly attribute long scrollMaxX;
[Replaceable, Throws] readonly attribute long scrollMaxY;
- [Throws] attribute boolean fullScreen;
+ [Throws, Deprecated=FullscreenAttribute] attribute boolean fullScreen;
undefined updateCommands(DOMString action);
diff --git a/testing/web-platform/meta/fullscreen/api/historical.html.ini b/testing/web-platform/meta/fullscreen/api/historical.html.ini
@@ -15,3 +15,6 @@
[<video> member must not be supported: mozRequestFullScreen (uppercase S)]
expected: FAIL
+
+ [Window member must not be supported: fullScreen]
+ expected: FAIL
diff --git a/testing/web-platform/tests/fullscreen/api/historical.html b/testing/web-platform/tests/fullscreen/api/historical.html
@@ -35,4 +35,8 @@
// it is convenient to just test all names on both <video> and document.
});
});
+
+test(function() {
+ assert_false("fullScreen" in window);
+}, 'Window member must not be supported: fullScreen');
</script>