tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit ad6efdaa6c125648084a06b99c0305c99ff3d0d8
parent 66002eb2b53d9c87570d31a82bbd8ffbafa1801e
Author: Edgar Chen <echen@mozilla.com>
Date:   Wed,  1 Oct 2025 06:38:06 +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:
Mbrowser/components/tests/marionette/test_no_errors_clean_profile.py | 6++++++
Mdom/base/nsDeprecatedOperationList.h | 1+
Mdom/base/use_counter_metrics.yaml | 146++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
Mdom/locales/en-US/chrome/dom/dom.properties | 3+++
Mdom/webidl/Window.webidl | 2+-
Mtesting/web-platform/meta/fullscreen/api/historical.html.ini | 3+++
Mtesting/web-platform/tests/fullscreen/api/historical.html | 4++++
7 files changed, 159 insertions(+), 6 deletions(-)

diff --git a/browser/components/tests/marionette/test_no_errors_clean_profile.py b/browser/components/tests/marionette/test_no_errors_clean_profile.py @@ -59,6 +59,12 @@ known_errors = [ # for sidebar. "message": "toggleSidebarKb", }, + { + # Triggered as soon as anything tries to access window.fullScreen. + # Bug 1709294 to stop exposing window.fullScreen to the web content and + # the warning can be removed. + "message": 'JavaScript Warning: "Window.fullScreen attribute is deprecated and will be removed in the future."', + }, ] # Same rules apply here - please don't add anything! - but headless runs 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 2369 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,7 +16477,24 @@ use.counter.deprecated_ops.doc: send_in_pings: - use-counters -# Total of 704 'CSS (page)' 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: type: counter @@ -18927,6 +18961,40 @@ use.counter.css.page: send_in_pings: - use-counters + css_overflow_clip_box_block: + type: counter + description: > + Whether a page used the CSS property overflow-clip-box-block. + 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 + + css_overflow_clip_box_inline: + type: counter + description: > + Whether a page used the CSS property overflow-clip-box-inline. + 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 + css_fill_opacity: type: counter description: > @@ -23891,6 +23959,23 @@ use.counter.css.page: send_in_pings: - use-counters + css_overflow_clip_box: + type: counter + description: > + Whether a page used the CSS property overflow-clip-box. + 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 + css_overscroll_behavior: type: counter description: > @@ -28430,7 +28515,7 @@ use.counter.css.page: send_in_pings: - use-counters -# Total of 704 'CSS (document)' use counters. +# Total of 707 'CSS (document)' use counters. use.counter.css.doc: css_align_content: type: counter @@ -30897,6 +30982,40 @@ use.counter.css.doc: send_in_pings: - use-counters + css_overflow_clip_box_block: + type: counter + description: > + Whether a document used the CSS property overflow-clip-box-block. + 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 + + css_overflow_clip_box_inline: + type: counter + description: > + Whether a document used the CSS property overflow-clip-box-inline. + 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 + css_fill_opacity: type: counter description: > @@ -35861,6 +35980,23 @@ use.counter.css.doc: send_in_pings: - use-counters + css_overflow_clip_box: + type: counter + description: > + Whether a document used the CSS property overflow-clip-box. + 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 + css_overscroll_behavior: type: counter description: > 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>