Update to 85.0

This commit is contained in:
Martin Stransky 2021-01-21 13:55:58 +01:00
parent 9be9b1e03e
commit ef830a0c93
19 changed files with 270 additions and 30301 deletions

2
.gitignore vendored
View File

@ -443,3 +443,5 @@ firefox-3.6.4.source.tar.bz2
/firefox-langpacks-84.0.1-20201222.tar.xz
/firefox-84.0.2.source.tar.xz
/firefox-langpacks-84.0.2-20210106.tar.xz
/firefox-85.0.source.tar.xz
/firefox-langpacks-85.0-20210120.tar.xz

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
diff -up firefox-84.0/docshell/base/crashtests/crashtests.list.testing firefox-84.0/docshell/base/crashtests/crashtests.list
--- firefox-84.0/docshell/base/crashtests/crashtests.list.testing 2020-12-07 23:32:58.000000000 +0100
+++ firefox-84.0/docshell/base/crashtests/crashtests.list 2020-12-10 12:42:49.725237640 +0100
diff -up firefox-85.0/docshell/base/crashtests/crashtests.list.testing firefox-85.0/docshell/base/crashtests/crashtests.list
--- firefox-85.0/docshell/base/crashtests/crashtests.list.testing 2021-01-18 19:29:32.000000000 +0100
+++ firefox-85.0/docshell/base/crashtests/crashtests.list 2021-01-21 09:45:17.767276466 +0100
@@ -13,7 +13,6 @@ load 614499-1.html
load 678872-1.html
skip-if(Android) pref(dom.disable_open_during_load,false) load 914521.html # Android bug 1584562
@ -9,21 +9,20 @@ diff -up firefox-84.0/docshell/base/crashtests/crashtests.list.testing firefox-8
load 1341657.html
load 1584467.html
load 1614211-1.html
diff -up firefox-84.0/dom/media/tests/crashtests/crashtests.list.testing firefox-84.0/dom/media/tests/crashtests/crashtests.list
--- firefox-84.0/dom/media/tests/crashtests/crashtests.list.testing 2020-12-08 00:35:04.000000000 +0100
+++ firefox-84.0/dom/media/tests/crashtests/crashtests.list 2020-12-10 12:42:49.725237640 +0100
@@ -24,7 +24,7 @@ asserts-if(Android,0-1) pref(browser.lin
asserts-if(Android,0-1) pref(browser.link.open_newwindow,2) load 1429507_2.html # window.open() in tab doesn't work for crashtest in e10s, this opens a new window instead
diff -up firefox-85.0/dom/media/tests/crashtests/crashtests.list.testing firefox-85.0/dom/media/tests/crashtests/crashtests.list
--- firefox-85.0/dom/media/tests/crashtests/crashtests.list.testing 2021-01-21 09:45:17.767276466 +0100
+++ firefox-85.0/dom/media/tests/crashtests/crashtests.list 2021-01-21 09:48:35.245124690 +0100
@@ -25,7 +25,6 @@ asserts-if(Android,0-1) pref(browser.lin
load 1443212.html
asserts-if(Android,0-2) load 1453030.html
load 1468451.html
-skip-if(Android) load 1490700.html # No screenshare on Android
+#skip-if(Android) load 1490700.html # No screenshare on Android and Wayland
load 1505957.html
load 1509442.html
load 1511130.html
diff -up firefox-84.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py.testing firefox-84.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py
--- firefox-84.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py.testing 2020-12-10 12:42:49.725237640 +0100
+++ firefox-84.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py 2020-12-10 12:54:22.885925814 +0100
diff -up firefox-85.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py.testing firefox-85.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py
--- firefox-85.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py.testing 2021-01-18 19:30:26.000000000 +0100
+++ firefox-85.0/testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py 2021-01-21 09:45:17.767276466 +0100
@@ -69,15 +69,7 @@ class TestMarionette(MarionetteTestCase)
def test_application_update_disabled(self):
@ -41,18 +40,18 @@ diff -up firefox-84.0/testing/marionette/harness/marionette_harness/tests/unit/t
self.assertFalse(update_allowed)
diff --git a/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt b/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt
--- a/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt
+++ b/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt
diff -up firefox-85.0/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt.testing firefox-85.0/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt
--- firefox-85.0/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt.testing 2021-01-18 19:30:19.000000000 +0100
+++ firefox-85.0/testing/tools/websocketprocessbridge/websocketprocessbridge_requirements_3.txt 2021-01-21 09:45:17.767276466 +0100
@@ -1,4 +1,5 @@
# This file is the websocketprocess requirements.txt used with python 3.
+pyrsistent
# needed by txws, and we'd like pip to get it from the local server before setuptools tries pypi
six
diff -up firefox-84.0/toolkit/crashreporter/test/unit/xpcshell.ini.old firefox-84.0/toolkit/crashreporter/test/unit/xpcshell.ini
--- firefox-84.0/toolkit/crashreporter/test/unit/xpcshell.ini.old 2020-12-15 12:21:16.177169732 +0100
+++ firefox-84.0/toolkit/crashreporter/test/unit/xpcshell.ini 2020-12-15 12:21:22.336348783 +0100
diff -up firefox-85.0/toolkit/crashreporter/test/unit/xpcshell.ini.testing firefox-85.0/toolkit/crashreporter/test/unit/xpcshell.ini
--- firefox-85.0/toolkit/crashreporter/test/unit/xpcshell.ini.testing 2021-01-18 19:31:16.000000000 +0100
+++ firefox-85.0/toolkit/crashreporter/test/unit/xpcshell.ini 2021-01-21 09:45:17.767276466 +0100
@@ -37,7 +37,7 @@ skip-if = (os != 'win' && os != 'linux')
[test_crash_AsyncShutdown.js]

View File

@ -1,6 +1,6 @@
diff -up firefox-84.0.2/dom/canvas/test/reftest/filters/reftest.list.firefox-tests-reftest firefox-84.0.2/dom/canvas/test/reftest/filters/reftest.list
--- firefox-84.0.2/dom/canvas/test/reftest/filters/reftest.list.firefox-tests-reftest 2021-01-05 19:12:22.000000000 +0100
+++ firefox-84.0.2/dom/canvas/test/reftest/filters/reftest.list 2021-01-12 20:30:45.682412237 +0100
diff -up firefox-85.0/dom/canvas/test/reftest/filters/reftest.list.firefox-tests-reftest firefox-85.0/dom/canvas/test/reftest/filters/reftest.list
--- firefox-85.0/dom/canvas/test/reftest/filters/reftest.list.firefox-tests-reftest 2021-01-18 19:29:38.000000000 +0100
+++ firefox-85.0/dom/canvas/test/reftest/filters/reftest.list 2021-01-21 09:52:08.485439676 +0100
@@ -18,7 +18,6 @@ fuzzy-if(/^Windows\x20NT\x2010\.0/.test(
== svg-off-screen.html ref.html
== units.html ref.html
@ -9,9 +9,9 @@ diff -up firefox-84.0.2/dom/canvas/test/reftest/filters/reftest.list.firefox-tes
== units-off-screen.html ref.html
fuzzy(0-2,0-700) == fillText-with-filter-opacity-1.html fillText-with-filter-opacity-1-ref.html
fuzzy(0-1,0-302) == fillText-with-filter-opacity-2.html fillText-with-filter-opacity-2-ref.html
diff -up firefox-84.0.2/dom/html/reftests/reftest.list.firefox-tests-reftest firefox-84.0.2/dom/html/reftests/reftest.list
--- firefox-84.0.2/dom/html/reftests/reftest.list.firefox-tests-reftest 2021-01-05 19:12:22.000000000 +0100
+++ firefox-84.0.2/dom/html/reftests/reftest.list 2021-01-12 20:30:45.682412237 +0100
diff -up firefox-85.0/dom/html/reftests/reftest.list.firefox-tests-reftest firefox-85.0/dom/html/reftests/reftest.list
--- firefox-85.0/dom/html/reftests/reftest.list.firefox-tests-reftest 2021-01-18 19:29:38.000000000 +0100
+++ firefox-85.0/dom/html/reftests/reftest.list 2021-01-21 09:52:08.485439676 +0100
@@ -43,7 +43,6 @@ skip-if(Android) == 649134-2.html 649134
# image-orientation when determining the size of the image.
# (Fuzzy necessary due to pixel-wise comparison of different JPEGs.
@ -20,15 +20,15 @@ diff -up firefox-84.0.2/dom/html/reftests/reftest.list.firefox-tests-reftest fir
fuzzy(0-3,0-640) fuzzy-if(skiaContent,0-3,0-7544) fuzzy-if(webrender&&!geckoview,2-3,50-7544) == bug917595-exif-rotated.jpg bug917595-pixel-rotated.jpg # bug 1060869
# Test support for SVG-as-image in <picture> elements.
diff -up firefox-84.0.2/dom/media/webvtt/test/reftest/reftest.list.firefox-tests-reftest firefox-84.0.2/dom/media/webvtt/test/reftest/reftest.list
--- firefox-84.0.2/dom/media/webvtt/test/reftest/reftest.list.firefox-tests-reftest 2021-01-05 19:12:23.000000000 +0100
+++ firefox-84.0.2/dom/media/webvtt/test/reftest/reftest.list 2021-01-12 20:30:45.682412237 +0100
diff -up firefox-85.0/dom/media/webvtt/test/reftest/reftest.list.firefox-tests-reftest firefox-85.0/dom/media/webvtt/test/reftest/reftest.list
--- firefox-85.0/dom/media/webvtt/test/reftest/reftest.list.firefox-tests-reftest 2021-01-18 19:29:39.000000000 +0100
+++ firefox-85.0/dom/media/webvtt/test/reftest/reftest.list 2021-01-21 09:52:08.485439676 +0100
@@ -1,2 +1 @@
skip-if(Android) fuzzy-if((/^Windows\x20NT\x2010\.0/.test(http.oscpu))&&(/^aarch64-msvc/.test(xulRuntime.XPCOMABI)),0-136,0-427680) == vtt_update_display_after_removed_cue.html vtt_update_display_after_removed_cue_ref.html
-skip-if(Android) fuzzy-if(winWidget,0-170,0-170) == vtt_overlapping_time.html vtt_overlapping_time-ref.html
diff -up firefox-84.0.2/gfx/layers/apz/test/reftest/reftest.list.firefox-tests-reftest firefox-84.0.2/gfx/layers/apz/test/reftest/reftest.list
--- firefox-84.0.2/gfx/layers/apz/test/reftest/reftest.list.firefox-tests-reftest 2021-01-05 20:58:39.000000000 +0100
+++ firefox-84.0.2/gfx/layers/apz/test/reftest/reftest.list 2021-01-12 20:30:45.682412237 +0100
diff -up firefox-85.0/gfx/layers/apz/test/reftest/reftest.list.firefox-tests-reftest firefox-85.0/gfx/layers/apz/test/reftest/reftest.list
--- firefox-85.0/gfx/layers/apz/test/reftest/reftest.list.firefox-tests-reftest 2021-01-18 19:29:39.000000000 +0100
+++ firefox-85.0/gfx/layers/apz/test/reftest/reftest.list 2021-01-21 09:52:08.485439676 +0100
@@ -4,11 +4,8 @@
skip-if(!asyncPan) pref(apz.allow_zooming,true) != async-scrollbar-1-v.html about:blank
skip-if(!asyncPan) pref(apz.allow_zooming,true) != async-scrollbar-1-v-ref.html about:blank
@ -41,9 +41,9 @@ diff -up firefox-84.0.2/gfx/layers/apz/test/reftest/reftest.list.firefox-tests-r
# Different async zoom levels. Since the scrollthumb gets async-scaled in the
# compositor, the border-radius ends of the scrollthumb are going to be a little
diff -up firefox-84.0.2/gfx/tests/reftest/reftest.list.firefox-tests-reftest firefox-84.0.2/gfx/tests/reftest/reftest.list
--- firefox-84.0.2/gfx/tests/reftest/reftest.list.firefox-tests-reftest 2021-01-05 21:29:48.000000000 +0100
+++ firefox-84.0.2/gfx/tests/reftest/reftest.list 2021-01-12 20:30:45.683412265 +0100
diff -up firefox-85.0/gfx/tests/reftest/reftest.list.firefox-tests-reftest firefox-85.0/gfx/tests/reftest/reftest.list
--- firefox-85.0/gfx/tests/reftest/reftest.list.firefox-tests-reftest 2021-01-18 19:29:44.000000000 +0100
+++ firefox-85.0/gfx/tests/reftest/reftest.list 2021-01-21 09:55:01.721579128 +0100
@@ -12,7 +12,6 @@ fuzzy(0-100,0-30) == 1149923.html 114992
== 1429411.html 1429411-ref.html
fuzzy-if(winWidget,0-1,0-4) == 1435143.html 1435143-ref.html
@ -52,14 +52,16 @@ diff -up firefox-84.0.2/gfx/tests/reftest/reftest.list.firefox-tests-reftest fir
== 1461313.html 1461313-ref.html
fuzzy(5-32,21908-26621) fuzzy-if(webrender,4-5,868-1039) == 1463802.html 1463802-ref.html
fuzzy(0-11,0-4) == 1474722.html 1474722-ref.html
@@ -24,4 +23,3 @@ fuzzy-if(webrender,2-7,17500-36908) == 1
@@ -24,6 +23,5 @@ fuzzy-if(webrender,2-7,17500-36908) == 1
== bug1523410-translate-scale-snap.html bug1523410-translate-scale-snap-ref.html
== 1523080.html 1523080-ref.html
== 1616444-same-color-different-paths.html 1616444-same-color-different-paths-ref.html
-skip-if(!asyncPan||!webrender||Android) fuzzy-if(winWidget,94-94,3415-3415) pref(apz.allow_zooming,true) == picture-caching-on-async-zoom.html picture-caching-on-async-zoom.html?ref
diff -up firefox-84.0.2/image/test/reftest/downscaling/reftest.list.firefox-tests-reftest firefox-84.0.2/image/test/reftest/downscaling/reftest.list
--- firefox-84.0.2/image/test/reftest/downscaling/reftest.list.firefox-tests-reftest 2021-01-05 19:12:23.000000000 +0100
+++ firefox-84.0.2/image/test/reftest/downscaling/reftest.list 2021-01-14 10:43:43.676262718 +0100
pref(apz.allow_zooming,true) == 1662062-1-no-blurry.html 1662062-1-ref.html
== 1681610.html 1681610-ref.html
diff -up firefox-85.0/image/test/reftest/downscaling/reftest.list.firefox-tests-reftest firefox-85.0/image/test/reftest/downscaling/reftest.list
--- firefox-85.0/image/test/reftest/downscaling/reftest.list.firefox-tests-reftest 2021-01-18 19:29:39.000000000 +0100
+++ firefox-85.0/image/test/reftest/downscaling/reftest.list 2021-01-21 09:52:08.485439676 +0100
@@ -87,10 +87,6 @@ fuzzy(0-20,0-999) != downscale-2c.html?2
fuzzy(0-20,0-999) != downscale-2d.html?205,53,bottom about:blank
fuzzy(0-20,0-999) fails-if(OSX>=1008&&!skiaContent) != downscale-2e.html?205,53,bottom about:blank
@ -83,10 +85,10 @@ diff -up firefox-84.0.2/image/test/reftest/downscaling/reftest.list.firefox-test
== downscale-png.html?16,16,interlaced downscale-png.html?16,16,normal
== downscale-png.html?24,24,interlaced downscale-png.html?24,24,normal
diff -up firefox-84.0.2/layout/reftests/abs-pos/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/abs-pos/reftest.list
--- firefox-84.0.2/layout/reftests/abs-pos/reftest.list.firefox-tests-reftest 2021-01-05 21:29:48.000000000 +0100
+++ firefox-84.0.2/layout/reftests/abs-pos/reftest.list 2021-01-12 20:30:45.683412265 +0100
@@ -49,11 +49,9 @@ fuzzy-if(/^Windows\x20NT\x206\.1/.test(h
diff -up firefox-85.0/layout/reftests/abs-pos/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/abs-pos/reftest.list
--- firefox-85.0/layout/reftests/abs-pos/reftest.list.firefox-tests-reftest 2021-01-18 19:30:10.000000000 +0100
+++ firefox-85.0/layout/reftests/abs-pos/reftest.list 2021-01-21 09:52:08.485439676 +0100
@@ -51,11 +51,9 @@ pref(layout.display-list.improve-fragmen
== continuation-positioned-inline-1.html continuation-positioned-inline-ref.html
== continuation-positioned-inline-2.html continuation-positioned-inline-ref.html
== scrollframe-1.html scrollframe-1-ref.html
@ -98,9 +100,9 @@ diff -up firefox-84.0.2/layout/reftests/abs-pos/reftest.list.firefox-tests-refte
== multi-column-1.html multi-column-1-ref.html
== button-1.html button-1-ref.html
== button-2.html button-2-ref.html
diff -up firefox-84.0.2/layout/reftests/async-scrolling/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/async-scrolling/reftest.list
--- firefox-84.0.2/layout/reftests/async-scrolling/reftest.list.firefox-tests-reftest 2021-01-05 21:29:48.000000000 +0100
+++ firefox-84.0.2/layout/reftests/async-scrolling/reftest.list 2021-01-12 20:30:45.683412265 +0100
diff -up firefox-85.0/layout/reftests/async-scrolling/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/async-scrolling/reftest.list
--- firefox-85.0/layout/reftests/async-scrolling/reftest.list.firefox-tests-reftest 2021-01-18 19:30:10.000000000 +0100
+++ firefox-85.0/layout/reftests/async-scrolling/reftest.list 2021-01-21 09:52:08.485439676 +0100
@@ -53,7 +53,6 @@ fuzzy-if(Android,0-6,0-4) fuzzy-if(skiaC
fuzzy-if(Android,0-6,0-4) fuzzy-if(webrender&&gtkWidget,34-34,30-32) fuzzy-if(webrender&&cocoaWidget,7-7,38-39) skip-if(!asyncPan) == offscreen-clipped-blendmode-2.html offscreen-clipped-blendmode-ref.html # Bug 1604338
fuzzy-if(Android,0-6,0-4) skip == offscreen-clipped-blendmode-3.html offscreen-clipped-blendmode-ref.html # bug 1251588 - wrong AGR on mix-blend-mode item
@ -125,9 +127,9 @@ diff -up firefox-84.0.2/layout/reftests/async-scrolling/reftest.list.firefox-tes
fuzzy-if(Android&&!webrender,3-3,4-4) fuzzy-if(Android&&webrender,10-10,4-4) fuzzy-if(webrender&&gtkWidget,20-20,32-32) fuzzy-if(webrender&&cocoaWidget,15-16,44-44) skip-if(!asyncPan) == position-sticky-transformed-in-scrollframe-2.html position-sticky-transformed-in-scrollframe-2-ref.html # Bug 1604338
fuzzy-if(Android&&!webrender,3-3,4-4) fuzzy-if(Android&&webrender,13-13,4-4) fuzzy-if(webrender&&gtkWidget,26-27,30-32) fuzzy-if(webrender&&cocoaWidget,16-16,44-44) skip-if(!asyncPan) == position-sticky-in-transformed-scrollframe-1.html position-sticky-in-transformed-scrollframe-ref.html # Bug 1604338
fuzzy-if(Android&&!webrender,3-3,4-4) fuzzy-if(Android&&webrender,13-13,4-4) fuzzy-if(webrender&&gtkWidget,26-27,30-32) fuzzy-if(webrender&&cocoaWidget,16-16,44-44) skip-if(!asyncPan) == position-sticky-in-transformed-scrollframe-2.html position-sticky-in-transformed-scrollframe-ref.html # Bug 1604338
diff -up firefox-84.0.2/layout/reftests/bidi/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/bidi/reftest.list
--- firefox-84.0.2/layout/reftests/bidi/reftest.list.firefox-tests-reftest 2021-01-05 20:58:39.000000000 +0100
+++ firefox-84.0.2/layout/reftests/bidi/reftest.list 2021-01-12 20:30:45.683412265 +0100
diff -up firefox-85.0/layout/reftests/bidi/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/bidi/reftest.list
--- firefox-85.0/layout/reftests/bidi/reftest.list.firefox-tests-reftest 2021-01-18 19:30:10.000000000 +0100
+++ firefox-85.0/layout/reftests/bidi/reftest.list 2021-01-21 09:52:08.485439676 +0100
@@ -30,8 +30,6 @@ random-if(cocoaWidget) == mirroring-02.h
== mixedChartype-00-j.html mixedChartype-00-ref.html
== mixedChartype-01.html mixedChartype-01-ref.html
@ -160,9 +162,9 @@ diff -up firefox-84.0.2/layout/reftests/bidi/reftest.list.firefox-tests-reftest
== 1217833-1.html 1217833-1-ref.html
== 1217833-2.html 1217833-2-ref.html
== 1231175-1.html 1231175-1-ref.html
diff -up firefox-84.0.2/layout/reftests/border-radius/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/border-radius/reftest.list
--- firefox-84.0.2/layout/reftests/border-radius/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/border-radius/reftest.list 2021-01-12 20:30:45.683412265 +0100
diff -up firefox-85.0/layout/reftests/border-radius/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/border-radius/reftest.list
--- firefox-85.0/layout/reftests/border-radius/reftest.list.firefox-tests-reftest 2021-01-18 19:29:50.000000000 +0100
+++ firefox-85.0/layout/reftests/border-radius/reftest.list 2021-01-21 09:52:08.486439705 +0100
@@ -51,7 +51,6 @@ fuzzy-if(/^Windows\x20NT\x2010\.0/.test(
fuzzy-if(skiaContent,0-1,0-77) == clipping-5-overflow-hidden.html clipping-5-ref.html
fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu),0-1,0-4) fuzzy-if(Android,0-5,0-21) fuzzy-if(skiaContent,0-1,0-97) == clipping-5-refi.html clipping-5-ref.html
@ -171,20 +173,20 @@ diff -up firefox-84.0.2/layout/reftests/border-radius/reftest.list.firefox-tests
fuzzy-if(true,0-2,0-29) fuzzy-if(d2d,0-46,0-71) fuzzy-if(Android,0-255,0-586) fuzzy-if(skiaContent,0-28,0-97) == clipping-7.html clipping-7-ref.html # ColorLayer and MaskLayer with transforms that aren't identical. Reference image rendered without using layers (which causes fuzzy failures).
fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),0-1,0-5) == clipping-and-zindex-1.html clipping-and-zindex-1-ref.html
fuzzy-if(cocoaWidget,0-1,0-4) fuzzy-if(d2d,0-59,0-342) fuzzy-if(d3d11&&advancedLayers&&!d2d,0-30,0-3) == intersecting-clipping-1-canvas.html intersecting-clipping-1-refc.html
diff -up firefox-84.0.2/layout/reftests/box-shadow/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/box-shadow/reftest.list
--- firefox-84.0.2/layout/reftests/box-shadow/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/box-shadow/reftest.list 2021-01-12 20:30:45.683412265 +0100
diff -up firefox-85.0/layout/reftests/box-shadow/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/box-shadow/reftest.list
--- firefox-85.0/layout/reftests/box-shadow/reftest.list.firefox-tests-reftest 2021-01-21 09:52:08.486439705 +0100
+++ firefox-85.0/layout/reftests/box-shadow/reftest.list 2021-01-21 09:53:36.154040097 +0100
@@ -15,7 +15,6 @@ fuzzy-if(OSX==1010,0-1,0-24) fuzzy-if(d2
== boxshadow-fileupload.html boxshadow-fileupload-ref.html
fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu),0-98,0-152) fuzzy-if(skiaContent,0-13,0-28) fuzzy-if(webrender,19-19,47-47) == boxshadow-inner-basic.html boxshadow-inner-basic-ref.svg
-fuzzy-if(skiaContent,0-1,0-17) random-if(layersGPUAccelerated) == boxshadow-mixed.html boxshadow-mixed-ref.html
-fuzzy-if(skiaContent,0-1,0-18) random-if(layersGPUAccelerated) == boxshadow-mixed.html boxshadow-mixed-ref.html
fuzzy-if(skiaContent,0-1,0-17) == boxshadow-mixed-2.html boxshadow-mixed-2-ref.html
random-if(d2d) fuzzy-if(skiaContent,0-1,0-212) fuzzy-if(webrender,0-127,0-3528) == boxshadow-rounded-spread.html boxshadow-rounded-spread-ref.html
fuzzy-if(skiaContent,0-1,0-50) == chrome://reftest/content/box-shadow/boxshadow-dynamic.xhtml chrome://reftest/content/box-shadow/boxshadow-dynamic-ref.xhtml
diff -up firefox-84.0.2/layout/reftests/bugs/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/bugs/reftest.list
--- firefox-84.0.2/layout/reftests/bugs/reftest.list.firefox-tests-reftest 2021-01-05 21:29:48.000000000 +0100
+++ firefox-84.0.2/layout/reftests/bugs/reftest.list 2021-01-12 20:30:45.683412265 +0100
diff -up firefox-85.0/layout/reftests/bugs/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/bugs/reftest.list
--- firefox-85.0/layout/reftests/bugs/reftest.list.firefox-tests-reftest 2021-01-18 19:30:10.000000000 +0100
+++ firefox-85.0/layout/reftests/bugs/reftest.list 2021-01-21 09:54:18.891308234 +0100
@@ -461,7 +461,6 @@ random == 328829-1.xhtml 328829-1-ref.xh
!= 338251-pre.html about:blank
== 338251-pre-oh.html 338251-pre-oh-ref.html
@ -201,7 +203,7 @@ diff -up firefox-84.0.2/layout/reftests/bugs/reftest.list.firefox-tests-reftest
!= 363706-1.html about:blank
== 363728-1.html 363728-1-ref.html
== 363728-2.html 363728-2-ref.html
@@ -927,8 +925,6 @@ fuzzy-if(winWidget,0-123,0-1600) fuzzy-i
@@ -924,8 +922,6 @@ fuzzy-if(winWidget,0-123,0-1600) fuzzy-i
!= 409659-1c.html 409659-1-ref.html
fuzzy-if(winWidget,0-123,0-1900) fuzzy-if(webrender&&swgl,0-1,0-39) == 409659-1d.html 409659-1-ref.html # Bug 1128229
== 410621-1.html 410621-1-ref.html
@ -210,23 +212,23 @@ diff -up firefox-84.0.2/layout/reftests/bugs/reftest.list.firefox-tests-reftest
== 411367-2.html 411367-2-ref.html
== 411367-3.html 411367-3-ref.html
== 411585-1.html 411585-1-ref.html
@@ -1001,7 +997,6 @@ fuzzy-if(skiaContent,0-1,0-40) == 421632
fails-if(Android) fuzzy-if(webrender,63-64,1024-1024) fails-if(usesRepeatResampling&&!(webrender&&winWidget)) == 421885-1.xml 421885-1-ref.xml
@@ -998,7 +994,6 @@ fuzzy-if(skiaContent,0-1,0-40) == 421632
fails-if(Android) fuzzy-if(webrender,63-65,1024-1024) fails-if(usesRepeatResampling&&!(webrender&&winWidget)) == 421885-1.xml 421885-1-ref.xml
== 421955-1.html 421955-1-ref.html
== 422249-1.html 422249-1-ref.html
-== 422394-1.html 422394-1-ref.html
== 422678-1.html 422678-1-ref.html
== 423130-1.html 423130-1-ref.html
== 423385-1.html 423385-1-ref.html
@@ -1176,7 +1171,6 @@ fuzzy-if(webrender,0-4,0-361) == 449519-
@@ -1173,7 +1168,6 @@ fuzzy-if(webrender,0-4,0-361) == 449519-
== 455171-5.html 455171-5-ref.html
== 455280-1.xhtml 455280-1-ref.xhtml
fails-if(Android) == 455826-1.html 455826-1-ref.html
-fails-if(Android||cocoaWidget||winWidget) == chrome://reftest/content/bugs/456147.xhtml 456147-ref.html # bug 458047
fuzzy-if(Android,0-11,0-41) fuzzy-if(winWidget||gtkWidget,0-4,0-6) fuzzy-if(d2d,0-16,0-95) fuzzy-if(skiaContent,0-42,0-154) fuzzy-if(webrender,56-60,449-570) == 456219-1a.html 456219-1-ref.html # bug 1128229
fuzzy-if(Android,0-11,0-41) fuzzy-if(winWidget||gtkWidget,0-4,0-6) fuzzy-if(d2d,0-16,0-99) fuzzy-if(skiaContent,0-42,0-154) fuzzy-if(webrender,56-60,449-570) == 456219-1b.html 456219-1-ref.html # bug 1128229
fuzzy-if(Android,0-11,0-41) fuzzy-if(winWidget||gtkWidget,0-4,0-6) fuzzy-if(d2d,0-16,0-99) fuzzy-if(skiaContent,0-42,0-154) fuzzy-if(webrender,56-60,449-1251) == 456219-1b.html 456219-1-ref.html # bug 1128229
fuzzy-if(Android,0-11,0-41) fuzzy-if(winWidget||gtkWidget,0-4,0-6) fuzzy-if(d2d,0-16,0-99) fuzzy-if(skiaContent,0-42,0-154) fuzzy-if(webrender,56-60,449-497) fuzzy-if(geckoview&&webrender&&device,60-60,499-4421) == 456219-1c.html 456219-1-ref.html # bug 1128229
@@ -1387,8 +1381,6 @@ fuzzy-if(Android,0-5,0-1656) fuzzy-if(sk
@@ -1384,8 +1378,6 @@ fuzzy-if(Android,0-5,0-1656) fuzzy-if(sk
== 512631-1.html 512631-1-ref.html
fuzzy-if(Android,0-1,0-2) == 513153-1a.html 513153-1-ref.html
fuzzy-if(Android,0-1,0-2) == 513153-1b.html 513153-1-ref.html
@ -235,7 +237,7 @@ diff -up firefox-84.0.2/layout/reftests/bugs/reftest.list.firefox-tests-reftest
== chrome://reftest/content/bugs/513318-1.xhtml chrome://reftest/content/bugs/513318-1-ref.xhtml
fails-if(Android&&(!asyncPan)) != chrome://reftest/content/bugs/513318-2.xhtml chrome://reftest/content/bugs/513318-2-ref.xhtml
== 514917-1.html 514917-1-ref.html
@@ -1831,7 +1823,6 @@ pref(layout.css.moz-document.content.ena
@@ -1828,7 +1820,6 @@ pref(layout.css.moz-document.content.ena
fails-if(webrender) == 1059498-1.html 1059498-1-ref.html # WebRender: see bug 1504290
fails-if(webrender) == 1059498-2.html 1059498-1-ref.html # WebRender: see bug 1504290
fails-if(webrender) == 1059498-3.html 1059498-1-ref.html # WebRender: see bug 1499113
@ -243,7 +245,7 @@ diff -up firefox-84.0.2/layout/reftests/bugs/reftest.list.firefox-tests-reftest
== 1062792-1.html 1062792-1-ref.html
== 1062963-floatmanager-reflow.html 1062963-floatmanager-reflow-ref.html
== 1066554-1.html 1066554-1-ref.html
@@ -2032,8 +2023,6 @@ needs-focus != 1377447-1.html 1377447-2.
@@ -2029,8 +2020,6 @@ needs-focus != 1377447-1.html 1377447-2.
== 1401317.html 1401317-ref.html
== 1401992.html 1401992-ref.html
== 1405878-1.xml 1405878-1-ref.xml
@ -252,7 +254,7 @@ diff -up firefox-84.0.2/layout/reftests/bugs/reftest.list.firefox-tests-reftest
fuzzy-if(webrender,0-129,0-48) == 1406179.html 1406179-ref.html
== 1406183-1.html 1406183-1-ref.html
== 1410028.html 1410028-ref.html
@@ -2077,7 +2066,6 @@ fuzzy-if(!webrender,1-5,66-547) fuzzy-if
@@ -2074,7 +2063,6 @@ fuzzy-if(!webrender,1-5,66-547) fuzzy-if
fuzzy-if(!webrender,0-6,0-34) fuzzy-if(Android,9-14,44-60) fails-if(webrender) == 1529992-2.html 1529992-2-ref.html
== 1535040-1.html 1535040-1-ref.html
== 1545360-1.xhtml 1545360-1-ref.xhtml
@ -260,7 +262,7 @@ diff -up firefox-84.0.2/layout/reftests/bugs/reftest.list.firefox-tests-reftest
== 1546856-1.html 1546856-ref.html
== 1546856-2.html 1546856-ref.html
== 1547759-1.html 1547759-1-ref.html
@@ -2088,7 +2076,6 @@ pref(image.downscale-during-decode.enabl
@@ -2085,7 +2073,6 @@ pref(image.downscale-during-decode.enabl
!= 1563484.html 1563484-notref.html
== 1563484.html 1563484-ref.html
fuzzy-if(!webrender||!winWidget,251-255,464-1613) fuzzy-if(geckoview&&webrender,251-255,1392-1405) skip-if(Android&&webrender) == 1562733-rotated-nastaliq-1.html 1562733-rotated-nastaliq-1-ref.html #Bug 1604765
@ -268,9 +270,9 @@ diff -up firefox-84.0.2/layout/reftests/bugs/reftest.list.firefox-tests-reftest
test-pref(plain_text.wrap_long_lines,false) != 1565129.txt 1565129.txt
fuzzy(0-32,0-8) fuzzy-if(Android&&webrender,0-32,0-1458) == 1576553-1.html 1576553-1-ref.html
fuzzy(0-1,0-10000) == 1577566-1.html 1577566-1-ref.html
diff -up firefox-84.0.2/layout/reftests/canvas/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/canvas/reftest.list
--- firefox-84.0.2/layout/reftests/canvas/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/canvas/reftest.list 2021-01-12 20:30:45.683412265 +0100
diff -up firefox-85.0/layout/reftests/canvas/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/canvas/reftest.list
--- firefox-85.0/layout/reftests/canvas/reftest.list.firefox-tests-reftest 2021-01-18 19:30:10.000000000 +0100
+++ firefox-85.0/layout/reftests/canvas/reftest.list 2021-01-21 09:52:08.486439705 +0100
@@ -48,10 +48,7 @@ fuzzy-if(azureSkiaGL,0-10,0-400) == text
!= text-bidi-ltr-test.html text-bidi-ltr-notref.html # for bug 698185
== text-bidi-rtl-test.html text-bidi-rtl-ref.html
@ -282,9 +284,9 @@ diff -up firefox-84.0.2/layout/reftests/canvas/reftest.list.firefox-tests-reftes
random-if(!d2d) != text-subpixel-1.html text-subpixel-1-ref.html
diff -up firefox-84.0.2/layout/reftests/columns/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/columns/reftest.list
--- firefox-84.0.2/layout/reftests/columns/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/columns/reftest.list 2021-01-12 20:30:45.683412265 +0100
diff -up firefox-85.0/layout/reftests/columns/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/columns/reftest.list
--- firefox-85.0/layout/reftests/columns/reftest.list.firefox-tests-reftest 2021-01-18 19:30:05.000000000 +0100
+++ firefox-85.0/layout/reftests/columns/reftest.list 2021-01-21 09:52:08.486439705 +0100
@@ -5,7 +5,6 @@
== min-width-1a.html pref-width-1-ref.html
== min-width-1b.html min-width-1-ref.html
@ -293,9 +295,9 @@ diff -up firefox-84.0.2/layout/reftests/columns/reftest.list.firefox-tests-refte
== column-balancing-overflow-000.html column-balancing-overflow-000.ref.html
== column-balancing-overflow-001.html column-balancing-overflow-000.ref.html
== column-balancing-overflow-002.html column-balancing-overflow-002.ref.html
diff -up firefox-84.0.2/layout/reftests/css-blending/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/css-blending/reftest.list
--- firefox-84.0.2/layout/reftests/css-blending/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/css-blending/reftest.list 2021-01-12 20:30:45.683412265 +0100
diff -up firefox-85.0/layout/reftests/css-blending/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/css-blending/reftest.list
--- firefox-85.0/layout/reftests/css-blending/reftest.list.firefox-tests-reftest 2021-01-18 19:29:50.000000000 +0100
+++ firefox-85.0/layout/reftests/css-blending/reftest.list 2021-01-21 09:52:08.486439705 +0100
@@ -87,9 +87,6 @@ test-pref(image.animation_mode,"none") =
== background-blending-background-attachement-fixed.html background-blending-background-attachement-fixed-ref.html
== background-blending-background-attachement-fixed-scroll.html background-blending-background-attachement-fixed-scroll-ref.html
@ -306,9 +308,9 @@ diff -up firefox-84.0.2/layout/reftests/css-blending/reftest.list.firefox-tests-
== background-blending-moz-element.html background-blending-moz-element-ref.html
fuzzy(0-1,0-40000) == mix-blend-mode-soft-light.html mix-blend-mode-soft-light-ref.html
diff -up firefox-84.0.2/layout/reftests/css-break/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/css-break/reftest.list
--- firefox-84.0.2/layout/reftests/css-break/reftest.list.firefox-tests-reftest 2021-01-05 21:29:48.000000000 +0100
+++ firefox-84.0.2/layout/reftests/css-break/reftest.list 2021-01-12 20:30:45.684412292 +0100
diff -up firefox-85.0/layout/reftests/css-break/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/css-break/reftest.list
--- firefox-85.0/layout/reftests/css-break/reftest.list.firefox-tests-reftest 2021-01-18 19:30:10.000000000 +0100
+++ firefox-85.0/layout/reftests/css-break/reftest.list 2021-01-21 09:52:08.486439705 +0100
@@ -1,6 +1,3 @@
-== box-decoration-break-1.html box-decoration-break-1-ref.html
-fuzzy(0-1,0-20) fuzzy-if(skiaContent,0-1,0-700) == box-decoration-break-with-inset-box-shadow-1.html box-decoration-break-with-inset-box-shadow-1-ref.html
@ -316,9 +318,9 @@ diff -up firefox-84.0.2/layout/reftests/css-break/reftest.list.firefox-tests-ref
== box-decoration-break-border-image.html box-decoration-break-border-image-ref.html
== box-decoration-break-block-border-padding.html box-decoration-break-block-border-padding-ref.html
== box-decoration-break-block-margin.html box-decoration-break-block-margin-ref.html
diff -up firefox-84.0.2/layout/reftests/css-grid/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/css-grid/reftest.list
--- firefox-84.0.2/layout/reftests/css-grid/reftest.list.firefox-tests-reftest 2021-01-05 21:29:48.000000000 +0100
+++ firefox-84.0.2/layout/reftests/css-grid/reftest.list 2021-01-12 20:30:45.684412292 +0100
diff -up firefox-85.0/layout/reftests/css-grid/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/css-grid/reftest.list
--- firefox-85.0/layout/reftests/css-grid/reftest.list.firefox-tests-reftest 2021-01-18 19:30:10.000000000 +0100
+++ firefox-85.0/layout/reftests/css-grid/reftest.list 2021-01-21 09:52:08.486439705 +0100
@@ -71,7 +71,6 @@ random-if(/^Windows\x20NT\x206\.1/.test(
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == grid-min-content-min-sizing-transferred-size-003.html grid-min-content-min-sizing-transferred-size-003-ref.html # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == grid-min-content-min-sizing-transferred-size-004.html grid-min-content-min-sizing-transferred-size-004-ref.html # Bug 1392106
@ -327,9 +329,9 @@ diff -up firefox-84.0.2/layout/reftests/css-grid/reftest.list.firefox-tests-reft
fuzzy-if(webrender&&winWidget,0-1,0-75) == grid-track-intrinsic-sizing-002.html grid-track-intrinsic-sizing-002-ref.html
fuzzy-if(webrender&&winWidget,0-1,0-75) == grid-track-intrinsic-sizing-003.html grid-track-intrinsic-sizing-003-ref.html
== grid-track-intrinsic-sizing-004.html grid-track-intrinsic-sizing-004-ref.html
diff -up firefox-84.0.2/layout/reftests/css-ruby/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/css-ruby/reftest.list
--- firefox-84.0.2/layout/reftests/css-ruby/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/css-ruby/reftest.list 2021-01-12 20:30:45.684412292 +0100
diff -up firefox-85.0/layout/reftests/css-ruby/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/css-ruby/reftest.list
--- firefox-85.0/layout/reftests/css-ruby/reftest.list.firefox-tests-reftest 2021-01-18 19:29:51.000000000 +0100
+++ firefox-85.0/layout/reftests/css-ruby/reftest.list 2021-01-21 09:52:08.486439705 +0100
@@ -14,18 +14,12 @@ test-pref(font.minimum-size.ja,16) == mi
== line-height-3.html line-height-3-ref.html
== line-height-4.html line-height-4-ref.html
@ -349,9 +351,9 @@ diff -up firefox-84.0.2/layout/reftests/css-ruby/reftest.list.firefox-tests-reft
pref(layout.css.ruby.intercharacter.enabled,false) != ruby-intercharacter-2.htm ruby-intercharacter-2-ref.htm
# Testing a specific bug for RTL handling.
diff -up firefox-84.0.2/layout/reftests/font-face/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/font-face/reftest.list
--- firefox-84.0.2/layout/reftests/font-face/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/font-face/reftest.list 2021-01-12 20:30:45.684412292 +0100
diff -up firefox-85.0/layout/reftests/font-face/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/font-face/reftest.list
--- firefox-85.0/layout/reftests/font-face/reftest.list.firefox-tests-reftest 2021-01-18 19:29:50.000000000 +0100
+++ firefox-85.0/layout/reftests/font-face/reftest.list 2021-01-21 09:52:08.486439705 +0100
@@ -6,7 +6,6 @@ random-if(winWidget||gtkWidget) == downl
asserts-if(Android&&!asyncPan,1-8) != download-3-notref.html download-3.html # bug 1019192
asserts-if(Android,0-8) == download-3-ref.html download-3.html # same bugs as above
@ -398,9 +400,9 @@ diff -up firefox-84.0.2/layout/reftests/font-face/reftest.list.firefox-tests-ref
HTTP(..) == bug-1481905-cancel-load.html bug-1481905-cancel-load-ref.html
diff -up firefox-84.0.2/layout/reftests/font-matching/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/font-matching/reftest.list
--- firefox-84.0.2/layout/reftests/font-matching/reftest.list.firefox-tests-reftest 2021-01-05 20:58:39.000000000 +0100
+++ firefox-84.0.2/layout/reftests/font-matching/reftest.list 2021-01-12 20:30:45.684412292 +0100
diff -up firefox-85.0/layout/reftests/font-matching/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/font-matching/reftest.list
--- firefox-85.0/layout/reftests/font-matching/reftest.list.firefox-tests-reftest 2021-01-18 19:29:51.000000000 +0100
+++ firefox-85.0/layout/reftests/font-matching/reftest.list 2021-01-21 09:52:08.487439735 +0100
@@ -117,14 +117,10 @@ skip-if(!cocoaWidget) != apple-symbols-1
# distinguish between italic and oblique
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == simple-oblique.html simple-oblique-ref.html # Bug 1392106
@ -416,9 +418,9 @@ diff -up firefox-84.0.2/layout/reftests/font-matching/reftest.list.firefox-tests
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) != italic-oblique-kinnari.html italic-oblique-kinnari-ref.html # Bug 1392106
# GTK and Windows 7 don't have full emoji and symbol font, so emoji-fallback-2
diff -up firefox-84.0.2/layout/reftests/forms/fieldset/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/forms/fieldset/reftest.list
--- firefox-84.0.2/layout/reftests/forms/fieldset/reftest.list.firefox-tests-reftest 2021-01-05 19:12:27.000000000 +0100
+++ firefox-84.0.2/layout/reftests/forms/fieldset/reftest.list 2021-01-12 20:30:45.684412292 +0100
diff -up firefox-85.0/layout/reftests/forms/fieldset/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/forms/fieldset/reftest.list
--- firefox-85.0/layout/reftests/forms/fieldset/reftest.list.firefox-tests-reftest 2021-01-18 19:29:59.000000000 +0100
+++ firefox-85.0/layout/reftests/forms/fieldset/reftest.list 2021-01-21 09:52:08.487439735 +0100
@@ -5,7 +5,6 @@ fuzzy-if(skiaContent,0-2,0-13) == dynami
== fieldset-scroll-1.html fieldset-scroll-1-ref.html
== fieldset-scrolled-1.html fieldset-scrolled-1-ref.html
@ -427,18 +429,18 @@ diff -up firefox-84.0.2/layout/reftests/forms/fieldset/reftest.list.firefox-test
== relpos-legend-1.html relpos-legend-1-ref.html
== relpos-legend-2.html relpos-legend-2-ref.html
== relpos-legend-3.html relpos-legend-3-ref.html
diff -up firefox-84.0.2/layout/reftests/forms/input/text/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/forms/input/text/reftest.list
--- firefox-84.0.2/layout/reftests/forms/input/text/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/forms/input/text/reftest.list 2021-01-12 20:30:45.684412292 +0100
diff -up firefox-85.0/layout/reftests/forms/input/text/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/forms/input/text/reftest.list
--- firefox-85.0/layout/reftests/forms/input/text/reftest.list.firefox-tests-reftest 2021-01-18 19:30:10.000000000 +0100
+++ firefox-85.0/layout/reftests/forms/input/text/reftest.list 2021-01-21 09:52:08.487439735 +0100
@@ -1,5 +1,4 @@
== bounds-1.html bounds-1-ref.html
-fuzzy-if(asyncPan&&!layersGPUAccelerated,0-151,0-111) fuzzy-if(webrender,0-65,0-3) == size-1.html size-1-ref.html
== size-2.html size-2-ref.html
== baseline-1.html baseline-1-ref.html
== chrome://reftest/content/forms/input/text/centering-1.xhtml chrome://reftest/content/forms/input/text/centering-1-ref.xhtml
diff -up firefox-84.0.2/layout/reftests/forms/placeholder/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/forms/placeholder/reftest.list
--- firefox-84.0.2/layout/reftests/forms/placeholder/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/forms/placeholder/reftest.list 2021-01-12 20:30:45.684412292 +0100
diff -up firefox-85.0/layout/reftests/forms/placeholder/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/forms/placeholder/reftest.list
--- firefox-85.0/layout/reftests/forms/placeholder/reftest.list.firefox-tests-reftest 2021-01-18 19:30:10.000000000 +0100
+++ firefox-85.0/layout/reftests/forms/placeholder/reftest.list 2021-01-21 09:52:08.487439735 +0100
@@ -17,9 +17,6 @@
== placeholder-4.html placeholder-overridden-ref.html
== placeholder-5.html placeholder-visible-ref.html
@ -449,9 +451,9 @@ diff -up firefox-84.0.2/layout/reftests/forms/placeholder/reftest.list.firefox-t
skip-if(Android&&asyncPan) == placeholder-6-textarea.html placeholder-overflow-textarea-ref.html
# needs-focus == placeholder-7.html placeholder-focus-ref.html
# needs-focus == placeholder-8.html placeholder-focus-ref.html
diff -up firefox-84.0.2/layout/reftests/forms/textbox/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/forms/textbox/reftest.list
--- firefox-84.0.2/layout/reftests/forms/textbox/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/forms/textbox/reftest.list 2021-01-12 20:30:45.684412292 +0100
diff -up firefox-85.0/layout/reftests/forms/textbox/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/forms/textbox/reftest.list
--- firefox-85.0/layout/reftests/forms/textbox/reftest.list.firefox-tests-reftest 2021-01-18 19:30:10.000000000 +0100
+++ firefox-85.0/layout/reftests/forms/textbox/reftest.list 2021-01-21 09:52:08.487439735 +0100
@@ -1,11 +1,9 @@
# access-key tests are no use on OS X because access keys are not indicated visually
# no real XUL theme on Android so we just skip
@ -464,9 +466,9 @@ diff -up firefox-84.0.2/layout/reftests/forms/textbox/reftest.list.firefox-tests
skip-if(cocoaWidget||Android) != chrome://reftest/content/forms/textbox/accesskey-4.xhtml chrome://reftest/content/forms/textbox/accesskey-4-notref.xhtml
skip-if(Android) == chrome://reftest/content/forms/textbox/align-baseline-1.xhtml chrome://reftest/content/forms/textbox/align-baseline-1-ref.xhtml # test for bug 494901
skip-if(Android) == chrome://reftest/content/forms/textbox/setsize.xhtml chrome://reftest/content/forms/textbox/setsize-ref.xhtml
diff -up firefox-84.0.2/layout/reftests/image-element/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/image-element/reftest.list
--- firefox-84.0.2/layout/reftests/image-element/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/image-element/reftest.list 2021-01-14 10:44:36.106810339 +0100
diff -up firefox-85.0/layout/reftests/image-element/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/image-element/reftest.list
--- firefox-85.0/layout/reftests/image-element/reftest.list.firefox-tests-reftest 2021-01-18 19:30:10.000000000 +0100
+++ firefox-85.0/layout/reftests/image-element/reftest.list 2021-01-21 09:52:08.487439735 +0100
@@ -7,7 +7,6 @@ random == bug-364968.html bug-364968-ref
== canvas-outside-document-invalidate-01.html about:blank
fails-if(azureSkia&&!(webrender&&winWidget)) fails-if(cocoaWidget) == canvas-outside-document-invalidate-02.html about:blank # See bug 666800
@ -483,9 +485,9 @@ diff -up firefox-84.0.2/layout/reftests/image-element/reftest.list.firefox-tests
fails-if(usesRepeatResampling&&!(webrender&&winWidget)) == element-paint-subimage-sampling-restriction.html about:blank
== element-paint-clippath.html element-paint-clippath-ref.html
fuzzy-if(webrender,36-36,712-738) == element-paint-sharpness-01a.html element-paint-sharpness-01b.html
diff -up firefox-84.0.2/layout/reftests/mathml/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/mathml/reftest.list
--- firefox-84.0.2/layout/reftests/mathml/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/mathml/reftest.list 2021-01-12 20:30:45.684412292 +0100
diff -up firefox-85.0/layout/reftests/mathml/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/mathml/reftest.list
--- firefox-85.0/layout/reftests/mathml/reftest.list.firefox-tests-reftest 2021-01-18 19:29:51.000000000 +0100
+++ firefox-85.0/layout/reftests/mathml/reftest.list 2021-01-21 09:52:08.487439735 +0100
@@ -23,7 +23,6 @@ fuzzy-if(cocoaWidget,0-135,0-56) == dir-
== css-spacing-1.html css-spacing-1-ref.html
pref(mathml.disabled,true) == disabled-scriptlevel-1.html disabled-scriptlevel-1-ref.html
@ -510,26 +512,26 @@ diff -up firefox-84.0.2/layout/reftests/mathml/reftest.list.firefox-tests-reftes
fails-if(Android&&emulator) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mathvariant-1a.html mathvariant-1a-ref.html # Bug 1010679, Bug 1392106
fails-if(Android&&emulator) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mathvariant-1b.html mathvariant-1b-ref.html # Bug 1010679, Bug 1392106
fails-if(Android&&emulator) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == mathvariant-1c.html mathvariant-1c-ref.html # Bug 1010679, Bug 1392106
diff -up firefox-84.0.2/layout/reftests/outline/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/outline/reftest.list
--- firefox-84.0.2/layout/reftests/outline/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/outline/reftest.list 2021-01-12 20:30:45.684412292 +0100
diff -up firefox-85.0/layout/reftests/outline/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/outline/reftest.list
--- firefox-85.0/layout/reftests/outline/reftest.list.firefox-tests-reftest 2021-01-18 19:30:14.000000000 +0100
+++ firefox-85.0/layout/reftests/outline/reftest.list 2021-01-21 09:52:08.487439735 +0100
@@ -15,4 +15,3 @@ pref(layout.css.outline-style-auto.enabl
== outline-on-table.html outline-on-table-ref.html
== outline-table-caption.html outline-table-caption-ref.html
== outline-table-caption-invisible.html about:blank
-== outline-wrapped-span-1.html outline-wrapped-span-1-ref.html
diff -up firefox-84.0.2/layout/reftests/position-dynamic-changes/relative/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/position-dynamic-changes/relative/reftest.list
--- firefox-84.0.2/layout/reftests/position-dynamic-changes/relative/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/position-dynamic-changes/relative/reftest.list 2021-01-12 20:30:45.684412292 +0100
diff -up firefox-85.0/layout/reftests/position-dynamic-changes/relative/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/position-dynamic-changes/relative/reftest.list
--- firefox-85.0/layout/reftests/position-dynamic-changes/relative/reftest.list.firefox-tests-reftest 2021-01-18 19:30:10.000000000 +0100
+++ firefox-85.0/layout/reftests/position-dynamic-changes/relative/reftest.list 2021-01-21 09:52:08.487439735 +0100
@@ -1,5 +1 @@
-fuzzy-if(cocoaWidget,0-1,0-2) fuzzy-if(d2d,0-47,0-26) fuzzy-if(asyncPan&&!layersGPUAccelerated,0-169,0-970) == move-right-bottom.html move-right-bottom-ref.html
-fuzzy-if(cocoaWidget,0-1,0-2) fuzzy-if(asyncPan&&!layersGPUAccelerated,0-169,0-970) == move-top-left.html move-top-left-ref.html # Bug 688545
-fuzzy-if(cocoaWidget,0-1,0-3) fuzzy-if(asyncPan&&!layersGPUAccelerated,0-144,0-580) == move-right-bottom-table.html move-right-bottom-table-ref.html
-fuzzy-if(cocoaWidget,0-1,0-3) fuzzy-if(asyncPan&&!layersGPUAccelerated,0-144,0-580) == move-top-left-table.html move-top-left-table-ref.html # Bug 688545
== percent.html percent-ref.html
diff -up firefox-84.0.2/layout/reftests/position-sticky/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/position-sticky/reftest.list
--- firefox-84.0.2/layout/reftests/position-sticky/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/position-sticky/reftest.list 2021-01-12 20:30:45.684412292 +0100
diff -up firefox-85.0/layout/reftests/position-sticky/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/position-sticky/reftest.list
--- firefox-85.0/layout/reftests/position-sticky/reftest.list.firefox-tests-reftest 2021-01-18 19:30:14.000000000 +0100
+++ firefox-85.0/layout/reftests/position-sticky/reftest.list 2021-01-21 09:52:08.487439735 +0100
@@ -50,6 +50,5 @@ fuzzy-if(Android,0-8,0-630) fuzzy-if(OSX
== block-in-inline-continuations.html block-in-inline-continuations-ref.html
== iframe-1.html iframe-1-ref.html
@ -537,9 +539,9 @@ diff -up firefox-84.0.2/layout/reftests/position-sticky/reftest.list.firefox-tes
-fuzzy-if(Android,0-4,0-4) fuzzy-if(webrender&&gtkWidget,16-17,28-32) fuzzy-if(webrender&&cocoaWidget,8-8,38-42) skip-if(!asyncPan) == transformed-2.html transformed-2-ref.html # Bug 1604644
skip-if(!asyncPan) fuzzy-if(Android,0-10,0-4) fuzzy-if(webrender&&gtkWidget,29-30,30-32) fuzzy-if(webrender&&cocoaWidget,15-16,44-44) == nested-sticky-1.html nested-sticky-1-ref.html # Bug 1604644
skip-if(!asyncPan) fuzzy-if(Android,0-10,0-4) fuzzy-if(webrender&&gtkWidget,29-30,30-32) fuzzy-if(webrender&&cocoaWidget,15-16,44-44) fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu),0-4,0-104) == nested-sticky-2.html nested-sticky-2-ref.html # Bug 1604644
diff -up firefox-84.0.2/layout/reftests/reftest-sanity/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/reftest-sanity/reftest.list
--- firefox-84.0.2/layout/reftests/reftest-sanity/reftest.list.firefox-tests-reftest 2021-01-05 19:12:27.000000000 +0100
+++ firefox-84.0.2/layout/reftests/reftest-sanity/reftest.list 2021-01-12 20:30:45.684412292 +0100
diff -up firefox-85.0/layout/reftests/reftest-sanity/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/reftest-sanity/reftest.list
--- firefox-85.0/layout/reftests/reftest-sanity/reftest.list.firefox-tests-reftest 2021-01-18 19:30:14.000000000 +0100
+++ firefox-85.0/layout/reftests/reftest-sanity/reftest.list 2021-01-21 09:52:08.487439735 +0100
@@ -128,12 +128,12 @@ pref(font.size.variable.x-western,24) !=
fails pref(font.size.variable.x-western,false) == font-size-16.html font-default.html
fails pref(font.size.variable.x-western,"foo") == font-size-16.html font-default.html
@ -559,10 +561,10 @@ diff -up firefox-84.0.2/layout/reftests/reftest-sanity/reftest.list.firefox-test
# tests for ref-pref, and test-pref
ref-pref(font.size.variable.x-western,16) == font-size-16.html font-default.html
ref-pref(font.size.variable.x-western,16) != font-size-24.html font-default.html
diff -up firefox-84.0.2/layout/reftests/svg/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/svg/reftest.list
--- firefox-84.0.2/layout/reftests/svg/reftest.list.firefox-tests-reftest 2021-01-05 21:29:48.000000000 +0100
+++ firefox-84.0.2/layout/reftests/svg/reftest.list 2021-01-12 20:30:45.685412320 +0100
@@ -477,9 +477,7 @@ random-if(/^Windows\x20NT\x206\.1/.test(
diff -up firefox-85.0/layout/reftests/svg/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/svg/reftest.list
--- firefox-85.0/layout/reftests/svg/reftest.list.firefox-tests-reftest 2021-01-18 19:30:14.000000000 +0100
+++ firefox-85.0/layout/reftests/svg/reftest.list 2021-01-21 09:52:08.487439735 +0100
@@ -478,9 +478,7 @@ random-if(/^Windows\x20NT\x206\.1/.test(
== text-in-link-02.svg text-in-link-02-ref.svg
== text-in-link-03.svg text-in-link-03-ref.svg
# Tests for bug 546813: sanity-check using HTML text, then test SVG behavior.
@ -572,7 +574,7 @@ diff -up firefox-84.0.2/layout/reftests/svg/reftest.list.firefox-tests-reftest f
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-layout-02.svg text-layout-02-ref.svg # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-layout-03.svg text-layout-03-ref.svg # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-layout-04.svg text-layout-04-ref.svg # Bug 1392106
@@ -487,7 +485,6 @@ random-if(/^Windows\x20NT\x206\.1/.test(
@@ -488,7 +486,6 @@ random-if(/^Windows\x20NT\x206\.1/.test(
fuzzy-if(cocoaWidget&&layersGPUAccelerated,0-1,0-3) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-layout-06.svg text-layout-06-ref.svg # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-layout-07.svg text-layout-07-ref.svg # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-layout-08.svg text-layout-08-ref.svg # Bug 1392106
@ -580,9 +582,9 @@ diff -up firefox-84.0.2/layout/reftests/svg/reftest.list.firefox-tests-reftest f
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-scale-01.svg text-scale-01-ref.svg # Bug 1392106
fuzzy-if(skiaContent,0-2,0-1000) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-scale-02.svg text-scale-02-ref.svg # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == text-scale-03.svg text-scale-03-ref.svg # Bug 1392106
diff -up firefox-84.0.2/layout/reftests/svg/svg-integration/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/svg/svg-integration/reftest.list
--- firefox-84.0.2/layout/reftests/svg/svg-integration/reftest.list.firefox-tests-reftest 2021-01-05 19:12:27.000000000 +0100
+++ firefox-84.0.2/layout/reftests/svg/svg-integration/reftest.list 2021-01-12 20:30:45.685412320 +0100
diff -up firefox-85.0/layout/reftests/svg/svg-integration/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/svg/svg-integration/reftest.list
--- firefox-85.0/layout/reftests/svg/svg-integration/reftest.list.firefox-tests-reftest 2021-01-18 19:29:51.000000000 +0100
+++ firefox-85.0/layout/reftests/svg/svg-integration/reftest.list 2021-01-21 09:52:08.487439735 +0100
@@ -47,6 +47,5 @@ fuzzy(0-1,0-5000) == mask-clipPath-opaci
== transform-outer-svg-01.xhtml transform-outer-svg-01-ref.xhtml
@ -590,9 +592,9 @@ diff -up firefox-84.0.2/layout/reftests/svg/svg-integration/reftest.list.firefox
-fuzzy-if(Android,0-4,0-10) == box-decoration-break-01.xhtml box-decoration-break-01-ref.xhtml
fuzzy(0-119,0-16) == box-decoration-break-02.xhtml box-decoration-break-02-ref.xhtml
fuzzy(0-67,0-238) == box-decoration-break-03.xhtml box-decoration-break-01-ref.xhtml
diff -up firefox-84.0.2/layout/reftests/svg/text/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/svg/text/reftest.list
--- firefox-84.0.2/layout/reftests/svg/text/reftest.list.firefox-tests-reftest 2021-01-05 21:29:48.000000000 +0100
+++ firefox-84.0.2/layout/reftests/svg/text/reftest.list 2021-01-12 20:30:45.685412320 +0100
diff -up firefox-85.0/layout/reftests/svg/text/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/svg/text/reftest.list
--- firefox-85.0/layout/reftests/svg/text/reftest.list.firefox-tests-reftest 2021-01-18 19:30:14.000000000 +0100
+++ firefox-85.0/layout/reftests/svg/text/reftest.list 2021-01-21 09:52:08.487439735 +0100
@@ -1,14 +1,5 @@
-random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy-if(webrender&&winWidget,122-127,221-254) == simple.svg simple-ref.html # Bug 1392106
== simple-2.svg simple.svg
@ -637,7 +639,7 @@ diff -up firefox-84.0.2/layout/reftests/svg/text/reftest.list.firefox-tests-reft
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == textpath-a.svg textpath-a-ref.svg # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == textpath-anchor-middle.svg textpath-anchor-middle-ref.svg # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == textpath-anchor-end.svg textpath-anchor-end-ref.svg # Bug 1392106
@@ -196,13 +183,7 @@ needs-focus == deselectAll.svg deselectA
@@ -198,13 +185,7 @@ needs-focus == deselectAll.svg deselectA
fuzzy-if(skiaContent,0-1,0-250) needs-focus == selectSubString.svg selectSubString-ref.svg
fuzzy-if(skiaContent,0-1,0-600) needs-focus == selectSubString-2.svg selectSubString-2-ref.svg
fuzzy-if(skiaContent,0-1,0-250) needs-focus == selectSubString-3.svg selectSubString-3-ref.svg
@ -651,9 +653,9 @@ diff -up firefox-84.0.2/layout/reftests/svg/text/reftest.list.firefox-tests-reft
# letter-spacing and word-spacing
pref(svg.text-spacing.enabled,true) == simple-letter-spacing.svg simple-letter-spacing-ref.svg
diff -up firefox-84.0.2/layout/reftests/tab-size/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/tab-size/reftest.list
--- firefox-84.0.2/layout/reftests/tab-size/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/tab-size/reftest.list 2021-01-12 20:30:45.685412320 +0100
diff -up firefox-85.0/layout/reftests/tab-size/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/tab-size/reftest.list
--- firefox-85.0/layout/reftests/tab-size/reftest.list.firefox-tests-reftest 2021-01-18 19:30:14.000000000 +0100
+++ firefox-85.0/layout/reftests/tab-size/reftest.list 2021-01-21 09:52:08.488439764 +0100
@@ -1,10 +1,4 @@
== tab-size-8.html tab-size-initial.html
-== tab-size-8.html spaces-8.html
@ -665,18 +667,18 @@ diff -up firefox-84.0.2/layout/reftests/tab-size/reftest.list.firefox-tests-reft
== tab-size-0.html spaces-0.html
== tab-size-negative.html tab-size-initial.html
== tab-size-change-1a.html tab-size-change-1-ref.html
diff -up firefox-84.0.2/layout/reftests/text-decoration/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/text-decoration/reftest.list
--- firefox-84.0.2/layout/reftests/text-decoration/reftest.list.firefox-tests-reftest 2021-01-05 20:58:39.000000000 +0100
+++ firefox-84.0.2/layout/reftests/text-decoration/reftest.list 2021-01-12 20:30:45.685412320 +0100
diff -up firefox-85.0/layout/reftests/text-decoration/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/text-decoration/reftest.list
--- firefox-85.0/layout/reftests/text-decoration/reftest.list.firefox-tests-reftest 2021-01-18 19:30:14.000000000 +0100
+++ firefox-85.0/layout/reftests/text-decoration/reftest.list 2021-01-21 09:52:08.488439764 +0100
@@ -1,5 +1,3 @@
-fuzzy-if(webrender&&gtkWidget,0-208,0-12) == complex-decoration-style-quirks.html complex-decoration-style-quirks-ref.html
-fuzzy-if(webrender&&gtkWidget,0-208,0-12) == complex-decoration-style-standards.html complex-decoration-style-standards-ref.html
== decoration-color-quirks.html decoration-color-quirks-ref.html
== decoration-color-standards.html decoration-color-standards-ref.html
== decoration-style-quirks.html decoration-style-quirks-ref.html
diff -up firefox-84.0.2/layout/reftests/text-overflow/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/text-overflow/reftest.list
--- firefox-84.0.2/layout/reftests/text-overflow/reftest.list.firefox-tests-reftest 2021-01-05 20:58:39.000000000 +0100
+++ firefox-84.0.2/layout/reftests/text-overflow/reftest.list 2021-01-12 20:30:45.685412320 +0100
diff -up firefox-85.0/layout/reftests/text-overflow/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/text-overflow/reftest.list
--- firefox-85.0/layout/reftests/text-overflow/reftest.list.firefox-tests-reftest 2021-01-18 19:30:14.000000000 +0100
+++ firefox-85.0/layout/reftests/text-overflow/reftest.list 2021-01-21 09:52:08.488439764 +0100
@@ -3,7 +3,6 @@
fuzzy-if(Android,0-16,0-244) fuzzy-if(webrender,0-47,0-6) == marker-basic.html marker-basic-ref.html # Bug 1128229
== marker-string.html marker-string-ref.html
@ -693,9 +695,9 @@ diff -up firefox-84.0.2/layout/reftests/text-overflow/reftest.list.firefox-tests
# The vertical-text pref setting can be removed after bug 1138384 lands
== vertical-decorations-1.html vertical-decorations-1-ref.html
diff -up firefox-84.0.2/layout/reftests/text/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/text/reftest.list
--- firefox-84.0.2/layout/reftests/text/reftest.list.firefox-tests-reftest 2021-01-05 20:58:39.000000000 +0100
+++ firefox-84.0.2/layout/reftests/text/reftest.list 2021-01-12 20:30:45.685412320 +0100
diff -up firefox-85.0/layout/reftests/text/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/text/reftest.list
--- firefox-85.0/layout/reftests/text/reftest.list.firefox-tests-reftest 2021-01-18 19:30:14.000000000 +0100
+++ firefox-85.0/layout/reftests/text/reftest.list 2021-01-21 09:52:08.488439764 +0100
@@ -34,7 +34,6 @@ fuzzy-if(Android,0-255,0-325) == pre-lin
== pre-line-3.html pre-line-3-ref.html
== pre-line-4.html pre-line-4-ref.html
@ -758,9 +760,9 @@ diff -up firefox-84.0.2/layout/reftests/text/reftest.list.firefox-tests-reftest
# osx-font-smoothing - with and without subpixel AA, only under OSX
fails-if(!cocoaWidget) != osx-font-smoothing.html osx-font-smoothing-ref.html
diff -up firefox-84.0.2/layout/reftests/text-shadow/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/text-shadow/reftest.list
--- firefox-84.0.2/layout/reftests/text-shadow/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/text-shadow/reftest.list 2021-01-12 20:30:45.685412320 +0100
diff -up firefox-85.0/layout/reftests/text-shadow/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/text-shadow/reftest.list
--- firefox-85.0/layout/reftests/text-shadow/reftest.list.firefox-tests-reftest 2021-01-18 19:30:14.000000000 +0100
+++ firefox-85.0/layout/reftests/text-shadow/reftest.list 2021-01-21 09:52:08.488439764 +0100
@@ -27,9 +27,7 @@ fuzzy-if(webrender&&swgl,2-2,6320-6320)
fuzzy-if(cocoaWidget,0-27,0-2) fuzzy-if(winWidget,0-47,0-2) == overflow-clip.html overflow-clip-ref.html
@ -771,9 +773,9 @@ diff -up firefox-84.0.2/layout/reftests/text-shadow/reftest.list.firefox-tests-r
# bug 692744
fuzzy-if(webrender,0-19,0-2872) == text-shadow-on-space-1.html text-shadow-on-space-1-ref.html
diff -up firefox-84.0.2/layout/reftests/text-transform/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/text-transform/reftest.list
--- firefox-84.0.2/layout/reftests/text-transform/reftest.list.firefox-tests-reftest 2021-01-05 20:58:39.000000000 +0100
+++ firefox-84.0.2/layout/reftests/text-transform/reftest.list 2021-01-12 20:30:45.685412320 +0100
diff -up firefox-85.0/layout/reftests/text-transform/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/text-transform/reftest.list
--- firefox-85.0/layout/reftests/text-transform/reftest.list.firefox-tests-reftest 2021-01-18 19:30:14.000000000 +0100
+++ firefox-85.0/layout/reftests/text-transform/reftest.list 2021-01-21 09:52:08.488439764 +0100
@@ -9,9 +9,6 @@
== capitalize-8.html capitalize-8-ref.html
== lowercase-1.html lowercase-ref.html
@ -784,9 +786,9 @@ diff -up firefox-84.0.2/layout/reftests/text-transform/reftest.list.firefox-test
!= opentype-small-caps-1.html opentype-small-caps-1-notref.html
== graphite-small-caps-1.html graphite-small-caps-1-ref.html
!= graphite-small-caps-1.html graphite-small-caps-1-notref.html
diff -up firefox-84.0.2/layout/reftests/transform-3d/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/transform-3d/reftest.list
--- firefox-84.0.2/layout/reftests/transform-3d/reftest.list.firefox-tests-reftest 2021-01-05 21:29:48.000000000 +0100
+++ firefox-84.0.2/layout/reftests/transform-3d/reftest.list 2021-01-12 20:30:45.685412320 +0100
diff -up firefox-85.0/layout/reftests/transform-3d/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/transform-3d/reftest.list
--- firefox-85.0/layout/reftests/transform-3d/reftest.list.firefox-tests-reftest 2021-01-18 19:30:10.000000000 +0100
+++ firefox-85.0/layout/reftests/transform-3d/reftest.list 2021-01-21 09:52:08.488439764 +0100
@@ -11,7 +11,6 @@ fuzzy-if(webrender,0-1,0-6) == rotatey-1
== rotatex-perspective-1c.html rotatex-1-ref.html
== rotatex-perspective-3a.html rotatex-perspective-3-ref.html
@ -804,9 +806,9 @@ diff -up firefox-84.0.2/layout/reftests/transform-3d/reftest.list.firefox-tests-
== scale3d-xz.html scale3d-1-ref.html
== translatez-1a.html translatez-1-ref.html
!= translatez-1b.html translatez-1-ref.html
diff -up firefox-84.0.2/layout/reftests/writing-mode/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/writing-mode/reftest.list
--- firefox-84.0.2/layout/reftests/writing-mode/reftest.list.firefox-tests-reftest 2021-01-05 19:12:26.000000000 +0100
+++ firefox-84.0.2/layout/reftests/writing-mode/reftest.list 2021-01-12 20:30:45.685412320 +0100
diff -up firefox-85.0/layout/reftests/writing-mode/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/writing-mode/reftest.list
--- firefox-85.0/layout/reftests/writing-mode/reftest.list.firefox-tests-reftest 2021-01-18 19:30:10.000000000 +0100
+++ firefox-85.0/layout/reftests/writing-mode/reftest.list 2021-01-21 09:52:08.488439764 +0100
@@ -31,7 +31,6 @@ random-if(/^Windows\x20NT\x206\.1/.test(
== 1105268-2-min-max-dimensions.html 1105268-2-min-max-dimensions-ref.html
== 1106669-1-intrinsic-for-container.html 1106669-1-intrinsic-for-container-ref.html
@ -823,9 +825,9 @@ diff -up firefox-84.0.2/layout/reftests/writing-mode/reftest.list.firefox-tests-
fuzzy-if(winWidget,0-255,0-163) fuzzy-if(skiaContent,0-159,0-111) == 1136557-1-nested-spans.html 1136557-1-nested-spans-ref.html
fuzzy-if(winWidget,0-255,0-221) fuzzy-if(skiaContent,0-159,0-111) == 1136557-2-nested-spans.html 1136557-2-nested-spans-ref.html
fuzzy-if(winWidget,0-255,0-236) == 1136557-3-nested-spans.html 1136557-3-nested-spans-ref.html
diff -up firefox-84.0.2/layout/reftests/xul/reftest.list.firefox-tests-reftest firefox-84.0.2/layout/reftests/xul/reftest.list
--- firefox-84.0.2/layout/reftests/xul/reftest.list.firefox-tests-reftest 2021-01-05 20:58:39.000000000 +0100
+++ firefox-84.0.2/layout/reftests/xul/reftest.list 2021-01-12 20:30:45.685412320 +0100
diff -up firefox-85.0/layout/reftests/xul/reftest.list.firefox-tests-reftest firefox-85.0/layout/reftests/xul/reftest.list
--- firefox-85.0/layout/reftests/xul/reftest.list.firefox-tests-reftest 2021-01-18 19:29:51.000000000 +0100
+++ firefox-85.0/layout/reftests/xul/reftest.list 2021-01-21 09:52:08.488439764 +0100
@@ -12,7 +12,6 @@ pref(layout.css.xul-tree-pseudos.content
skip-if(!cocoaWidget) fails-if(webrender&&cocoaWidget) == chrome://reftest/content/xul/mac-tab-toolbar.xhtml chrome://reftest/content/xul/mac-tab-toolbar-ref.xhtml
pref(layout.css.xul-tree-pseudos.content.enabled,true) != chrome://reftest/content/xul/tree-row-outline-1.xhtml chrome://reftest/content/xul/tree-row-outline-1-notref.xhtml
@ -834,4 +836,3 @@ diff -up firefox-84.0.2/layout/reftests/xul/reftest.list.firefox-tests-reftest f
fuzzy-if(skiaContent,0-1,0-60) fuzzy-if(cocoaWidget&&browserIsRemote&&!skiaContent,0-1,0-31) fuzzy-if(winWidget&&browserIsRemote&&layersGPUAccelerated,0-1,0-50) fuzzy-if(webrender,0-1,350-1050) == chrome://reftest/content/xul/inactive-fixed-bg-bug1205630.xhtml inactive-fixed-bg-bug1205630-ref.html
fuzzy-if(skiaContent,0-1,0-60) fuzzy-if(cocoaWidget&&browserIsRemote&&!skiaContent,0-1,0-31) fuzzy-if(winWidget&&browserIsRemote&&layersGPUAccelerated,0-1,0-50) fuzzy-if(webrender,0-1,450-1100) == chrome://reftest/content/xul/inactive-fixed-bg-bug1272525.xhtml inactive-fixed-bg-bug1272525-ref.html

View File

@ -1,6 +1,6 @@
diff -up firefox-84.0.2/browser/components/enterprisepolicies/tests/xpcshell/xpcshell.ini.firefox-tests-xpcshell firefox-84.0.2/browser/components/enterprisepolicies/tests/xpcshell/xpcshell.ini
--- firefox-84.0.2/browser/components/enterprisepolicies/tests/xpcshell/xpcshell.ini.firefox-tests-xpcshell 2021-01-05 19:12:21.000000000 +0100
+++ firefox-84.0.2/browser/components/enterprisepolicies/tests/xpcshell/xpcshell.ini 2021-01-12 20:30:45.681412210 +0100
diff -up firefox-85.0/browser/components/enterprisepolicies/tests/xpcshell/xpcshell.ini.firefox-tests-xpcshell firefox-85.0/browser/components/enterprisepolicies/tests/xpcshell/xpcshell.ini
--- firefox-85.0/browser/components/enterprisepolicies/tests/xpcshell/xpcshell.ini.firefox-tests-xpcshell 2021-01-18 19:29:32.000000000 +0100
+++ firefox-85.0/browser/components/enterprisepolicies/tests/xpcshell/xpcshell.ini 2021-01-21 09:49:44.587178226 +0100
@@ -6,7 +6,6 @@ support-files =
[test_3rdparty.js]
@ -9,9 +9,9 @@ diff -up firefox-84.0.2/browser/components/enterprisepolicies/tests/xpcshell/xpc
[test_bug1658259.js]
[test_cleanup.js]
[test_clear_blocked_cookies.js]
diff -up firefox-84.0.2/devtools/client/shared/remote-debugging/adb/xpcshell/xpcshell.ini.firefox-tests-xpcshell firefox-84.0.2/devtools/client/shared/remote-debugging/adb/xpcshell/xpcshell.ini
--- firefox-84.0.2/devtools/client/shared/remote-debugging/adb/xpcshell/xpcshell.ini.firefox-tests-xpcshell 2021-01-05 19:12:22.000000000 +0100
+++ firefox-84.0.2/devtools/client/shared/remote-debugging/adb/xpcshell/xpcshell.ini 2021-01-12 20:30:45.681412210 +0100
diff -up firefox-85.0/devtools/client/shared/remote-debugging/adb/xpcshell/xpcshell.ini.firefox-tests-xpcshell firefox-85.0/devtools/client/shared/remote-debugging/adb/xpcshell/xpcshell.ini
--- firefox-85.0/devtools/client/shared/remote-debugging/adb/xpcshell/xpcshell.ini.firefox-tests-xpcshell 2021-01-18 19:29:32.000000000 +0100
+++ firefox-85.0/devtools/client/shared/remote-debugging/adb/xpcshell/xpcshell.ini 2021-01-21 09:49:44.587178226 +0100
@@ -6,6 +6,5 @@ skip-if = toolkit == 'android' || socket
support-files =
adb.py
@ -19,9 +19,9 @@ diff -up firefox-84.0.2/devtools/client/shared/remote-debugging/adb/xpcshell/xpc
-[test_adb.js]
run-sequentially = An extension having the same id is installed/uninstalled in different tests
[test_prepare-tcp-connection.js]
diff -up firefox-84.0.2/netwerk/test/unit_ipc/xpcshell.ini.firefox-tests-xpcshell firefox-84.0.2/netwerk/test/unit_ipc/xpcshell.ini
--- firefox-84.0.2/netwerk/test/unit_ipc/xpcshell.ini.firefox-tests-xpcshell 2021-01-14 11:03:10.741711483 +0100
+++ firefox-84.0.2/netwerk/test/unit_ipc/xpcshell.ini 2021-01-14 11:03:17.498910928 +0100
diff -up firefox-85.0/netwerk/test/unit_ipc/xpcshell.ini.firefox-tests-xpcshell firefox-85.0/netwerk/test/unit_ipc/xpcshell.ini
--- firefox-85.0/netwerk/test/unit_ipc/xpcshell.ini.firefox-tests-xpcshell 2021-01-18 19:29:59.000000000 +0100
+++ firefox-85.0/netwerk/test/unit_ipc/xpcshell.ini 2021-01-21 09:49:44.587178226 +0100
@@ -70,7 +70,6 @@ support-files =
[test_channel_close_wrap.js]
[test_cookiejars_wrap.js]
@ -30,9 +30,9 @@ diff -up firefox-84.0.2/netwerk/test/unit_ipc/xpcshell.ini.firefox-tests-xpcshel
[test_duplicate_headers_wrap.js]
[test_event_sink_wrap.js]
[test_head_wrap.js]
diff -up firefox-84.0.2/netwerk/test/unit/xpcshell.ini.firefox-tests-xpcshell firefox-84.0.2/netwerk/test/unit/xpcshell.ini
--- firefox-84.0.2/netwerk/test/unit/xpcshell.ini.firefox-tests-xpcshell 2021-01-05 21:29:48.000000000 +0100
+++ firefox-84.0.2/netwerk/test/unit/xpcshell.ini 2021-01-14 11:02:39.939802295 +0100
diff -up firefox-85.0/netwerk/test/unit/xpcshell.ini.firefox-tests-xpcshell firefox-85.0/netwerk/test/unit/xpcshell.ini
--- firefox-85.0/netwerk/test/unit/xpcshell.ini.firefox-tests-xpcshell 2021-01-18 19:30:19.000000000 +0100
+++ firefox-85.0/netwerk/test/unit/xpcshell.ini 2021-01-21 09:50:27.536450133 +0100
@@ -199,7 +199,6 @@ skip-if = true # Bug 863738
[test_cookies_upgrade_10.js]
[test_dns_cancel.js]
@ -77,15 +77,15 @@ diff -up firefox-84.0.2/netwerk/test/unit/xpcshell.ini.firefox-tests-xpcshell fi
@@ -409,7 +403,6 @@ skip-if = tsan || socketprocess_networki
run-sequentially = node server exceptions dont replay well
skip-if = socketprocess_networking
[test_esni_dns_fetch.js]
[test_dns_by_type_resolve.js]
-[test_network_connectivity_service.js]
[test_suspend_channel_on_authRetry.js]
[test_suspend_channel_on_examine_merged_response.js]
[test_bug1527293.js]
diff -up firefox-84.0.2/security/manager/ssl/tests/unit/xpcshell.ini.firefox-tests-xpcshell firefox-84.0.2/security/manager/ssl/tests/unit/xpcshell.ini
--- firefox-84.0.2/security/manager/ssl/tests/unit/xpcshell.ini.firefox-tests-xpcshell 2021-01-14 11:05:59.458691431 +0100
+++ firefox-84.0.2/security/manager/ssl/tests/unit/xpcshell.ini 2021-01-14 11:06:51.073214918 +0100
@@ -175,7 +175,6 @@ run-sequentially = hardcoded ports
diff -up firefox-85.0/security/manager/ssl/tests/unit/xpcshell.ini.firefox-tests-xpcshell firefox-85.0/security/manager/ssl/tests/unit/xpcshell.ini
--- firefox-85.0/security/manager/ssl/tests/unit/xpcshell.ini.firefox-tests-xpcshell 2021-01-18 19:29:59.000000000 +0100
+++ firefox-85.0/security/manager/ssl/tests/unit/xpcshell.ini 2021-01-21 09:49:44.588178255 +0100
@@ -180,7 +180,6 @@ run-sequentially = hardcoded ports
run-sequentially = hardcoded ports
[test_ocsp_url.js]
run-sequentially = hardcoded ports
@ -93,9 +93,9 @@ diff -up firefox-84.0.2/security/manager/ssl/tests/unit/xpcshell.ini.firefox-tes
[test_osreauthenticator.js]
# Reauthentication has been implemented on Windows and MacOS, so running this
# test results in the OS popping up a dialog, which means we can't run it in
diff -up firefox-84.0.2/security/manager/ssl/tests/unit/xpcshell-smartcards.ini.firefox-tests-xpcshell firefox-84.0.2/security/manager/ssl/tests/unit/xpcshell-smartcards.ini
--- firefox-84.0.2/security/manager/ssl/tests/unit/xpcshell-smartcards.ini.firefox-tests-xpcshell 2021-01-05 19:12:27.000000000 +0100
+++ firefox-84.0.2/security/manager/ssl/tests/unit/xpcshell-smartcards.ini 2021-01-12 20:30:45.681412210 +0100
diff -up firefox-85.0/security/manager/ssl/tests/unit/xpcshell-smartcards.ini.firefox-tests-xpcshell firefox-85.0/security/manager/ssl/tests/unit/xpcshell-smartcards.ini
--- firefox-85.0/security/manager/ssl/tests/unit/xpcshell-smartcards.ini.firefox-tests-xpcshell 2021-01-18 19:29:59.000000000 +0100
+++ firefox-85.0/security/manager/ssl/tests/unit/xpcshell-smartcards.ini 2021-01-21 09:49:44.588178255 +0100
@@ -7,7 +7,6 @@ support-files =
[test_osclientcerts_module.js]
@ -104,18 +104,18 @@ diff -up firefox-84.0.2/security/manager/ssl/tests/unit/xpcshell-smartcards.ini.
[test_pkcs11_moduleDB.js]
[test_pkcs11_safe_mode.js]
[test_pkcs11_slot.js]
diff -up firefox-84.0.2/toolkit/components/commandlines/test/unit/xpcshell.ini.firefox-tests-xpcshell firefox-84.0.2/toolkit/components/commandlines/test/unit/xpcshell.ini
--- firefox-84.0.2/toolkit/components/commandlines/test/unit/xpcshell.ini.firefox-tests-xpcshell 2021-01-05 19:12:33.000000000 +0100
+++ firefox-84.0.2/toolkit/components/commandlines/test/unit/xpcshell.ini 2021-01-12 20:30:45.681412210 +0100
diff -up firefox-85.0/toolkit/components/commandlines/test/unit/xpcshell.ini.firefox-tests-xpcshell firefox-85.0/toolkit/components/commandlines/test/unit/xpcshell.ini
--- firefox-85.0/toolkit/components/commandlines/test/unit/xpcshell.ini.firefox-tests-xpcshell 2021-01-18 19:31:16.000000000 +0100
+++ firefox-85.0/toolkit/components/commandlines/test/unit/xpcshell.ini 2021-01-21 09:49:44.588178255 +0100
@@ -7,4 +7,3 @@ support-files =
[test_classinfo.js]
[test_bug666224.js]
-[test_resolvefile.js]
diff -up firefox-84.0.2/toolkit/components/extensions/test/xpcshell/xpcshell-common.ini.firefox-tests-xpcshell firefox-84.0.2/toolkit/components/extensions/test/xpcshell/xpcshell-common.ini
--- firefox-84.0.2/toolkit/components/extensions/test/xpcshell/xpcshell-common.ini.firefox-tests-xpcshell 2021-01-14 11:07:47.513880856 +0100
+++ firefox-84.0.2/toolkit/components/extensions/test/xpcshell/xpcshell-common.ini 2021-01-14 11:08:33.169228446 +0100
@@ -69,8 +69,6 @@ skip-if = socketprocess_networking
diff -up firefox-85.0/toolkit/components/extensions/test/xpcshell/xpcshell-common.ini.firefox-tests-xpcshell firefox-85.0/toolkit/components/extensions/test/xpcshell/xpcshell-common.ini
--- firefox-85.0/toolkit/components/extensions/test/xpcshell/xpcshell-common.ini.firefox-tests-xpcshell 2021-01-18 19:31:16.000000000 +0100
+++ firefox-85.0/toolkit/components/extensions/test/xpcshell/xpcshell-common.ini 2021-01-21 09:49:44.588178255 +0100
@@ -73,8 +73,6 @@ skip-if = socketprocess_networking || os
skip-if = os == "android" # downloads API needs to be implemented in GeckoView - bug 1538348
[test_ext_downloads_download.js]
skip-if = appname == "thunderbird" || os == "android" || tsan # tsan: bug 1612707
@ -124,7 +124,7 @@ diff -up firefox-84.0.2/toolkit/components/extensions/test/xpcshell/xpcshell-com
[test_ext_downloads_private.js]
skip-if = os == "android"
[test_ext_downloads_search.js]
@@ -230,8 +228,6 @@ skip-if = appname == "thunderbird" || os
@@ -241,8 +239,6 @@ skip-if = appname == "thunderbird" || os
skip-if = appname == "thunderbird" || os == "android" # Bug 1350559
[test_ext_permissions_uninstall.js]
skip-if = appname == "thunderbird" || os == "android" # Bug 1350559
@ -133,9 +133,9 @@ diff -up firefox-84.0.2/toolkit/components/extensions/test/xpcshell/xpcshell-com
[test_proxy_incognito.js]
skip-if = os == "android" # incognito not supported on android
[test_proxy_info_results.js]
diff -up firefox-84.0.2/toolkit/modules/subprocess/test/xpcshell/xpcshell.ini.firefox-tests-xpcshell firefox-84.0.2/toolkit/modules/subprocess/test/xpcshell/xpcshell.ini
--- firefox-84.0.2/toolkit/modules/subprocess/test/xpcshell/xpcshell.ini.firefox-tests-xpcshell 2021-01-05 19:12:34.000000000 +0100
+++ firefox-84.0.2/toolkit/modules/subprocess/test/xpcshell/xpcshell.ini 2021-01-12 20:30:45.681412210 +0100
diff -up firefox-85.0/toolkit/modules/subprocess/test/xpcshell/xpcshell.ini.firefox-tests-xpcshell firefox-85.0/toolkit/modules/subprocess/test/xpcshell/xpcshell.ini
--- firefox-85.0/toolkit/modules/subprocess/test/xpcshell/xpcshell.ini.firefox-tests-xpcshell 2021-01-18 19:30:38.000000000 +0100
+++ firefox-85.0/toolkit/modules/subprocess/test/xpcshell/xpcshell.ini 2021-01-21 09:49:44.588178255 +0100
@@ -7,6 +7,5 @@ support-files =
data_text_file.txt
data_test_script.py
@ -143,10 +143,10 @@ diff -up firefox-84.0.2/toolkit/modules/subprocess/test/xpcshell/xpcshell.ini.fi
-[test_subprocess.js]
[test_subprocess_getEnvironment.js]
[test_subprocess_pathSearch.js]
diff -up firefox-84.0.2/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini.firefox-tests-xpcshell firefox-84.0.2/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
--- firefox-84.0.2/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini.firefox-tests-xpcshell 2021-01-05 21:29:48.000000000 +0100
+++ firefox-84.0.2/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini 2021-01-12 20:30:45.681412210 +0100
@@ -97,7 +97,6 @@ tags = webextensions
diff -up firefox-85.0/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini.firefox-tests-xpcshell firefox-85.0/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
--- firefox-85.0/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini.firefox-tests-xpcshell 2021-01-18 19:30:38.000000000 +0100
+++ firefox-85.0/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini 2021-01-21 09:49:44.588178255 +0100
@@ -94,7 +94,6 @@ tags = webextensions
head = head_addons.js head_sideload.js
skip-if = os == "linux" # Bug 1613268
[test_sideloads.js]

View File

@ -1,12 +0,0 @@
diff -up firefox-76.0.1/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp.old firefox-76.0.1/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
--- firefox-76.0.1/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp.old 2020-05-13 14:28:26.556800474 +0200
+++ firefox-76.0.1/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp 2020-05-13 14:28:31.562768959 +0200
@@ -43,7 +43,7 @@ typedef int VAStatus;
#endif
// Use some extra HW frames for potential rendering lags.
-#define EXTRA_HW_FRAMES 6
+#define EXTRA_HW_FRAMES 20
typedef mozilla::layers::Image Image;
typedef mozilla::layers::PlanarYCbCrImage PlanarYCbCrImage;

View File

@ -14,7 +14,7 @@
# as the build is *very* slow.
%global debug_build 0
%global system_nss 1
%global system_nss 0
%global build_with_clang 0
%global build_with_asan 0
%global test_offscreen 1
@ -146,13 +146,13 @@ ExcludeArch: s390x
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 84.0.2
Release: 8%{?pre_tag}%{?dist}
Version: 85.0
Release: 1%{?pre_tag}%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
%if %{with langpacks}
Source1: firefox-langpacks-%{version}%{?pre_version}-20210106.tar.xz
Source1: firefox-langpacks-%{version}%{?pre_version}-20210120.tar.xz
%endif
Source2: cbindgen-vendor.tar.xz
Source10: firefox-mozconfig
@ -226,19 +226,7 @@ Patch422: mozilla-1631061.patch
Patch423: mozilla-1681107.patch
Patch424: firefox-wayland-fix-mzbz-1642949-regression.patch
Patch425: mozilla-1645695.patch
# Upstream patches from mozbz#1672944
Patch450: pw1.patch
Patch451: pw2.patch
Patch452: pw3.patch
Patch453: pw4.patch
Patch454: pw5.patch
Patch455: pw6.patch
Patch500: ffvpx.patch
#VA-API patches
Patch585: firefox-vaapi-extra-frames.patch
Patch426: mozilla-1687931.patch
# PGO/LTO patches
Patch600: pgo.patch
@ -414,7 +402,7 @@ This package contains results of tests executed during build.
%endif
%patch3 -p1 -b .arm
%patch44 -p1 -b .build-arm-libopus
%patch46 -p1 -b .nss-version
#%patch46 -p1 -b .nss-version
%patch47 -p1 -b .fedora-shebang
%patch48 -p1 -b .build-arm-wasm
%patch49 -p1 -b .build-arm-libaom
@ -445,24 +433,10 @@ This package contains results of tests executed during build.
%patch415 -p1 -b .1670333
%patch418 -p1 -b .1556931-s390x-hidden-syms
#%patch450 -p1 -b .pw1
#%patch451 -p1 -b .pw2
#%patch452 -p1 -b .pw3
#%patch453 -p1 -b .pw4
#%patch454 -p1 -b .pw5
%patch455 -p1 -b .pw6
%patch420 -p1 -b .1678680
%patch421 -p1 -b .1680505
#%patch422 -p1 -b .1631061
%patch423 -p1 -b .1681107
%patch424 -p1 -b .fix-mzbz-1642949-regression
%patch425 -p1 -b .1645695
%patch500 -p1 -b .ffvpx
# VA-API fixes
# merged with ffvpx
# %patch585 -p1 -b .firefox-vaapi-extra-frames
%patch426 -p1 -b .1687931
# PGO patches
%if %{build_with_pgo}
@ -1043,6 +1017,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
* Wed Jan 20 2021 Martin Stransky <stransky@redhat.com> - 85.0-1
- Update to 85.0.
* Wed Jan 20 2021 Jan Horak <jhorak@redhat.com> - 84.0.2-8
- Fixing package requires/provides

View File

@ -1,6 +1,6 @@
diff -up firefox-84.0/media/ffvpx/libavcodec/codec_list.c.1667096 firefox-84.0/media/ffvpx/libavcodec/codec_list.c
--- firefox-84.0/media/ffvpx/libavcodec/codec_list.c.1667096 2020-12-07 23:33:03.000000000 +0100
+++ firefox-84.0/media/ffvpx/libavcodec/codec_list.c 2020-12-10 12:57:14.722762321 +0100
diff -up firefox-85.0/media/ffvpx/libavcodec/codec_list.c.1667096 firefox-85.0/media/ffvpx/libavcodec/codec_list.c
--- firefox-85.0/media/ffvpx/libavcodec/codec_list.c.1667096 2021-01-18 19:29:51.000000000 +0100
+++ firefox-85.0/media/ffvpx/libavcodec/codec_list.c 2021-01-21 09:56:17.637831802 +0100
@@ -11,4 +11,8 @@ static const AVCodec * const codec_list[
#if CONFIG_MP3_DECODER
&ff_mp3_decoder,
@ -10,9 +10,9 @@ diff -up firefox-84.0/media/ffvpx/libavcodec/codec_list.c.1667096 firefox-84.0/m
+#endif
+
NULL };
diff -up firefox-84.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-84.0/media/ffvpx/libavcodec/libfdk-aacdec.c
--- firefox-84.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 2020-12-10 12:57:14.722762321 +0100
+++ firefox-84.0/media/ffvpx/libavcodec/libfdk-aacdec.c 2020-12-10 12:57:14.722762321 +0100
diff -up firefox-85.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-85.0/media/ffvpx/libavcodec/libfdk-aacdec.c
--- firefox-85.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 2021-01-21 09:56:17.638831832 +0100
+++ firefox-85.0/media/ffvpx/libavcodec/libfdk-aacdec.c 2021-01-21 09:56:17.638831832 +0100
@@ -0,0 +1,409 @@
+/*
+ * AAC decoder wrapper
@ -423,12 +423,12 @@ diff -up firefox-84.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-84.
+ FF_CODEC_CAP_INIT_CLEANUP,
+ .wrapper_name = "libfdk",
+};
diff -up firefox-84.0/media/ffvpx/libavcodec/moz.build.1667096 firefox-84.0/media/ffvpx/libavcodec/moz.build
--- firefox-84.0/media/ffvpx/libavcodec/moz.build.1667096 2020-12-08 00:35:05.000000000 +0100
+++ firefox-84.0/media/ffvpx/libavcodec/moz.build 2020-12-10 12:57:14.722762321 +0100
@@ -97,6 +97,12 @@ if not CONFIG['MOZ_FFVPX_AUDIOONLY']:
'vp9recon.c'
]
diff -up firefox-85.0/media/ffvpx/libavcodec/moz.build.1667096 firefox-85.0/media/ffvpx/libavcodec/moz.build
--- firefox-85.0/media/ffvpx/libavcodec/moz.build.1667096 2021-01-21 09:56:17.638831832 +0100
+++ firefox-85.0/media/ffvpx/libavcodec/moz.build 2021-01-21 10:06:18.958716728 +0100
@@ -104,6 +104,12 @@ if not CONFIG['MOZ_FFVPX_AUDIOONLY']:
]
USE_LIBS += ['mozva']
+if CONFIG['MOZ_FDK_AAC']:
+ SOURCES += [
@ -439,9 +439,9 @@ diff -up firefox-84.0/media/ffvpx/libavcodec/moz.build.1667096 firefox-84.0/medi
if CONFIG['MOZ_LIBAV_FFT']:
SOURCES += [
'avfft.c',
diff -up firefox-84.0/toolkit/moz.configure.1667096 firefox-84.0/toolkit/moz.configure
--- firefox-84.0/toolkit/moz.configure.1667096 2020-12-10 12:57:14.723762349 +0100
+++ firefox-84.0/toolkit/moz.configure 2020-12-10 12:58:29.051855203 +0100
diff -up firefox-85.0/toolkit/moz.configure.1667096 firefox-85.0/toolkit/moz.configure
--- firefox-85.0/toolkit/moz.configure.1667096 2021-01-21 09:56:17.603830793 +0100
+++ firefox-85.0/toolkit/moz.configure 2021-01-21 09:56:17.638831832 +0100
@@ -1868,6 +1868,14 @@ with only_when(compile_environment):
set_define("MOZ_LIBAV_FFT", depends(when=libav_fft)(lambda: True))
set_config("LIBAV_FFT_ASFLAGS", libav_fft.flags)

View File

@ -1,73 +0,0 @@
changeset: 560838:7a5a1784b5d1
tag: tip
parent: 560835:7184fb5a42fb
user: Martin Stransky <stransky@redhat.com>
date: Fri Nov 27 17:29:07 2020 +0100
files: third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.h
description:
Bug 1678680 [PipeWire] Lock current_frame_ access as it can be used from multiple threads, r?dminor
Differential Revision: https://phabricator.services.mozilla.com/D98080
diff --git a/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc b/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
--- a/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
+++ b/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
@@ -396,16 +396,17 @@ void BaseCapturerPipeWire::HandleBuffer(
DesktopSize video_size_prev = video_size_;
if (video_metadata_use_) {
video_size_ = DesktopSize(video_metadata->region.size.width,
video_metadata->region.size.height);
} else {
video_size_ = desktop_size_;
}
+ rtc::CritScope lock(&current_frame_lock_);
if (!current_frame_ ||
(video_metadata_use_ && !video_size_.equals(video_size_prev))) {
current_frame_ =
std::make_unique<uint8_t[]>
(video_size_.width() * video_size_.height() * kBytesPerPixel);
}
const int32_t dstStride = video_size_.width() * kBytesPerPixel;
@@ -872,16 +873,17 @@ void BaseCapturerPipeWire::Start(Callbac
}
void BaseCapturerPipeWire::CaptureFrame() {
if (portal_init_failed_) {
callback_->OnCaptureResult(Result::ERROR_PERMANENT, nullptr);
return;
}
+ rtc::CritScope lock(&current_frame_lock_);
if (!current_frame_) {
callback_->OnCaptureResult(Result::ERROR_TEMPORARY, nullptr);
return;
}
DesktopSize frame_size = desktop_size_;
if (video_metadata_use_) {
frame_size = video_size_;
diff --git a/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.h b/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.h
--- a/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.h
+++ b/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.h
@@ -79,16 +79,17 @@ class BaseCapturerPipeWire : public Desk
guint sources_request_signal_id_ = 0;
guint start_request_signal_id_ = 0;
bool video_metadata_use_ = false;
DesktopSize video_size_;
DesktopSize desktop_size_ = {};
DesktopCaptureOptions options_ = {};
+ rtc::CriticalSection current_frame_lock_;
std::unique_ptr<uint8_t[]> current_frame_;
Callback* callback_ = nullptr;
bool portal_init_failed_ = false;
void InitPortal();
void InitPipeWire();

View File

@ -1,34 +0,0 @@
diff --git a/widget/GfxInfoX11.cpp b/widget/GfxInfoX11.cpp
--- a/widget/GfxInfoX11.cpp
+++ b/widget/GfxInfoX11.cpp
@@ -705,6 +705,14 @@
DRIVER_GREATER_THAN_OR_EQUAL, V(18, 0, 0, 0),
"FEATURE_ROLLOUT_INTEL_GNOME_X11_MESA", "Mesa 18.0.0.0");
+ APPEND_TO_DRIVER_BLOCKLIST_EXT(
+ OperatingSystem::Linux, ScreenSizeStatus::SmallAndMedium,
+ BatteryStatus::All, DesktopEnvironment::GNOME, WindowProtocol::Wayland,
+ DriverVendor::MesaAll, DeviceFamily::IntelRolloutWebRender,
+ nsIGfxInfo::FEATURE_WEBRENDER, nsIGfxInfo::FEATURE_ALLOW_ALWAYS,
+ DRIVER_GREATER_THAN_OR_EQUAL, V(18, 0, 0, 0),
+ "FEATURE_ROLLOUT_INTEL_GNOME_WAYLAND_MESA", "Mesa 18.0.0.0");
+
// ATI Mesa baseline, chosen arbitrarily.
APPEND_TO_DRIVER_BLOCKLIST_EXT(
OperatingSystem::Linux, ScreenSizeStatus::All, BatteryStatus::All,
@@ -713,6 +721,14 @@
nsIGfxInfo::FEATURE_ALLOW_ALWAYS, DRIVER_GREATER_THAN_OR_EQUAL,
V(18, 0, 0, 0), "FEATURE_ROLLOUT_ATI_GNOME_X11_MESA", "Mesa 18.0.0.0");
+ APPEND_TO_DRIVER_BLOCKLIST_EXT(
+ OperatingSystem::Linux, ScreenSizeStatus::All, BatteryStatus::All,
+ DesktopEnvironment::GNOME, WindowProtocol::Wayland,
+ DriverVendor::MesaAll, DeviceFamily::AtiRolloutWebRender,
+ nsIGfxInfo::FEATURE_WEBRENDER, nsIGfxInfo::FEATURE_ALLOW_ALWAYS,
+ DRIVER_GREATER_THAN_OR_EQUAL, V(18, 0, 0, 0),
+ "FEATURE_ROLLOUT_ATI_GNOME_WAYLAND_MESA", "Mesa 18.0.0.0");
+
#ifdef EARLY_BETA_OR_EARLIER
// Intel Mesa baseline, chosen arbitrarily.
APPEND_TO_DRIVER_BLOCKLIST_EXT(

28
mozilla-1687931.patch Normal file
View File

@ -0,0 +1,28 @@
changeset: 565888:91903b2fd4ab
tag: tip
parent: 565886:1a895ef04f9f
user: stransky <stransky@redhat.com>
date: Thu Jan 21 12:27:43 2021 +0100
files: widget/gtk/nsWindow.cpp
description:
Bug 1687931 [Wayland] Don't cache monitor scale factor, r?jhorak
Differential Revision: https://phabricator.services.mozilla.com/D102590
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
--- a/widget/gtk/nsWindow.cpp
+++ b/widget/gtk/nsWindow.cpp
@@ -7714,10 +7714,10 @@ gint nsWindow::GdkScaleFactor() {
(gint(*)(GdkWindow*))dlsym(RTLD_DEFAULT, "gdk_window_get_scale_factor");
if (sGdkWindowGetScaleFactorPtr && scaledGdkWindow) {
mWindowScaleFactor = (*sGdkWindowGetScaleFactorPtr)(scaledGdkWindow);
+ mWindowScaleFactorChanged = false;
} else {
mWindowScaleFactor = ScreenHelperGTK::GetGTKMonitorScaleFactor();
}
- mWindowScaleFactorChanged = false;
return mWindowScaleFactor;
}

View File

@ -1,7 +1,7 @@
diff -up firefox-84.0/build/moz.configure/lto-pgo.configure.pgo firefox-84.0/build/moz.configure/lto-pgo.configure
--- firefox-84.0/build/moz.configure/lto-pgo.configure.pgo 2020-12-10 15:55:41.932635998 +0100
+++ firefox-84.0/build/moz.configure/lto-pgo.configure 2020-12-10 16:01:24.674052547 +0100
@@ -228,13 +228,13 @@ def lto(value, c_compiler, ld64_known_go
diff -up firefox-85.0/build/moz.configure/lto-pgo.configure.pgo firefox-85.0/build/moz.configure/lto-pgo.configure
--- firefox-85.0/build/moz.configure/lto-pgo.configure.pgo 2021-01-18 19:29:32.000000000 +0100
+++ firefox-85.0/build/moz.configure/lto-pgo.configure 2021-01-21 10:23:59.499111297 +0100
@@ -240,13 +240,13 @@ def lto(
cflags.append("-flto")
ldflags.append("-flto")
else:
@ -18,18 +18,9 @@ diff -up firefox-84.0/build/moz.configure/lto-pgo.configure.pgo firefox-84.0/bui
# With clang-cl, -flto can only be used with -c or -fuse-ld=lld.
# AC_TRY_LINKs during configure don't have -c, so pass -fuse-ld=lld.
cflags.append("-fuse-ld=lld")
@@ -268,7 +268,7 @@ def lto(value, c_compiler, ld64_known_go
if len(value) and value[0].lower() == "full":
cflags.append("-flto")
else:
- cflags.append("-flto=thin")
+ cflags.append("-flto")
cflags.append("-flifetime-dse=1")
ldflags.append("-flto=%s" % num_cores)
diff -up firefox-84.0/build/pgo/profileserver.py.pgo firefox-84.0/build/pgo/profileserver.py
--- firefox-84.0/build/pgo/profileserver.py.pgo 2020-12-07 23:32:58.000000000 +0100
+++ firefox-84.0/build/pgo/profileserver.py 2020-12-10 16:05:16.278668657 +0100
diff -up firefox-85.0/build/pgo/profileserver.py.pgo firefox-85.0/build/pgo/profileserver.py
--- firefox-85.0/build/pgo/profileserver.py.pgo 2021-01-18 19:29:32.000000000 +0100
+++ firefox-85.0/build/pgo/profileserver.py 2021-01-21 10:23:59.499111297 +0100
@@ -11,7 +11,7 @@ import glob
import subprocess
@ -76,9 +67,9 @@ diff -up firefox-84.0/build/pgo/profileserver.py.pgo firefox-84.0/build/pgo/prof
llvm_profdata = env.get("LLVM_PROFDATA")
if llvm_profdata:
profraw_files = glob.glob("*.profraw")
diff -up firefox-84.0/build/unix/mozconfig.unix.pgo firefox-84.0/build/unix/mozconfig.unix
--- firefox-84.0/build/unix/mozconfig.unix.pgo 2020-12-07 23:32:58.000000000 +0100
+++ firefox-84.0/build/unix/mozconfig.unix 2020-12-10 15:55:41.933636031 +0100
diff -up firefox-85.0/build/unix/mozconfig.unix.pgo firefox-85.0/build/unix/mozconfig.unix
--- firefox-85.0/build/unix/mozconfig.unix.pgo 2021-01-18 19:29:32.000000000 +0100
+++ firefox-85.0/build/unix/mozconfig.unix 2021-01-21 10:23:59.499111297 +0100
@@ -6,6 +6,15 @@ if [ -n "$FORCE_GCC" ]; then
CC="$MOZ_FETCHES_DIR/gcc/bin/gcc"
CXX="$MOZ_FETCHES_DIR/gcc/bin/g++"
@ -95,34 +86,19 @@ diff -up firefox-84.0/build/unix/mozconfig.unix.pgo firefox-84.0/build/unix/mozc
# We want to make sure we use binutils and other binaries in the tooltool
# package.
mk_add_options "export PATH=$MOZ_FETCHES_DIR/gcc/bin:$PATH"
diff -up firefox-84.0/extensions/spellcheck/src/moz.build.pgo firefox-84.0/extensions/spellcheck/src/moz.build
--- firefox-84.0/extensions/spellcheck/src/moz.build.pgo 2020-12-10 15:55:41.933636031 +0100
+++ firefox-84.0/extensions/spellcheck/src/moz.build 2020-12-10 16:16:05.897011122 +0100
diff -up firefox-85.0/extensions/spellcheck/src/moz.build.pgo firefox-85.0/extensions/spellcheck/src/moz.build
--- firefox-85.0/extensions/spellcheck/src/moz.build.pgo 2021-01-18 19:29:38.000000000 +0100
+++ firefox-85.0/extensions/spellcheck/src/moz.build 2021-01-21 10:23:59.499111297 +0100
@@ -31,3 +31,5 @@ EXPORTS.mozilla += [
if CONFIG["CC_TYPE"] in ("clang", "gcc"):
CXXFLAGS += ["-Wno-error=shadow"]
+
+CXXFLAGS += ['-fno-devirtualize']
diff -up firefox-84.0/python/mozbuild/mozbuild/build_commands.py.pgo firefox-84.0/python/mozbuild/mozbuild/build_commands.py
--- firefox-84.0/python/mozbuild/mozbuild/build_commands.py.pgo 2020-12-10 15:55:41.933636031 +0100
+++ firefox-84.0/python/mozbuild/mozbuild/build_commands.py 2020-12-10 16:14:30.017272529 +0100
@@ -126,9 +126,8 @@ class Build(MachCommandBase):
return status
pgo_env = os.environ.copy()
- pgo_env["LLVM_PROFDATA"] = instr.config_environment.substs.get(
- "LLVM_PROFDATA"
- )
+ if instr.config_environment.substs.get('CC_TYPE') != 'gcc':
+ pgo_env["LLVM_PROFDATA"] = instr.config_environment.substs.get("LLVM_PROFDATA")
pgo_env["JARLOG_FILE"] = mozpath.join(orig_topobjdir, "jarlog/en-US.log")
pgo_cmd = [
instr.virtualenv_manager.python_path,
diff -up firefox-84.0/toolkit/components/terminator/nsTerminator.cpp.pgo firefox-84.0/toolkit/components/terminator/nsTerminator.cpp
--- firefox-84.0/toolkit/components/terminator/nsTerminator.cpp.pgo 2020-12-07 23:33:08.000000000 +0100
+++ firefox-84.0/toolkit/components/terminator/nsTerminator.cpp 2020-12-10 15:55:41.933636031 +0100
@@ -418,6 +418,11 @@ void nsTerminator::StartWatchdog() {
diff -up firefox-85.0/toolkit/components/terminator/nsTerminator.cpp.pgo firefox-85.0/toolkit/components/terminator/nsTerminator.cpp
--- firefox-85.0/toolkit/components/terminator/nsTerminator.cpp.pgo 2021-01-18 19:31:16.000000000 +0100
+++ firefox-85.0/toolkit/components/terminator/nsTerminator.cpp 2021-01-21 10:23:59.500111327 +0100
@@ -430,6 +430,11 @@ void nsTerminator::StartWatchdog() {
}
#endif

View File

@ -1,78 +0,0 @@
# HG changeset patch
# User stransky <stransky@redhat.com>
# Date 1604562416 0
# Node ID 1c126b520042591194e88618ae11a6adc1da9a08
# Parent 6e2e4f0e4a95b0cae777dda9369a9e9bf49a51b1
Bug 1672987 Use PipeWire when Wayland display is actually used, r=dminor
Right now PipeWire is enabled when Wayland session is used regardless of an active Gtk backend (X11/Wayland).
Let's use PipeWire only when Wayland Gtk backend is used and disable it for X11 one to avoid possible regressions.
Differential Revision: https://phabricator.services.mozilla.com/D94588
diff --git a/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capturer.cc b/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capturer.cc
--- a/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capturer.cc
+++ b/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capturer.cc
@@ -8,16 +8,21 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include "modules/desktop_capture/desktop_capturer.h"
#include "modules/desktop_capture/desktop_capture_options.h"
#include "modules/desktop_capture/desktop_capturer_differ_wrapper.h"
+#if defined(WEBRTC_USE_PIPEWIRE) || defined(USE_X11)
+#include <gtk/gtk.h>
+#include <gtk/gtkx.h>
+#endif
+
namespace webrtc {
DesktopCapturer::~DesktopCapturer() = default;
void DesktopCapturer::SetSharedMemoryFactory(
std::unique_ptr<SharedMemoryFactory> shared_memory_factory) {}
void DesktopCapturer::SetExcludedWindow(WindowId window) {}
@@ -67,21 +72,37 @@ std::unique_ptr<DesktopCapturer> Desktop
if (capturer && options.detect_updated_region()) {
capturer.reset(new DesktopCapturerDifferWrapper(std::move(capturer)));
}
return capturer;
}
#if defined(WEBRTC_USE_PIPEWIRE) || defined(USE_X11)
-bool DesktopCapturer::IsRunningUnderWayland() {
+// Return true if Firefox is actually running with Wayland backend.
+static bool IsWaylandDisplayUsed() {
+ const auto display = gdk_display_get_default();
+ if (display == nullptr) {
+ // We're running in headless mode.
+ return false;
+ }
+ return !GDK_IS_X11_DISPLAY(display);
+}
+
+// Return true if Firefox is actually running on Wayland enabled session.
+// It means some screensharing capabilities may be limited.
+static bool IsWaylandSessionUsed() {
const char* xdg_session_type = getenv("XDG_SESSION_TYPE");
if (!xdg_session_type || strncmp(xdg_session_type, "wayland", 7) != 0)
return false;
if (!(getenv("WAYLAND_DISPLAY")))
return false;
return true;
}
+
+bool DesktopCapturer::IsRunningUnderWayland() {
+ return IsWaylandSessionUsed() ? IsWaylandDisplayUsed() : false;
+}
#endif // defined(WEBRTC_USE_PIPEWIRE) || defined(USE_X11)
} // namespace webrtc

901
pw2.patch
View File

@ -1,901 +0,0 @@
# HG changeset patch
# User stransky <stransky@redhat.com>
# Date 1604560111 0
# Node ID 998e6d0b24e4a560e5664aaef87307e9c069ad87
# Parent 1c126b520042591194e88618ae11a6adc1da9a08
Bug 1672947 Update PipeWire WebRTC code to PipeWire 0.3, r=ng
Differential Revision: https://phabricator.services.mozilla.com/D94589
diff --git a/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc b/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
--- a/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
+++ b/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
@@ -10,18 +10,20 @@
#include "modules/desktop_capture/linux/base_capturer_pipewire.h"
#include <gio/gunixfdlist.h>
#include <glib-object.h>
#include <spa/param/format-utils.h>
#include <spa/param/props.h>
-#include <spa/param/video/raw-utils.h>
-#include <spa/support/type-map.h>
+
+#include <sys/mman.h>
+#include <sys/ioctl.h>
+#include <sys/syscall.h>
#include <memory>
#include <utility>
#include "modules/desktop_capture/desktop_capture_options.h"
#include "modules/desktop_capture/desktop_capturer.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
@@ -32,180 +34,166 @@ const char kDesktopBusName[] = "org.free
const char kDesktopObjectPath[] = "/org/freedesktop/portal/desktop";
const char kDesktopRequestObjectPath[] =
"/org/freedesktop/portal/desktop/request";
const char kSessionInterfaceName[] = "org.freedesktop.portal.Session";
const char kRequestInterfaceName[] = "org.freedesktop.portal.Request";
const char kScreenCastInterfaceName[] = "org.freedesktop.portal.ScreenCast";
// static
-void BaseCapturerPipeWire::OnStateChanged(void* data,
- pw_remote_state old_state,
- pw_remote_state state,
- const char* error_message) {
- BaseCapturerPipeWire* that = static_cast<BaseCapturerPipeWire*>(data);
- RTC_DCHECK(that);
+struct dma_buf_sync {
+ uint64_t flags;
+};
+#define DMA_BUF_SYNC_READ (1 << 0)
+#define DMA_BUF_SYNC_START (0 << 2)
+#define DMA_BUF_SYNC_END (1 << 2)
+#define DMA_BUF_BASE 'b'
+#define DMA_BUF_IOCTL_SYNC _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync)
- switch (state) {
- case PW_REMOTE_STATE_ERROR:
- RTC_LOG(LS_ERROR) << "PipeWire remote state error: " << error_message;
+static void SyncDmaBuf(int fd, uint64_t start_or_end) {
+ struct dma_buf_sync sync = { 0 };
+
+ sync.flags = start_or_end | DMA_BUF_SYNC_READ;
+
+ while(true) {
+ int ret;
+ ret = ioctl (fd, DMA_BUF_IOCTL_SYNC, &sync);
+ if (ret == -1 && errno == EINTR) {
+ continue;
+ } else if (ret == -1) {
+ RTC_LOG(LS_ERROR) << "Failed to synchronize DMA buffer: " << g_strerror(errno);
break;
- case PW_REMOTE_STATE_CONNECTED:
- RTC_LOG(LS_INFO) << "PipeWire remote state: connected.";
- that->CreateReceivingStream();
+ } else {
break;
- case PW_REMOTE_STATE_CONNECTING:
- RTC_LOG(LS_INFO) << "PipeWire remote state: connecting.";
- break;
- case PW_REMOTE_STATE_UNCONNECTED:
- RTC_LOG(LS_INFO) << "PipeWire remote state: unconnected.";
- break;
+ }
}
}
// static
+void BaseCapturerPipeWire::OnCoreError(void *data,
+ uint32_t id,
+ int seq,
+ int res,
+ const char *message) {
+ RTC_LOG(LS_ERROR) << "core error: " << message;
+}
+
+// static
void BaseCapturerPipeWire::OnStreamStateChanged(void* data,
pw_stream_state old_state,
pw_stream_state state,
const char* error_message) {
BaseCapturerPipeWire* that = static_cast<BaseCapturerPipeWire*>(data);
RTC_DCHECK(that);
switch (state) {
case PW_STREAM_STATE_ERROR:
RTC_LOG(LS_ERROR) << "PipeWire stream state error: " << error_message;
break;
- case PW_STREAM_STATE_CONFIGURE:
- pw_stream_set_active(that->pw_stream_, true);
- break;
+ case PW_STREAM_STATE_PAUSED:
+ case PW_STREAM_STATE_STREAMING:
case PW_STREAM_STATE_UNCONNECTED:
case PW_STREAM_STATE_CONNECTING:
- case PW_STREAM_STATE_READY:
- case PW_STREAM_STATE_PAUSED:
- case PW_STREAM_STATE_STREAMING:
break;
}
}
// static
-void BaseCapturerPipeWire::OnStreamFormatChanged(void* data,
- const struct spa_pod* format) {
+void BaseCapturerPipeWire::OnStreamParamChanged(void *data, uint32_t id,
+ const struct spa_pod *format) {
BaseCapturerPipeWire* that = static_cast<BaseCapturerPipeWire*>(data);
RTC_DCHECK(that);
- RTC_LOG(LS_INFO) << "PipeWire stream format changed.";
+ RTC_LOG(LS_INFO) << "PipeWire stream param changed.";
- if (!format) {
- pw_stream_finish_format(that->pw_stream_, /*res=*/0, /*params=*/nullptr,
- /*n_params=*/0);
+ if (!format || id != SPA_PARAM_Format) {
return;
}
- that->spa_video_format_ = new spa_video_info_raw();
- spa_format_video_raw_parse(format, that->spa_video_format_,
- &that->pw_type_->format_video);
+ spa_format_video_raw_parse(format, &that->spa_video_format_);
- auto width = that->spa_video_format_->size.width;
- auto height = that->spa_video_format_->size.height;
+ auto width = that->spa_video_format_.size.width;
+ auto height = that->spa_video_format_.size.height;
auto stride = SPA_ROUND_UP_N(width * kBytesPerPixel, 4);
auto size = height * stride;
+ that->desktop_size_ = DesktopSize(width, height);
+
uint8_t buffer[1024] = {};
auto builder = spa_pod_builder{buffer, sizeof(buffer)};
// Setup buffers and meta header for new format.
- const struct spa_pod* params[2];
- params[0] = reinterpret_cast<spa_pod*>(spa_pod_builder_object(
- &builder,
- // id to enumerate buffer requirements
- that->pw_core_type_->param.idBuffers,
- that->pw_core_type_->param_buffers.Buffers,
- // Size: specified as integer (i) and set to specified size
- ":", that->pw_core_type_->param_buffers.size, "i", size,
- // Stride: specified as integer (i) and set to specified stride
- ":", that->pw_core_type_->param_buffers.stride, "i", stride,
- // Buffers: specifies how many buffers we want to deal with, set as
- // integer (i) where preferred number is 8, then allowed number is defined
- // as range (r) from min and max values and it is undecided (u) to allow
- // negotiation
- ":", that->pw_core_type_->param_buffers.buffers, "iru", 8,
- SPA_POD_PROP_MIN_MAX(1, 32),
- // Align: memory alignment of the buffer, set as integer (i) to specified
- // value
- ":", that->pw_core_type_->param_buffers.align, "i", 16));
- params[1] = reinterpret_cast<spa_pod*>(spa_pod_builder_object(
- &builder,
- // id to enumerate supported metadata
- that->pw_core_type_->param.idMeta, that->pw_core_type_->param_meta.Meta,
- // Type: specified as id or enum (I)
- ":", that->pw_core_type_->param_meta.type, "I",
- that->pw_core_type_->meta.Header,
- // Size: size of the metadata, specified as integer (i)
- ":", that->pw_core_type_->param_meta.size, "i",
- sizeof(struct spa_meta_header)));
-
- pw_stream_finish_format(that->pw_stream_, /*res=*/0, params, /*n_params=*/2);
+ const struct spa_pod* params[3];
+ params[0] = reinterpret_cast<spa_pod *>(spa_pod_builder_add_object(&builder,
+ SPA_TYPE_OBJECT_ParamBuffers, SPA_PARAM_Buffers,
+ SPA_PARAM_BUFFERS_size, SPA_POD_Int(size),
+ SPA_PARAM_BUFFERS_stride, SPA_POD_Int(stride),
+ SPA_PARAM_BUFFERS_buffers, SPA_POD_CHOICE_RANGE_Int(8, 1, 32)));
+ params[1] = reinterpret_cast<spa_pod *>(spa_pod_builder_add_object(&builder,
+ SPA_TYPE_OBJECT_ParamMeta, SPA_PARAM_Meta,
+ SPA_PARAM_META_type, SPA_POD_Id(SPA_META_Header),
+ SPA_PARAM_META_size, SPA_POD_Int(sizeof(struct spa_meta_header))));
+ params[2] = reinterpret_cast<spa_pod *>(spa_pod_builder_add_object(&builder,
+ SPA_TYPE_OBJECT_ParamMeta, SPA_PARAM_Meta,
+ SPA_PARAM_META_type, SPA_POD_Id (SPA_META_VideoCrop),
+ SPA_PARAM_META_size, SPA_POD_Int (sizeof(struct spa_meta_region))));
+ pw_stream_update_params(that->pw_stream_, params, 3);
}
// static
void BaseCapturerPipeWire::OnStreamProcess(void* data) {
BaseCapturerPipeWire* that = static_cast<BaseCapturerPipeWire*>(data);
RTC_DCHECK(that);
- pw_buffer* buf = nullptr;
+ struct pw_buffer *next_buffer;
+ struct pw_buffer *buffer = nullptr;
- if (!(buf = pw_stream_dequeue_buffer(that->pw_stream_))) {
+ next_buffer = pw_stream_dequeue_buffer(that->pw_stream_);
+ while (next_buffer) {
+ buffer = next_buffer;
+ next_buffer = pw_stream_dequeue_buffer(that->pw_stream_);
+
+ if (next_buffer) {
+ pw_stream_queue_buffer (that->pw_stream_, buffer);
+ }
+ }
+
+ if (!buffer) {
return;
}
- that->HandleBuffer(buf);
+ that->HandleBuffer(buffer);
- pw_stream_queue_buffer(that->pw_stream_, buf);
+ pw_stream_queue_buffer(that->pw_stream_, buffer);
}
BaseCapturerPipeWire::BaseCapturerPipeWire(CaptureSourceType source_type)
: capture_source_type_(source_type) {}
BaseCapturerPipeWire::~BaseCapturerPipeWire() {
if (pw_main_loop_) {
pw_thread_loop_stop(pw_main_loop_);
}
- if (pw_type_) {
- delete pw_type_;
- }
-
- if (spa_video_format_) {
- delete spa_video_format_;
- }
-
if (pw_stream_) {
pw_stream_destroy(pw_stream_);
}
- if (pw_remote_) {
- pw_remote_destroy(pw_remote_);
+ if (pw_core_) {
+ pw_core_disconnect(pw_core_);
}
- if (pw_core_) {
- pw_core_destroy(pw_core_);
+ if (pw_context_) {
+ pw_context_destroy(pw_context_);
}
if (pw_main_loop_) {
pw_thread_loop_destroy(pw_main_loop_);
}
- if (pw_loop_) {
- pw_loop_destroy(pw_loop_);
- }
-
- if (current_frame_) {
- free(current_frame_);
- }
-
if (start_request_signal_id_) {
g_dbus_connection_signal_unsubscribe(connection_, start_request_signal_id_);
}
if (sources_request_signal_id_) {
g_dbus_connection_signal_unsubscribe(connection_,
sources_request_signal_id_);
}
if (session_request_signal_id_) {
@@ -245,143 +233,210 @@ void BaseCapturerPipeWire::InitPortal()
kDesktopBusName, kDesktopObjectPath, kScreenCastInterfaceName,
/*cancellable=*/nullptr,
reinterpret_cast<GAsyncReadyCallback>(OnProxyRequested), this);
}
void BaseCapturerPipeWire::InitPipeWire() {
pw_init(/*argc=*/nullptr, /*argc=*/nullptr);
- pw_loop_ = pw_loop_new(/*properties=*/nullptr);
- pw_main_loop_ = pw_thread_loop_new(pw_loop_, "pipewire-main-loop");
+ pw_main_loop_ = pw_thread_loop_new("pipewire-main-loop", nullptr);
+ pw_context_ = pw_context_new(pw_thread_loop_get_loop(pw_main_loop_), nullptr, 0);
+ if (!pw_context_) {
+ RTC_LOG(LS_ERROR) << "Failed to create PipeWire context";
+ return;
+ }
- pw_core_ = pw_core_new(pw_loop_, /*properties=*/nullptr);
- pw_core_type_ = pw_core_get_type(pw_core_);
- pw_remote_ = pw_remote_new(pw_core_, nullptr, /*user_data_size=*/0);
-
- InitPipeWireTypes();
+ pw_core_ = pw_context_connect(pw_context_, nullptr, 0);
+ if (!pw_core_) {
+ RTC_LOG(LS_ERROR) << "Failed to connect PipeWire context";
+ return;
+ }
// Initialize event handlers, remote end and stream-related.
- pw_remote_events_.version = PW_VERSION_REMOTE_EVENTS;
- pw_remote_events_.state_changed = &OnStateChanged;
+ pw_core_events_.version = PW_VERSION_CORE_EVENTS;
+ pw_core_events_.error = &OnCoreError;
pw_stream_events_.version = PW_VERSION_STREAM_EVENTS;
pw_stream_events_.state_changed = &OnStreamStateChanged;
- pw_stream_events_.format_changed = &OnStreamFormatChanged;
+ pw_stream_events_.param_changed = &OnStreamParamChanged;
pw_stream_events_.process = &OnStreamProcess;
- pw_remote_add_listener(pw_remote_, &spa_remote_listener_, &pw_remote_events_,
- this);
- pw_remote_connect_fd(pw_remote_, pw_fd_);
+ pw_core_add_listener(pw_core_, &spa_core_listener_, &pw_core_events_, this);
+
+ pw_stream_ = CreateReceivingStream();
+ if (!pw_stream_) {
+ RTC_LOG(LS_ERROR) << "Failed to create PipeWire stream";
+ return;
+ }
if (pw_thread_loop_start(pw_main_loop_) < 0) {
RTC_LOG(LS_ERROR) << "Failed to start main PipeWire loop";
portal_init_failed_ = true;
}
}
-void BaseCapturerPipeWire::InitPipeWireTypes() {
- spa_type_map* map = pw_core_type_->map;
- pw_type_ = new PipeWireType();
-
- spa_type_media_type_map(map, &pw_type_->media_type);
- spa_type_media_subtype_map(map, &pw_type_->media_subtype);
- spa_type_format_video_map(map, &pw_type_->format_video);
- spa_type_video_format_map(map, &pw_type_->video_format);
-}
+pw_stream* BaseCapturerPipeWire::CreateReceivingStream() {
+ spa_rectangle pwMinScreenBounds = spa_rectangle{1, 1};
+ spa_rectangle pwMaxScreenBounds = spa_rectangle{UINT32_MAX, UINT32_MAX};
-void BaseCapturerPipeWire::CreateReceivingStream() {
- spa_rectangle pwMinScreenBounds = spa_rectangle{1, 1};
- spa_rectangle pwScreenBounds =
- spa_rectangle{static_cast<uint32_t>(desktop_size_.width()),
- static_cast<uint32_t>(desktop_size_.height())};
+ auto stream = pw_stream_new(pw_core_, "webrtc-pipewire-stream", nullptr);
- spa_fraction pwFrameRateMin = spa_fraction{0, 1};
- spa_fraction pwFrameRateMax = spa_fraction{60, 1};
-
- pw_properties* reuseProps = pw_properties_new("pipewire.client.reuse", "1",
- /*end of varargs*/ nullptr);
- pw_stream_ = pw_stream_new(pw_remote_, "webrtc-consume-stream", reuseProps);
+ if (!stream) {
+ RTC_LOG(LS_ERROR) << "Could not create receiving stream.";
+ return nullptr;
+ }
uint8_t buffer[1024] = {};
- const spa_pod* params[1];
- spa_pod_builder builder = spa_pod_builder{buffer, sizeof(buffer)};
- params[0] = reinterpret_cast<spa_pod*>(spa_pod_builder_object(
- &builder,
- // id to enumerate formats
- pw_core_type_->param.idEnumFormat, pw_core_type_->spa_format, "I",
- pw_type_->media_type.video, "I", pw_type_->media_subtype.raw,
- // Video format: specified as id or enum (I), preferred format is BGRx,
- // then allowed formats are enumerated (e) and the format is undecided (u)
- // to allow negotiation
- ":", pw_type_->format_video.format, "Ieu", pw_type_->video_format.BGRx,
- SPA_POD_PROP_ENUM(2, pw_type_->video_format.RGBx,
- pw_type_->video_format.BGRx),
- // Video size: specified as rectangle (R), preferred size is specified as
- // first parameter, then allowed size is defined as range (r) from min and
- // max values and the format is undecided (u) to allow negotiation
- ":", pw_type_->format_video.size, "Rru", &pwScreenBounds, 2,
- &pwMinScreenBounds, &pwScreenBounds,
- // Frame rate: specified as fraction (F) and set to minimum frame rate
- // value
- ":", pw_type_->format_video.framerate, "F", &pwFrameRateMin,
- // Max frame rate: specified as fraction (F), preferred frame rate is set
- // to maximum value, then allowed frame rate is defined as range (r) from
- // min and max values and it is undecided (u) to allow negotiation
- ":", pw_type_->format_video.max_framerate, "Fru", &pwFrameRateMax, 2,
- &pwFrameRateMin, &pwFrameRateMax));
+ const spa_pod* params[2];
+ spa_pod_builder builder = SPA_POD_BUILDER_INIT(buffer, sizeof (buffer));
- pw_stream_add_listener(pw_stream_, &spa_stream_listener_, &pw_stream_events_,
- this);
- pw_stream_flags flags = static_cast<pw_stream_flags>(
- PW_STREAM_FLAG_AUTOCONNECT | PW_STREAM_FLAG_INACTIVE |
- PW_STREAM_FLAG_MAP_BUFFERS);
- if (pw_stream_connect(pw_stream_, PW_DIRECTION_INPUT, /*port_path=*/nullptr,
- flags, params,
- /*n_params=*/1) != 0) {
+ params[0] = reinterpret_cast<spa_pod *>(spa_pod_builder_add_object(&builder,
+ SPA_TYPE_OBJECT_Format, SPA_PARAM_EnumFormat,
+ SPA_FORMAT_mediaType, SPA_POD_Id(SPA_MEDIA_TYPE_video),
+ SPA_FORMAT_mediaSubtype, SPA_POD_Id(SPA_MEDIA_SUBTYPE_raw),
+ SPA_FORMAT_VIDEO_format, SPA_POD_CHOICE_ENUM_Id(5, SPA_VIDEO_FORMAT_BGRx, SPA_VIDEO_FORMAT_RGBx, SPA_VIDEO_FORMAT_RGBA,
+ SPA_VIDEO_FORMAT_BGRx, SPA_VIDEO_FORMAT_BGRA),
+ SPA_FORMAT_VIDEO_size, SPA_POD_CHOICE_RANGE_Rectangle(&pwMinScreenBounds,
+ &pwMinScreenBounds,
+ &pwMaxScreenBounds),
+ 0));
+ pw_stream_add_listener(stream, &spa_stream_listener_, &pw_stream_events_, this);
+
+ if (pw_stream_connect(stream, PW_DIRECTION_INPUT, pw_stream_node_id_,
+ PW_STREAM_FLAG_AUTOCONNECT, params, 1) != 0) {
RTC_LOG(LS_ERROR) << "Could not connect receiving stream.";
portal_init_failed_ = true;
- return;
+ }
+
+ return stream;
+}
+
+static void SpaBufferUnmap(unsigned char *map, int map_size, bool IsDMABuf, int fd) {
+ if (map) {
+ if (IsDMABuf) {
+ SyncDmaBuf(fd, DMA_BUF_SYNC_END);
+ }
+ munmap(map, map_size);
}
}
void BaseCapturerPipeWire::HandleBuffer(pw_buffer* buffer) {
spa_buffer* spaBuffer = buffer->buffer;
- void* src = nullptr;
+ uint8_t *map = nullptr;
+ uint8_t* src = nullptr;
- if (!(src = spaBuffer->datas[0].data)) {
+ if (spaBuffer->datas[0].chunk->size == 0) {
+ RTC_LOG(LS_ERROR) << "Failed to get video stream: Zero size.";
return;
}
- uint32_t maxSize = spaBuffer->datas[0].maxsize;
- int32_t srcStride = spaBuffer->datas[0].chunk->stride;
- if (srcStride != (desktop_size_.width() * kBytesPerPixel)) {
- RTC_LOG(LS_ERROR) << "Got buffer with stride different from screen stride: "
- << srcStride
- << " != " << (desktop_size_.width() * kBytesPerPixel);
- portal_init_failed_ = true;
+ switch (spaBuffer->datas[0].type) {
+ case SPA_DATA_MemFd:
+ case SPA_DATA_DmaBuf:
+ map = static_cast<uint8_t*>(mmap(
+ nullptr, spaBuffer->datas[0].maxsize + spaBuffer->datas[0].mapoffset,
+ PROT_READ, MAP_PRIVATE, spaBuffer->datas[0].fd, 0));
+ if (map == MAP_FAILED) {
+ RTC_LOG(LS_ERROR) << "Failed to mmap memory: " << std::strerror(errno);
+ return;
+ }
+ if (spaBuffer->datas[0].type == SPA_DATA_DmaBuf) {
+ SyncDmaBuf(spaBuffer->datas[0].fd, DMA_BUF_SYNC_START);
+ }
+ src = SPA_MEMBER(map, spaBuffer->datas[0].mapoffset, uint8_t);
+ break;
+ case SPA_DATA_MemPtr:
+ map = nullptr;
+ src = static_cast<uint8_t*>(spaBuffer->datas[0].data);
+ break;
+ default:
+ return;
+ }
+
+ if (!src) {
+ RTC_LOG(LS_ERROR) << "Failed to get video stream: Wrong data after mmap()";
+ SpaBufferUnmap(map,
+ spaBuffer->datas[0].maxsize + spaBuffer->datas[0].mapoffset,
+ spaBuffer->datas[0].type == SPA_DATA_DmaBuf, spaBuffer->datas[0].fd);
+ return;
+ }
+
+ struct spa_meta_region* video_metadata =
+ static_cast<struct spa_meta_region*>(
+ spa_buffer_find_meta_data(spaBuffer, SPA_META_VideoCrop, sizeof(*video_metadata)));
+
+ // Video size from metada is bigger than an actual video stream size.
+ // The metadata are wrong or we should up-scale te video...in both cases
+ // just quit now.
+ if (video_metadata &&
+ (video_metadata->region.size.width > (uint32_t)desktop_size_.width() ||
+ video_metadata->region.size.height > (uint32_t)desktop_size_.height())) {
+ RTC_LOG(LS_ERROR) << "Stream metadata sizes are wrong!";
+ SpaBufferUnmap(map,
+ spaBuffer->datas[0].maxsize + spaBuffer->datas[0].mapoffset,
+ spaBuffer->datas[0].type == SPA_DATA_DmaBuf, spaBuffer->datas[0].fd);
return;
}
- if (!current_frame_) {
- current_frame_ = static_cast<uint8_t*>(malloc(maxSize));
+ // Use video metada when video size from metadata is set and smaller than
+ // video stream size, so we need to adjust it.
+ video_metadata_use_ = (video_metadata &&
+ video_metadata->region.size.width != 0 &&
+ video_metadata->region.size.height != 0 &&
+ (video_metadata->region.size.width < (uint32_t)desktop_size_.width() ||
+ video_metadata->region.size.height < (uint32_t)desktop_size_.height()));
+
+ DesktopSize video_size_prev = video_size_;
+ if (video_metadata_use_) {
+ video_size_ = DesktopSize(video_metadata->region.size.width,
+ video_metadata->region.size.height);
+ } else {
+ video_size_ = desktop_size_;
}
- RTC_DCHECK(current_frame_ != nullptr);
+
+ if (!current_frame_ ||
+ (video_metadata_use_ && !video_size_.equals(video_size_prev))) {
+ current_frame_ =
+ std::make_unique<uint8_t[]>
+ (video_size_.width() * video_size_.height() * kBytesPerPixel);
+ }
+
+ const int32_t dstStride = video_size_.width() * kBytesPerPixel;
+ const int32_t srcStride = spaBuffer->datas[0].chunk->stride;
- // If both sides decided to go with the RGBx format we need to convert it to
- // BGRx to match color format expected by WebRTC.
- if (spa_video_format_->format == pw_type_->video_format.RGBx) {
- uint8_t* tempFrame = static_cast<uint8_t*>(malloc(maxSize));
- std::memcpy(tempFrame, src, maxSize);
- ConvertRGBxToBGRx(tempFrame, maxSize);
- std::memcpy(current_frame_, tempFrame, maxSize);
- free(tempFrame);
- } else {
- std::memcpy(current_frame_, src, maxSize);
+ // Adjust source content based on metadata video position
+ if (video_metadata_use_ &&
+ (video_metadata->region.position.y + video_size_.height() <= desktop_size_.height())) {
+ src += srcStride * video_metadata->region.position.y;
}
+ const int xOffset =
+ video_metadata_use_ &&
+ (video_metadata->region.position.x + video_size_.width() <= desktop_size_.width())
+ ? video_metadata->region.position.x * kBytesPerPixel
+ : 0;
+
+ uint8_t* dst = current_frame_.get();
+ for (int i = 0; i < video_size_.height(); ++i) {
+ // Adjust source content based on crop video position if needed
+ src += xOffset;
+ std::memcpy(dst, src, dstStride);
+ // If both sides decided to go with the RGBx format we need to convert it to
+ // BGRx to match color format expected by WebRTC.
+ if (spa_video_format_.format == SPA_VIDEO_FORMAT_RGBx ||
+ spa_video_format_.format == SPA_VIDEO_FORMAT_RGBA) {
+ ConvertRGBxToBGRx(dst, dstStride);
+ }
+ src += srcStride - xOffset;
+ dst += dstStride;
+ }
+
+ SpaBufferUnmap(map,
+ spaBuffer->datas[0].maxsize + spaBuffer->datas[0].mapoffset,
+ spaBuffer->datas[0].type == SPA_DATA_DmaBuf, spaBuffer->datas[0].fd);
}
void BaseCapturerPipeWire::ConvertRGBxToBGRx(uint8_t* frame, uint32_t size) {
// Change color format for KDE KWin which uses RGBx and not BGRx
for (uint32_t i = 0; i < size; i += 4) {
uint8_t tempR = frame[i];
uint8_t tempB = frame[i + 2];
frame[i] = tempB;
@@ -713,27 +768,22 @@ void BaseCapturerPipeWire::OnStartReques
// Array of PipeWire streams. See
// https://github.com/flatpak/xdg-desktop-portal/blob/master/data/org.freedesktop.portal.ScreenCast.xml
// documentation for <method name="Start">.
if (g_variant_lookup(response_data, "streams", "a(ua{sv})", &iter)) {
GVariant* variant;
while (g_variant_iter_next(iter, "@(ua{sv})", &variant)) {
guint32 stream_id;
- gint32 width;
- gint32 height;
GVariant* options;
g_variant_get(variant, "(u@a{sv})", &stream_id, &options);
RTC_DCHECK(options != nullptr);
- g_variant_lookup(options, "size", "(ii)", &width, &height);
-
- that->desktop_size_.set(width, height);
-
+ that->pw_stream_node_id_ = stream_id;
g_variant_unref(options);
g_variant_unref(variant);
}
}
g_variant_iter_free(iter);
g_variant_unref(response_data);
that->OpenPipeWireRemote();
@@ -808,20 +858,25 @@ void BaseCapturerPipeWire::CaptureFrame(
return;
}
if (!current_frame_) {
callback_->OnCaptureResult(Result::ERROR_TEMPORARY, nullptr);
return;
}
- std::unique_ptr<DesktopFrame> result(new BasicDesktopFrame(desktop_size_));
+ DesktopSize frame_size = desktop_size_;
+ if (video_metadata_use_) {
+ frame_size = video_size_;
+ }
+
+ std::unique_ptr<DesktopFrame> result(new BasicDesktopFrame(frame_size));
result->CopyPixelsFrom(
- current_frame_, (desktop_size_.width() * kBytesPerPixel),
- DesktopRect::MakeWH(desktop_size_.width(), desktop_size_.height()));
+ current_frame_.get(), (frame_size.width() * kBytesPerPixel),
+ DesktopRect::MakeWH(frame_size.width(), frame_size.height()));
if (!result) {
callback_->OnCaptureResult(Result::ERROR_TEMPORARY, nullptr);
return;
}
callback_->OnCaptureResult(Result::SUCCESS, std::move(result));
}
bool BaseCapturerPipeWire::GetSourceList(SourceList* sources) {
@@ -832,9 +887,27 @@ bool BaseCapturerPipeWire::GetSourceList
return true;
}
bool BaseCapturerPipeWire::SelectSource(SourceId id) {
// Screen selection is handled by the xdg-desktop-portal.
return true;
}
+// static
+std::unique_ptr<DesktopCapturer>
+BaseCapturerPipeWire::CreateRawScreenCapturer(
+ const DesktopCaptureOptions& options) {
+ std::unique_ptr<BaseCapturerPipeWire> capturer =
+ std::make_unique<BaseCapturerPipeWire>(BaseCapturerPipeWire::CaptureSourceType::kAny);
+ return std::move(capturer);}
+
+// static
+std::unique_ptr<DesktopCapturer>
+BaseCapturerPipeWire::CreateRawWindowCapturer(
+ const DesktopCaptureOptions& options) {
+
+ std::unique_ptr<BaseCapturerPipeWire> capturer =
+ std::make_unique<BaseCapturerPipeWire>(BaseCapturerPipeWire::CaptureSourceType::kAny);
+ return std::move(capturer);
+}
+
} // namespace webrtc
diff --git a/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.h b/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.h
--- a/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.h
+++ b/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.h
@@ -17,99 +17,102 @@
#include <spa/param/video/format-utils.h>
#include "modules/desktop_capture/desktop_capture_options.h"
#include "modules/desktop_capture/desktop_capturer.h"
#include "rtc_base/constructormagic.h"
namespace webrtc {
-class PipeWireType {
- public:
- spa_type_media_type media_type;
- spa_type_media_subtype media_subtype;
- spa_type_format_video format_video;
- spa_type_video_format video_format;
-};
-
class BaseCapturerPipeWire : public DesktopCapturer {
public:
- enum CaptureSourceType { Screen = 1, Window };
+ enum CaptureSourceType : uint32_t {
+ kScreen = 0b01,
+ kWindow = 0b10,
+ kAny = 0b11
+ };
explicit BaseCapturerPipeWire(CaptureSourceType source_type);
~BaseCapturerPipeWire() override;
// DesktopCapturer interface.
void Start(Callback* delegate) override;
void CaptureFrame() override;
bool GetSourceList(SourceList* sources) override;
bool SelectSource(SourceId id) override;
+ static std::unique_ptr<DesktopCapturer> CreateRawScreenCapturer(
+ const DesktopCaptureOptions& options);
+
+ static std::unique_ptr<DesktopCapturer> CreateRawWindowCapturer(
+ const DesktopCaptureOptions& options);
+
private:
// PipeWire types -->
+ pw_context* pw_context_ = nullptr;
pw_core* pw_core_ = nullptr;
- pw_type* pw_core_type_ = nullptr;
pw_stream* pw_stream_ = nullptr;
- pw_remote* pw_remote_ = nullptr;
- pw_loop* pw_loop_ = nullptr;
pw_thread_loop* pw_main_loop_ = nullptr;
- PipeWireType* pw_type_ = nullptr;
+ spa_hook spa_core_listener_ = {};
spa_hook spa_stream_listener_ = {};
- spa_hook spa_remote_listener_ = {};
+ pw_core_events pw_core_events_ = {};
pw_stream_events pw_stream_events_ = {};
- pw_remote_events pw_remote_events_ = {};
- spa_video_info_raw* spa_video_format_ = nullptr;
+ struct spa_video_info_raw spa_video_format_;
+ guint32 pw_stream_node_id_ = 0;
gint32 pw_fd_ = -1;
CaptureSourceType capture_source_type_ =
- BaseCapturerPipeWire::CaptureSourceType::Screen;
+ BaseCapturerPipeWire::CaptureSourceType::kAny;
// <-- end of PipeWire types
GDBusConnection* connection_ = nullptr;
GDBusProxy* proxy_ = nullptr;
gchar* portal_handle_ = nullptr;
gchar* session_handle_ = nullptr;
gchar* sources_handle_ = nullptr;
gchar* start_handle_ = nullptr;
guint session_request_signal_id_ = 0;
guint sources_request_signal_id_ = 0;
guint start_request_signal_id_ = 0;
+ bool video_metadata_use_ = false;
+ DesktopSize video_size_;
DesktopSize desktop_size_ = {};
DesktopCaptureOptions options_ = {};
- uint8_t* current_frame_ = nullptr;
+ std::unique_ptr<uint8_t[]> current_frame_;
Callback* callback_ = nullptr;
bool portal_init_failed_ = false;
void InitPortal();
void InitPipeWire();
- void InitPipeWireTypes();
- void CreateReceivingStream();
+ pw_stream* CreateReceivingStream();
void HandleBuffer(pw_buffer* buffer);
void ConvertRGBxToBGRx(uint8_t* frame, uint32_t size);
- static void OnStateChanged(void* data,
- pw_remote_state old_state,
- pw_remote_state state,
- const char* error);
+ static void OnCoreError(void *data,
+ uint32_t id,
+ int seq,
+ int res,
+ const char *message);
+ static void OnStreamParamChanged(void *data,
+ uint32_t id,
+ const struct spa_pod *format);
static void OnStreamStateChanged(void* data,
pw_stream_state old_state,
pw_stream_state state,
const char* error_message);
-
- static void OnStreamFormatChanged(void* data, const struct spa_pod* format);
static void OnStreamProcess(void* data);
static void OnNewBuffer(void* data, uint32_t id);
guint SetupRequestResponseSignal(const gchar* object_path,
GDBusSignalCallback callback);
static void OnProxyRequested(GObject* object,
GAsyncResult* result,
diff --git a/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc b/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc
--- a/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc
+++ b/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc
@@ -10,17 +10,17 @@
#include "modules/desktop_capture/linux/screen_capturer_pipewire.h"
#include <memory>
namespace webrtc {
ScreenCapturerPipeWire::ScreenCapturerPipeWire()
- : BaseCapturerPipeWire(BaseCapturerPipeWire::CaptureSourceType::Screen) {}
+ : BaseCapturerPipeWire(BaseCapturerPipeWire::CaptureSourceType::kScreen) {}
ScreenCapturerPipeWire::~ScreenCapturerPipeWire() {}
// static
std::unique_ptr<DesktopCapturer>
ScreenCapturerPipeWire::CreateRawScreenCapturer(
const DesktopCaptureOptions& options) {
return std::make_unique<ScreenCapturerPipeWire>();
}
diff --git a/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc b/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc
--- a/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc
+++ b/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc
@@ -10,17 +10,17 @@
#include "modules/desktop_capture/linux/window_capturer_pipewire.h"
#include <memory>
namespace webrtc {
WindowCapturerPipeWire::WindowCapturerPipeWire()
- : BaseCapturerPipeWire(BaseCapturerPipeWire::CaptureSourceType::Window) {}
+ : BaseCapturerPipeWire(BaseCapturerPipeWire::CaptureSourceType::kWindow) {}
WindowCapturerPipeWire::~WindowCapturerPipeWire() {}
// static
std::unique_ptr<DesktopCapturer>
WindowCapturerPipeWire::CreateRawWindowCapturer(
const DesktopCaptureOptions& options) {
return std::make_unique<WindowCapturerPipeWire>();
}
diff --git a/third_party/libwebrtc/webrtc/modules/desktop_capture/screen_capturer_linux.cc b/third_party/libwebrtc/webrtc/modules/desktop_capture/screen_capturer_linux.cc
--- a/third_party/libwebrtc/webrtc/modules/desktop_capture/screen_capturer_linux.cc
+++ b/third_party/libwebrtc/webrtc/modules/desktop_capture/screen_capturer_linux.cc
@@ -21,17 +21,17 @@
namespace webrtc {
// static
std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateRawScreenCapturer(
const DesktopCaptureOptions& options) {
#if defined(WEBRTC_USE_PIPEWIRE)
if (options.allow_pipewire() && DesktopCapturer::IsRunningUnderWayland()) {
- return ScreenCapturerPipeWire::CreateRawScreenCapturer(options);
+ return BaseCapturerPipeWire::CreateRawScreenCapturer(options);
}
#endif // defined(WEBRTC_USE_PIPEWIRE)
#if defined(USE_X11)
return ScreenCapturerX11::CreateRawScreenCapturer(options);
#endif // defined(USE_X11)
return nullptr;
diff --git a/third_party/libwebrtc/webrtc/modules/desktop_capture/window_capturer_linux.cc b/third_party/libwebrtc/webrtc/modules/desktop_capture/window_capturer_linux.cc
--- a/third_party/libwebrtc/webrtc/modules/desktop_capture/window_capturer_linux.cc
+++ b/third_party/libwebrtc/webrtc/modules/desktop_capture/window_capturer_linux.cc
@@ -21,17 +21,17 @@
namespace webrtc {
// static
std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateRawWindowCapturer(
const DesktopCaptureOptions& options) {
#if defined(WEBRTC_USE_PIPEWIRE)
if (options.allow_pipewire() && DesktopCapturer::IsRunningUnderWayland()) {
- return WindowCapturerPipeWire::CreateRawWindowCapturer(options);
+ return BaseCapturerPipeWire::CreateRawWindowCapturer(options);
}
#endif // defined(WEBRTC_USE_PIPEWIRE)
#if defined(USE_X11)
return WindowCapturerX11::CreateRawWindowCapturer(options);
#endif // defined(USE_X11)
return nullptr;

183
pw3.patch
View File

@ -1,183 +0,0 @@
# HG changeset patch
# User stransky <stransky@redhat.com>
# Date 1604562423 0
# Node ID d1a244822d7811575f5bb3cd024f8f324275aec2
# Parent 998e6d0b24e4a560e5664aaef87307e9c069ad87
Bug 1672989 Build PipeWire as a part of default builds, r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D94590
diff --git a/third_party/libwebrtc/webrtc/modules/desktop_capture/BUILD.gn b/third_party/libwebrtc/webrtc/modules/desktop_capture/BUILD.gn
--- a/third_party/libwebrtc/webrtc/modules/desktop_capture/BUILD.gn
+++ b/third_party/libwebrtc/webrtc/modules/desktop_capture/BUILD.gn
@@ -152,22 +152,17 @@ if (rtc_include_tests) {
"../../rtc_base:rtc_base_approved",
"../../test:test_support",
]
}
}
if (is_linux) {
if (rtc_use_pipewire) {
- pkg_config("pipewire") {
- packages = [ "libpipewire-0.2" ]
-
- defines = [ "WEBRTC_USE_PIPEWIRE" ]
- }
-
+ defines = [ "WEBRTC_USE_PIPEWIRE" ]
pkg_config("gio") {
packages = [
"gio-2.0",
"gio-unix-2.0",
]
}
}
}
@@ -326,16 +321,17 @@ rtc_static_library("desktop_capture_gene
} else {
sources += [
"fake_desktop_capturer.cc",
"fake_desktop_capturer.h",
]
}
if (use_x11 || rtc_use_pipewire) {
+ include_dirs = [ "/third_party/libwebrtc/third_party/pipewire" ]
sources += [
"mouse_cursor_monitor_linux.cc",
"screen_capturer_linux.cc",
"window_capturer_linux.cc",
]
}
if (use_x11) {
@@ -367,16 +363,17 @@ rtc_static_library("desktop_capture_gene
"linux/desktop_device_info_x11.h",
"linux/shared_x_util.cc",
"linux/shared_x_util.h",
]
}
}
if (rtc_use_pipewire) {
+ include_dirs = [ "/third_party/libwebrtc/third_party/pipewire" ]
sources += [
"linux/base_capturer_pipewire.cc",
"linux/base_capturer_pipewire.h",
"linux/screen_capturer_pipewire.cc",
"linux/screen_capturer_pipewire.h",
"linux/window_capturer_pipewire.cc",
"linux/window_capturer_pipewire.h",
]
diff --git a/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build b/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
--- a/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
+++ b/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
@@ -20,17 +20,18 @@ DEFINES["WEBRTC_RESTRICT_LOGGING"] = Tru
FINAL_LIBRARY = "webrtc"
LOCAL_INCLUDES += [
"!/ipc/ipdl/_ipdlheaders",
"/ipc/chromium/src",
"/ipc/glue",
"/media/libyuv/libyuv/include/",
- "/third_party/libwebrtc/webrtc/"
+ "/third_party/libwebrtc/webrtc/",
+ "/third_party/pipewire"
]
UNIFIED_SOURCES += [
"/third_party/libwebrtc/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/capture_result_desktop_capturer_wrapper.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/cropped_desktop_frame.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/cropping_window_capturer.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_and_cursor_composer.cc",
@@ -156,16 +157,17 @@ if CONFIG["OS_TARGET"] == "FreeBSD":
if CONFIG["OS_TARGET"] == "Linux":
DEFINES["USE_NSS_CERTS"] = "1"
DEFINES["USE_X11"] = "1"
DEFINES["WEBRTC_LINUX"] = True
DEFINES["WEBRTC_POSIX"] = True
DEFINES["_FILE_OFFSET_BITS"] = "64"
+ DEFINES["WEBRTC_USE_PIPEWIRE"] = "1"
OS_LIBS += [
"rt",
"X11",
"X11-xcb",
"xcb",
"Xcomposite",
"Xcursor",
@@ -188,16 +190,24 @@ if CONFIG["OS_TARGET"] == "Linux":
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/x_atom_cache.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/x_error_trap.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/x_server_pixel_buffer.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/mouse_cursor_monitor_linux.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/screen_capturer_linux.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/window_capturer_linux.cc"
]
+ CXXFLAGS += CONFIG['TK_CFLAGS']
+
+ UNIFIED_SOURCES += [
+ "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc",
+ "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc",
+ "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc"
+ ]
+
if CONFIG["OS_TARGET"] == "NetBSD":
DEFINES["USE_X11"] = "1"
DEFINES["WEBRTC_BSD"] = True
DEFINES["WEBRTC_POSIX"] = True
DEFINES["_FILE_OFFSET_BITS"] = "64"
OS_LIBS += [
diff --git a/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_options.h b/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_options.h
--- a/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_options.h
+++ b/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_options.h
@@ -136,15 +136,15 @@ class DesktopCaptureOptions {
#if defined(USE_X11)
bool use_update_notifications_ = false;
#else
bool use_update_notifications_ = true;
#endif
bool disable_effects_ = true;
bool detect_updated_region_ = false;
#if defined(WEBRTC_USE_PIPEWIRE)
- bool allow_pipewire_ = false;
+ bool allow_pipewire_ = true;
#endif
};
} // namespace webrtc
#endif // MODULES_DESKTOP_CAPTURE_DESKTOP_CAPTURE_OPTIONS_H_
diff --git a/third_party/libwebrtc/webrtc/moz.build b/third_party/libwebrtc/webrtc/moz.build
--- a/third_party/libwebrtc/webrtc/moz.build
+++ b/third_party/libwebrtc/webrtc/moz.build
@@ -181,16 +181,19 @@ if CONFIG["OS_TARGET"] == "Linux":
DIRS += [
"/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_gn",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/primitives_gn",
"/third_party/libwebrtc/webrtc/modules/video_capture/video_capture_internal_impl_gn",
"/third_party/libwebrtc/webrtc/system_wrappers/cpu_features_linux_gn"
]
+ DIRS += [
+ "/third_party/pipewire/libpipewire"
+ ]
if CONFIG["OS_TARGET"] == "NetBSD":
DIRS += [
"/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_gn",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/primitives_gn",
"/third_party/libwebrtc/webrtc/modules/video_capture/video_capture_internal_impl_gn"

18928
pw4.patch

File diff suppressed because it is too large Load Diff

View File

@ -1,53 +0,0 @@
# HG changeset patch
# User stransky <stransky@redhat.com>
# Date 1605025841 0
# Node ID e04be7688dfb4fbbe8dee73e366df8bc9a5da580
# Parent 41d3c1292480de14d05b34aa0cf2d56015994878
Bug 1675767 [Linux] Use PipeWire on Wayland desktop, r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D96587
diff --git a/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capturer.cc b/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capturer.cc
--- a/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capturer.cc
+++ b/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capturer.cc
@@ -72,37 +72,21 @@ std::unique_ptr<DesktopCapturer> Desktop
if (capturer && options.detect_updated_region()) {
capturer.reset(new DesktopCapturerDifferWrapper(std::move(capturer)));
}
return capturer;
}
#if defined(WEBRTC_USE_PIPEWIRE) || defined(USE_X11)
-// Return true if Firefox is actually running with Wayland backend.
-static bool IsWaylandDisplayUsed() {
- const auto display = gdk_display_get_default();
- if (display == nullptr) {
- // We're running in headless mode.
- return false;
- }
- return !GDK_IS_X11_DISPLAY(display);
-}
-
-// Return true if Firefox is actually running on Wayland enabled session.
-// It means some screensharing capabilities may be limited.
-static bool IsWaylandSessionUsed() {
+bool DesktopCapturer::IsRunningUnderWayland() {
const char* xdg_session_type = getenv("XDG_SESSION_TYPE");
if (!xdg_session_type || strncmp(xdg_session_type, "wayland", 7) != 0)
return false;
if (!(getenv("WAYLAND_DISPLAY")))
return false;
return true;
}
-
-bool DesktopCapturer::IsRunningUnderWayland() {
- return IsWaylandSessionUsed() ? IsWaylandDisplayUsed() : false;
-}
#endif // defined(WEBRTC_USE_PIPEWIRE) || defined(USE_X11)
} // namespace webrtc

163
pw6.patch
View File

@ -1,163 +0,0 @@
diff -up firefox-83.0/browser/actors/WebRTCParent.jsm.pw6 firefox-83.0/browser/actors/WebRTCParent.jsm
--- firefox-83.0/browser/actors/WebRTCParent.jsm.pw6 2020-11-12 19:04:30.000000000 +0100
+++ firefox-83.0/browser/actors/WebRTCParent.jsm 2020-11-25 10:28:32.492865982 +0100
@@ -45,6 +45,9 @@ XPCOMUtils.defineLazyServiceGetter(
"nsIOSPermissionRequest"
);
+const PIPEWIRE_PORTAL_NAME = "####_PIPEWIRE_PORTAL_####";
+const PIPEWIRE_ID = 0xaffffff;
+
class WebRTCParent extends JSWindowActorParent {
didDestroy() {
webrtcUI.forgetStreamsFromBrowserContext(this.browsingContext);
@@ -753,6 +756,8 @@ function prompt(aActor, aBrowser, aReque
);
menupopup.appendChild(doc.createXULElement("menuseparator"));
+ let isPipeWire = false;
+
// Build the list of 'devices'.
let monitorIndex = 1;
for (let i = 0; i < devices.length; ++i) {
@@ -774,6 +779,29 @@ function prompt(aActor, aBrowser, aReque
}
} else {
name = device.name;
+ // When we share content by PipeWire add only one item to the device
+ // list. When it's selected PipeWire portal dialog is opened and
+ // user confirms actual window/screen sharing there.
+ // Don't mark it as scary as there's an extra confirmation step by
+ // PipeWire portal dialog.
+ if (name == PIPEWIRE_PORTAL_NAME && device.id == PIPEWIRE_ID) {
+ isPipeWire = true;
+ let name;
+ try {
+ name = stringBundle.getString("getUserMedia.sharePipeWirePortal.label");
+ } catch (err) {
+ name = "Use operating system settings"
+ }
+ let item = addDeviceToList(
+ menupopup,
+ name,
+ i,
+ type
+ );
+ item.deviceId = device.id;
+ item.mediaSource = type;
+ break;
+ }
if (type == "application") {
// The application names returned by the platform are of the form:
// <window count>\x1e<application name>
@@ -888,39 +916,41 @@ function prompt(aActor, aBrowser, aReque
perms.EXPIRE_SESSION
);
- video.deviceId = deviceId;
- let constraints = {
- video: { mediaSource: type, deviceId: { exact: deviceId } },
- };
- chromeWin.navigator.mediaDevices.getUserMedia(constraints).then(
- stream => {
- if (video.deviceId != deviceId) {
- // The user has selected a different device or closed the panel
- // before getUserMedia finished.
- stream.getTracks().forEach(t => t.stop());
- return;
- }
- video.srcObject = stream;
- video.stream = stream;
- doc.getElementById("webRTC-preview").hidden = false;
- video.onloadedmetadata = function(e) {
- video.play();
- };
- },
- err => {
- if (
- err.name == "OverconstrainedError" &&
- err.constraint == "deviceId"
- ) {
- // Window has disappeared since enumeration, which can happen.
- // No preview for you.
- return;
+ if (!isPipeWire) {
+ video.deviceId = deviceId;
+ let constraints = {
+ video: { mediaSource: type, deviceId: { exact: deviceId } },
+ };
+ chromeWin.navigator.mediaDevices.getUserMedia(constraints).then(
+ stream => {
+ if (video.deviceId != deviceId) {
+ // The user has selected a different device or closed the panel
+ // before getUserMedia finished.
+ stream.getTracks().forEach(t => t.stop());
+ return;
+ }
+ video.srcObject = stream;
+ video.stream = stream;
+ doc.getElementById("webRTC-preview").hidden = false;
+ video.onloadedmetadata = function(e) {
+ video.play();
+ };
+ },
+ err => {
+ if (
+ err.name == "OverconstrainedError" &&
+ err.constraint == "deviceId"
+ ) {
+ // Window has disappeared since enumeration, which can happen.
+ // No preview for you.
+ return;
+ }
+ Cu.reportError(
+ `error in preview: ${err.message} ${err.constraint}`
+ );
}
- Cu.reportError(
- `error in preview: ${err.message} ${err.constraint}`
- );
- }
- );
+ );
+ }
};
menupopup.addEventListener("command", menupopup._commandEventListener);
}
diff -up firefox-83.0/browser/locales/en-US/chrome/browser/browser.properties.pw6 firefox-83.0/browser/locales/en-US/chrome/browser/browser.properties
--- firefox-83.0/browser/locales/en-US/chrome/browser/browser.properties.pw6 2020-11-12 19:04:30.000000000 +0100
+++ firefox-83.0/browser/locales/en-US/chrome/browser/browser.properties 2020-11-25 09:24:26.378857626 +0100
@@ -764,6 +764,7 @@ getUserMedia.selectWindowOrScreen.label=
getUserMedia.selectWindowOrScreen.accesskey=W
getUserMedia.pickWindowOrScreen.label = Select Window or Screen
getUserMedia.shareEntireScreen.label = Entire screen
+getUserMedia.sharePipeWirePortal.label = Use operating system settings
# LOCALIZATION NOTE (getUserMedia.shareMonitor.label):
# %S is screen number (digits 1, 2, etc)
# Example: Screen 1, Screen 2,..
diff -up firefox-83.0/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.pw6 firefox-83.0/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
--- firefox-83.0/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.pw6 2020-11-25 09:24:26.358857788 +0100
+++ firefox-83.0/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc 2020-11-25 09:24:26.378857626 +0100
@@ -879,17 +879,17 @@ void BaseCapturerPipeWire::CaptureFrame(
callback_->OnCaptureResult(Result::SUCCESS, std::move(result));
}
+#define PIPEWIRE_ID 0xaffffff
+#define PIPEWIRE_NAME "####_PIPEWIRE_PORTAL_####"
+
bool BaseCapturerPipeWire::GetSourceList(SourceList* sources) {
- RTC_DCHECK(sources->size() == 0);
- // List of available screens is already presented by the xdg-desktop-portal.
- // But we have to add an empty source as the code expects it.
- sources->push_back({0});
+ sources->push_back({PIPEWIRE_ID, 0, PIPEWIRE_NAME});
return true;
}
bool BaseCapturerPipeWire::SelectSource(SourceId id) {
// Screen selection is handled by the xdg-desktop-portal.
- return true;
+ return id == PIPEWIRE_ID;
}
// static

View File

@ -1,4 +1,4 @@
SHA512 (cbindgen-vendor.tar.xz) = 3c925c5523246b7dfbcb4ce563483d5b45315a06dc90f2cf07cddef0c263dd15b410afbbe4d86594de96a308e93be3b27ffec01f5f759a42ecba3cc983b1677f
SHA512 (mochitest-python.tar.gz) = 7f357cb8bd93d64be5cb75819a8a813d2f8f217ff25f0df8c3190910744132405d45797b3900775a44b554f5c70cf2682809c9e7a686ca131fddcd81e98028d9
SHA512 (firefox-84.0.2.source.tar.xz) = 3fd4c9a5ec2409f23507b38c809e71a35aa674779dc5a7a2e3ff82841e0b65ead29d38ac4d5b17f7108479ed7338b3d2b40cbcfa9c51e01696634166d92edf99
SHA512 (firefox-langpacks-84.0.2-20210106.tar.xz) = 49b6bae80031d70a413a1e5033e7b8d2625ad687bbbbda7ade4e523c549c6a46af5f29de7bf538e0e464ea17734fcd43ba2e015cc190f93af4e3b88d3f50ccde
SHA512 (firefox-85.0.source.tar.xz) = a88472e66baab32d98cb9d13d7dd3c41b47a697ce2a42209612d2342bd6c1c26cd80cdd8905a4cecc72895f155df09762735e8af24bc6156663b7a14e890be4e
SHA512 (firefox-langpacks-85.0-20210120.tar.xz) = ec4b720d74940849f90831de72c5b7bdc004075e4a9b3b966c218b87e4ff9c3c10117a193d947cd971db955f1f3be99d7af706f981b8c0195c16936b1a10881e