Commit Graph

505 Commits

Author SHA1 Message Date
Stanca Serban
f2ea9d8e26 Backed out changeset 15b78ae47a84 (bug 1555815) for causing mochitests failures in browser_dynamical_window_rounding.js. CLOSED TREE 2024-12-19 02:27:56 +02:00
hackademix
df220f689f Bug 1555815 - Letterboxing: add some exemptions. r=tjr
Add the following exemptions to letterboxing:
- browser extensions
- view-source URLs
- pdf.js

Differential Revision: https://phabricator.services.mozilla.com/D232521
2024-12-18 19:58:21 +00:00
André Bargull
da4a5ebc43 Bug 1930466 - Part 1: Use zone.tab to guide time zone canonicalisation. r=dminor
Implement the changes from <https://github.com/tc39/ecma402/pull/877> to reduce
differences in time zone canonicalisation when compared to V8 and JSC (which
both use CLDR time zone data instead of IANA time zone data).

Implementing the `AvailableNamedTimeZoneIdentifiers` spec operation requires to
link time zone identifiers to region codes. When the time zone is listed in the
"zone.tab" file, we can get the region code from "zone.tab". In all other cases
we need to manually map the time zone to a matching region, because CLDR doesn't
have "public" data for this [1]. This is implemented using the new file
"intl/TimeZoneMapping.yaml".

ICU 74 added `ucal_getIanaTimeZoneID` to get the canonical IANA time zone id.
Internally `ucal_getIanaTimeZoneID` first calls `ucal_getCanonicalTimeZoneID`
and then loads a resource bundle to check if there are any time zone ids which
need to be replaced with other ids for compatibility with IANA data. Unfortunately
the resource bundle is not cached, so calling `ucal_getIanaTimeZoneID` instead
of `ucal_getIanaTimeZoneID` adds a considerable performance overhead. To avoid
any performance regressions, we keep our own time zone rewriting code for the
time being.

Using our own code also means we don't have to add a workaround for this CLDR
bug: <https://unicode-org.atlassian.net/browse/CLDR-16439>.

Also remove "Factory" from the list of supported time zone identifiers, because
supporting it was always a bit questionable and latest V8 also doesn't support
it anymore, so we shouldn't run into web-compat issues.

Remove the old generated tests and add "timeZone_links.js" to ensure time zone
links are correctly resolved.

[1] Neither of these two files look like "public" data to me:
- https://github.com/unicode-org/cldr/blob/main/tools/cldr-code/src/main/resources/org/unicode/cldr/util/data/TZID.txt
- https://github.com/unicode-org/cldr/blob/main/tools/cldr-code/src/main/resources/org/unicode/cldr/icu/idList.txt

Differential Revision: https://phabricator.services.mozilla.com/D228584
2024-11-29 12:23:35 +00:00
Norisz Fay
1a601ba13c Backed out 2 changesets (bug 1930466) for causing bc failures on browser_timezone.js CLOSED TREE
Backed out changeset 2430662a5bd5 (bug 1930466)
Backed out changeset 880f2288640c (bug 1930466)
2024-11-27 22:39:54 +02:00
André Bargull
11d9f06f26 Bug 1930466 - Part 1: Use zone.tab to guide time zone canonicalisation. r=dminor
Implement the changes from <https://github.com/tc39/ecma402/pull/877> to reduce
differences in time zone canonicalisation when compared to V8 and JSC (which
both use CLDR time zone data instead of IANA time zone data).

Implementing the `AvailableNamedTimeZoneIdentifiers` spec operation requires to
link time zone identifiers to region codes. When the time zone is listed in the
"zone.tab" file, we can get the region code from "zone.tab". In all other cases
we need to manually map the time zone to a matching region, because CLDR doesn't
have "public" data for this [1]. This is implemented using the new file
"intl/TimeZoneMapping.yaml".

ICU 74 added `ucal_getIanaTimeZoneID` to get the canonical IANA time zone id.
Internally `ucal_getIanaTimeZoneID` first calls `ucal_getCanonicalTimeZoneID`
and then loads a resource bundle to check if there are any time zone ids which
need to be replaced with other ids for compatibility with IANA data. Unfortunately
the resource bundle is not cached, so calling `ucal_getIanaTimeZoneID` instead
of `ucal_getIanaTimeZoneID` adds a considerable performance overhead. To avoid
any performance regressions, we keep our own time zone rewriting code for the
time being.

Using our own code also means we don't have to add a workaround for this CLDR
bug: <https://unicode-org.atlassian.net/browse/CLDR-16439>.

Also remove "Factory" from the list of supported time zone identifiers, because
supporting it was always a bit questionable and latest V8 also doesn't support
it anymore, so we shouldn't run into web-compat issues.

Remove the old generated tests and add "timeZone_links.js" to ensure time zone
links are correctly resolved.

[1] Neither of these two files look like "public" data to me:
- https://github.com/unicode-org/cldr/blob/main/tools/cldr-code/src/main/resources/org/unicode/cldr/util/data/TZID.txt
- https://github.com/unicode-org/cldr/blob/main/tools/cldr-code/src/main/resources/org/unicode/cldr/icu/idList.txt

Differential Revision: https://phabricator.services.mozilla.com/D228584
2024-11-27 07:08:16 +00:00
Fatih
38271f258b Bug 1928871: Fix browser_exslt_timezone_load.js. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D227870
2024-11-06 15:28:55 +00:00
Fatih
e9af7d1651 Bug 1800704: Add tests for prefers-color-scheme media query. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D225690
2024-11-06 13:33:31 +00:00
Iulian Moraru
3040193898 Bug 1928871 - temporarily disable browser_exslt_timezone_load.js on linux and osx because of permafailures due to winter hour change. r=dmeehan
Differential Revision: https://phabricator.services.mozilla.com/D227785
2024-11-03 13:57:10 +00:00
hackademix
4126207dd8 Bug 1556002 - Update initial window size and letterboxing stepping. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D226598
2024-10-23 13:38:13 +00:00
Pier Angelo Vendrame
e8fa118267 Bug 1918009 - Fix the RFP-spoofed User-Agent header. r=tjr
The spoofed value of the HTTP user-agent header is not consistent with
the value of navigator.userAgent on Windows, and this can lead to
compatibility issues.

Differential Revision: https://phabricator.services.mozilla.com/D223745
2024-09-26 20:41:59 +00:00
Joel Maher
04cf186cea Bug 1917223 - re-enable many tests on browser/components/[pri*-urlbar]/**/browser.toml. r=aryx,sessionstore-reviewers,tabbrowser-reviewers,translations-reviewers,omc-reviewers,urlbar-reviewers,dao,pdahiya
Differential Revision: https://phabricator.services.mozilla.com/D221309
2024-09-18 23:37:52 +00:00
Fatih
30a8577069 Bug 1918104: Skip test on windows and move setTimeZone call. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D221842
2024-09-11 19:30:28 +00:00
Fatih
dd67aa2777 Bug 1916109: Don't force new process and improve the test. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D220774
2024-09-10 14:45:39 +00:00
Fatih
18108c9758 Bug 1826051: Improve PointerEvents RFP target for Android. r=tjr
- This patch separates RFPTarget::PointerEvents into PointerEvents and PointerId.
- PointerId protection is disabled for Android.
- WidgetEvents emit non-primary mouse events on Android because any touch other than 1nd touch is considered non-primary
- Sets maximum touch points to 5 on Android

Differential Revision: https://phabricator.services.mozilla.com/D221241
2024-09-10 14:37:50 +00:00
Chris Peterson
ba502a3440 Bug 1711835 - Hard code navigator.platform on Android and Linux. r=timhuang,necko-reviewers
Now that navigator.platform has been frozen on the Android and Linux/etc, SPOOFED_PLATFORM can be removed because the old spoofed values match the new frozen values for all platforms: Windows, macOS, Android, and Linux/etc.

Even though navigator.platform's default and spoofed values are always the same, this change keeps RFPTarget::NavigatorPlatform enum value so we know whether to honor the "general.platform.override" pref: the pref should override the default platform, but the spoofed platform should override the pref.

Depends on D220360

Differential Revision: https://phabricator.services.mozilla.com/D220361
2024-09-04 06:45:10 +00:00
Chris Peterson
8fdfb499df Bug 1711835 - Remove network.http.useragent.freezeCpu pref. r=necko-reviewers,valentin
This pref was added in Firefox 123 (by bug 1861847) to:

1. Reduce fingerprintable entropy exposed to web content.
2. Reduce risk of webcompat problems from unexpected CPU architectures (such as ARM64 Linux YouTube bug 1869521).

Now that this pref has baked in the Release channel for seven months without known regressions, we can remove the pref and simplify some UA string code.

Differential Revision: https://phabricator.services.mozilla.com/D220360
2024-09-04 06:45:09 +00:00
Joel Maher
f54eb90df0 Bug 1916191 - remove lineno from .toml file. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D220800
2024-09-03 15:39:04 +00:00
William Wen
8680ac4f74 Bug 1896836 - Round current time up in browser_timezone.js to nearest second to avoid intermittent failure. r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D218749
2024-08-19 13:49:34 +00:00
Fatih
4e9e69159f Bug 1912129: Reduce time precision for EXSLT date time function. r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D218783
2024-08-08 19:35:00 +00:00
Iulian Moraru
9018e11782 Backed out changeset cf7e06352a00 (bug 1912129) for causing bc failures on browser_exslt_time_precision.js. CLOSED TREE 2024-08-08 17:52:27 +03:00
Fatih
871b7e6020 Bug 1912129: Reduce time precision for EXSLT date time function. r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D218783
2024-08-08 13:23:44 +00:00
Fatih
e2721218fa Bug 1891690: Return GMT when RFPTarget::JSDateTimeUTC is enabled. r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D216411
2024-08-06 18:02:05 +00:00
Fatih
e3dce50ad3 Bug 1885101: Match screen and window properties with top window for ScreenRect, ScreenAvailRect and WindowOuterSize. r=timhuang,emilio
This patch removes test_iframe.html. We remove it because the newly introduced test covers the tests done in that test. The reason for removing it in the first place is now that screen properties are inherited/spoofed xorigin, we get a 4px difference. The reasosn for 4px difference is the test runner runs tests in an iframe with a 2px border on each side.

Differential Revision: https://phabricator.services.mozilla.com/D215509
2024-08-06 15:31:34 +00:00
stransky
cd9f182472 Bug 1898501 Change decode_error.mp4 video format from H264/yuv444p to VP9/gbrp12le r=alwu
As H264/yuv444p is supported now on Linux we need a different video format which fails to decode.
VP9/gbrp12le seems to be exotic enough.

Depends on D217089

Differential Revision: https://phabricator.services.mozilla.com/D217090
2024-08-02 06:44:31 +00:00
Stanca Serban
e3af661383 Backed out 3 changesets (bug 1898501) for causing reftests failures. CLOSED TREE
Backed out changeset acc5c64134ee (bug 1898501)
Backed out changeset 5017e396b69b (bug 1898501)
Backed out changeset 49a31919e147 (bug 1898501)
2024-07-30 17:45:11 +03:00
stransky
9e56b7a586 Bug 1898501 Change decode_error.mp4 video format from H264/yuv444p to VP9/gbrp12le r=alwu
As H264/yuv444p is supported now on Linux we need a different video format which fails to decode.
VP9/gbrp12le seems to be exotic enough.

Depends on D217089

Differential Revision: https://phabricator.services.mozilla.com/D217090
2024-07-30 09:52:51 +00:00
Emilio Cobos Álvarez
f16ff34d47 Bug 1902315 - Remove CHROME_WINDOW_{LOWERED,RAISED}. r=arai,extension-reviewers,sessionstore-reviewers,dao,zombie
These did nothing at the OS level on most OSes (see previous patch), and
were only used on tests, so just remove them.

Note that these were different from the alwaysontop feature, which
remains and is used for stuff like picture-in-picture.

Differential Revision: https://phabricator.services.mozilla.com/D214091
2024-06-19 07:47:37 +00:00
Gregory Pappas
71145eb0d1 Bug 1880782 - Remove dom.animations-api.compositing.enabled and dom.animations-api.timelines.enabled prefs r=webidl,devtools-reviewers,firefox-animation-reviewers,nchevobbe,smaug,boris
Differential Revision: https://phabricator.services.mozilla.com/D211505
2024-06-05 19:13:23 +00:00
hackademix
60e578b9e5 Bug 1835987 - Change RFP-spoofed TZ to Atlantic/Reykjavik. r=tjr
Atlantic/Reykjavik stays on UTC during all the year, but it is less
likely to be blocked than plan UTC.

Differential Revision: https://phabricator.services.mozilla.com/D212131
2024-05-31 14:16:36 +00:00
Sandor Molnar
1e61b33af7 Backed out changeset 2c914d67e8d8 (bug 1835987) for causing Spider-monkey failures 2024-05-31 00:47:15 +03:00
hackademix
202518ebc3 Bug 1835987 - Change RFP-spoofed TZ to Atlantic/Reykjavik. r=tjr
Atlantic/Reykjavik stays on UTC during all the year, but it is less
likely to be blocked than plan UTC.

Differential Revision: https://phabricator.services.mozilla.com/D212131
2024-05-30 21:02:14 +00:00
Pier Angelo Vendrame
6159369a86 Bug 1781855 - Allow a higher time difference in browser_timezone.js. r=tjr
This allows the test to run in a higher amount of time, to prevent
intermittent failures.

Differential Revision: https://phabricator.services.mozilla.com/D209798
2024-05-13 20:53:31 +00:00
Cristian Tuns
5b06da851c Backed out 2 changesets (bug 1860417) for causing Bug 1895513 CLOSED TREE
Backed out changeset f04937624f9d (bug 1860417)
Backed out changeset aa1041e84618 (bug 1860417)
2024-05-07 12:20:50 -04:00
Tom Ritter
ff37b6d4c8 Bug 1878716: Add a test that compares the canvases in a data iframe r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D206129
2024-05-02 13:55:43 +00:00
Tom Ritter
3f17bdae73 Bug 1878716: Add a test that confirms the expected default behavior in PBM r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D206128
2024-05-02 13:55:43 +00:00
Tom Ritter
c221c0e241 Bug 1878716: Add a test that compares the canvases in a blob iframe r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D206127
2024-05-02 13:55:42 +00:00
Tom Ritter
57314fc363 Bug 1878716: Add a test that compares the canvases in an about:blank iframe r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D206126
2024-05-02 13:55:42 +00:00
Tom Ritter
f2fdea7a0c Bug 1878716: Add a test that compares the canvases in a data popup r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D206125
2024-05-02 13:55:42 +00:00
Tom Ritter
e979e39fe3 Bug 1878716: Add a test that compares the canvases in a blob popup r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D206124
2024-05-02 13:55:41 +00:00
Tom Ritter
fc01747be8 Bug 1878716: Add a test that compares the canvases in an about:blank popup r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D205920
2024-05-02 13:55:41 +00:00
Tom Ritter
f0cddc3d1b Bug 1878716: Add a test that compares the canvases in a popup that is same or cross domain r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D205918
2024-05-02 13:55:40 +00:00
Tom Ritter
5c7d57f5c7 Bug 1878716: Add a test that compares the canvases between a parent and child r=timhuang
For the first test, the parent is a page and the child is an iframe, but
eventually we will have tests for lots of different children types.

We test that the number of pixels we expect to be randomized are, and
we also compare the differences between the parent and child.

This allows us to ensure that the FPP key is being propagated correctly.

Differential Revision: https://phabricator.services.mozilla.com/D205917
2024-05-02 13:55:40 +00:00
Tom Ritter
c5c9bfed87 Bug 1878716: Add a test for popups r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D205916
2024-05-02 13:55:39 +00:00
Tom Ritter
b5a9ee4d31 Bug 1878716: Add a test for Canvas Randomization r=timhuang
This test ensures the expected number of pixels are randomized
in different scenarios of preferences

Differential Revision: https://phabricator.services.mozilla.com/D205915
2024-05-02 13:55:39 +00:00
Tom Ritter
9c435eadc3 Bug 1878716: Add a version of the test with protections enabled r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D206019
2024-05-02 13:55:38 +00:00
Tom Ritter
5a4ae5a9eb Bug 1878716: Rename a shared test to hopefully be less confusing r=timhuang
This test is a little odd because (a) its name is super long and unhelpful
(b) it's testing a very important sitation we've regressed on before
(c) it _disables_ the protections, so you actually don't expect anything
to be enabled.

We're going to need a very similar version of this test where the
protections are _enabled_, so let's pre-emptively rename this one to
prepare for that.

Differential Revision: https://phabricator.services.mozilla.com/D206018
2024-05-02 13:55:38 +00:00
Tom Ritter
0ff90bdf8d Bug 1878716: Add those tests to all the other files r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D205914
2024-05-02 13:55:38 +00:00
Tom Ritter
e01ed0ffb7 Bug 1878716: Fix some Hardware Concurrency Tests r=timhuang
It turns out that we had the override string wrong, but we
didn't notice because we happened to be only testing things
where it was supposed to be disabled anyway.

There was a test where this would have not been the case
(simplePBMFPPTest) - but this was only be tested when we were
_exempting_ it with ETP.

I added this scenario to a place where it would be tested
positively, and confirmed that it failed, then when I fixed
the override, started working again.

Differential Revision: https://phabricator.services.mozilla.com/D205913
2024-05-02 13:55:37 +00:00
Pier Angelo Vendrame
08f3f6051f Bug 1886687: Report document.lastModified in UTC when using RFP. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D205289
2024-04-10 13:54:22 +00:00
Chris Peterson
2a0218bf2a Bug 1860417 - Part 2: Add "Linux" to Firefox's Android UA string. r=necko-reviewers,geckoview-reviewers,kershaw,amejiamarmol
Chrome's Android UA string lists "Linux; Android", while Firefox's lists only "Android". This has caused webcompat problems for at least one website (samsung.com) because it assumes every browser UA string will include one of "Windows", "Mac", or "Linux". Let's add "Linux; Android" to Firefox's UA string, like Chrome's, to satisfy that website assumption.

Firefox's current Android UA string:

`Mozilla/5.0 (Android 10; Mobile; rv:125.0) Gecko/125.0 Firefox/125.0`

Firefox's new Android UA string:

`Mozilla/5.0 (Linux; Android 10; Mobile; rv:125.0) Gecko/125.0 Firefox/125.0`

For comparison, an example of Chrome's Android UA string:

`Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36`

Differential Revision: https://phabricator.services.mozilla.com/D202653
2024-03-26 23:46:42 +00:00