gh-13131: Sync upstream Firefox to version 149.0.2 (gh-13129)

This commit is contained in:
mr. m
2026-04-07 19:43:49 +02:00
committed by GitHub
parent f8efd2c22a
commit 8d646b3e41
12 changed files with 17 additions and 89 deletions

View File

@@ -103,6 +103,10 @@ jobs:
fi
echo "version=$VERSION" >> $GITHUB_OUTPUT
- name: Import external patches
if: steps.git-check.outputs.files_changed == 'true'
run: python3 scripts/update_external_patches.py || true
- name: Check if patches got applied
if: steps.git-check.outputs.files_changed == 'true'
id: check-patches
@@ -115,10 +119,6 @@ jobs:
if: steps.git-check.outputs.files_changed == 'true'
run: python3 scripts/import_external_tests.py || true
- name: Import external patches
if: steps.git-check.outputs.files_changed == 'true'
run: python3 scripts/update_external_patches.py || true
- name: Create pull request
uses: peter-evans/create-pull-request@v7
if: steps.git-check.outputs.files_changed == 'true'

View File

@@ -34,7 +34,7 @@ Zen is a firefox-based browser with the aim of pushing your productivity to a ne
### Firefox Versions
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `149.0`! 🚀
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `149.0.2`! 🚀
- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 149.0`!
### Contributing

View File

@@ -1 +1 @@
0b65b47ceee455b324e13114b5bc3a7033a8b2a5
fc45ac45a16dd9312a3e678fdaef33aaa7e0e641

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
index e77dfebdf3a15033182eeae6eccd44a63aae3740..4e25b3e1abaeeaec3e83e0e1b53bf578eba5587b 100644
index a5f2e4258942010ee61ed7a86497f51793366fcd..f01524a09512ec6cd1972a9fdb173ff427a0d753 100644
--- a/browser/components/preferences/main.js
+++ b/browser/components/preferences/main.js
@@ -2652,6 +2652,11 @@ SettingGroupManager.registerGroups({

View File

@@ -1,5 +1,5 @@
diff --git a/dom/base/Document.cpp b/dom/base/Document.cpp
index b837e66d4fd5b6a96ad3d9c35f8e50e911cd168b..c35a395da59fc30d70b1e05b94db41b7136db0de 100644
index 2876a539b21c038340d318d8f0d29da88c518686..1f6bbf828b86dc509f63c7c3d0032f1d4d551d9c 100644
--- a/dom/base/Document.cpp
+++ b/dom/base/Document.cpp
@@ -464,6 +464,7 @@

View File

@@ -1,5 +1,5 @@
diff --git a/dom/chrome-webidl/MediaController.webidl b/dom/chrome-webidl/MediaController.webidl
index 20f416d1c3b41798e0f90bbac5db40ed2a4ab000..1c5d893f9166a3aa7bc7802bb0d1207d169033ee 100644
index 2df28da9620f8564edb3e77184c674a95941e022..4e2a126766999543422d3a90c66c629f46b58bda 100644
--- a/dom/chrome-webidl/MediaController.webidl
+++ b/dom/chrome-webidl/MediaController.webidl
@@ -20,6 +20,12 @@ enum MediaControlKey {
@@ -15,9 +15,9 @@ index 20f416d1c3b41798e0f90bbac5db40ed2a4ab000..1c5d893f9166a3aa7bc7802bb0d1207d
/**
* MediaController is used to control media playback for a tab, and each tab
* would only have one media controller, which can be accessed from the
@@ -32,10 +38,14 @@ interface MediaController : EventTarget {
readonly attribute boolean isAudible;
@@ -33,10 +39,14 @@ interface MediaController : EventTarget {
readonly attribute boolean isPlaying;
readonly attribute boolean isAnyMediaBeingControlled;
readonly attribute MediaSessionPlaybackState playbackState;
+ readonly attribute boolean isBeingUsedInPIPModeOrFullscreen;

View File

@@ -1,5 +1,5 @@
diff --git a/dom/media/mediaelement/HTMLMediaElement.cpp b/dom/media/mediaelement/HTMLMediaElement.cpp
index 624375b514cb0b101ae24bb5906d0097d4b335db..27c91b01db611a0cd75b20907310d2fa4c8a1b47 100644
index b5b932e421894f33e1397149dcc580f891329cbc..ffc3fb68e01a0c11a3ebbbd7793e682d8dc6be47 100644
--- a/dom/media/mediaelement/HTMLMediaElement.cpp
+++ b/dom/media/mediaelement/HTMLMediaElement.cpp
@@ -451,6 +451,7 @@ class HTMLMediaElement::MediaControlKeyListener final

View File

@@ -1,19 +0,0 @@
diff --git a/gfx/webrender_bindings/DCLayerTree.cpp b/gfx/webrender_bindings/DCLayerTree.cpp
--- a/gfx/webrender_bindings/DCLayerTree.cpp
+++ b/gfx/webrender_bindings/DCLayerTree.cpp
@@ -2097,10 +2097,14 @@
hr = mCompositionSurface->BeginDraw(&updateRect, __uuidof(ID3D11Texture2D),
(void**)getter_AddRefs(backBuffer),
&offset);
if (FAILED(hr)) {
+ LayoutDeviceIntRect rect = widget::WinUtils::ToIntRect(updateRect);
+
+ gfxCriticalNote << "DCLayerCompositionSurface::Bind failed: "
+ << gfx::hexa(hr) << " " << rect;
RenderThread::Get()->HandleWebRenderError(WebRenderError::BEGIN_DRAW);
return;
}
const auto gl = mDCLayerTree->GetGLContext();

View File

@@ -1,43 +0,0 @@
diff --git a/gfx/webrender_bindings/DCLayerTree.cpp b/gfx/webrender_bindings/DCLayerTree.cpp
--- a/gfx/webrender_bindings/DCLayerTree.cpp
+++ b/gfx/webrender_bindings/DCLayerTree.cpp
@@ -2182,18 +2182,18 @@
updatePos = {0, 0};
}
mFirstDraw = false;
+ LayoutDeviceIntRect rect = widget::WinUtils::ToIntRect(updateRect);
+ MOZ_ASSERT(!rect.IsEmpty());
hr = mCompositionSurface->BeginDraw(&updateRect, __uuidof(ID3D11Texture2D),
(void**)getter_AddRefs(backBuffer),
&offset);
if (FAILED(hr)) {
- LayoutDeviceIntRect rect = widget::WinUtils::ToIntRect(updateRect);
-
gfxCriticalNote << "DCLayerCompositionSurface::Bind failed: "
<< gfx::hexa(hr) << " " << rect;
RenderThread::Get()->HandleWebRenderError(WebRenderError::BEGIN_DRAW);
return;
}
diff --git a/gfx/wr/webrender/src/renderer/composite.rs b/gfx/wr/webrender/src/renderer/composite.rs
--- a/gfx/wr/webrender/src/renderer/composite.rs
+++ b/gfx/wr/webrender/src/renderer/composite.rs
@@ -1120,11 +1120,13 @@
// Only use supplied clear color for first content layer we encounter
let clear_color = content_clear_color.take().unwrap_or(ColorF::TRANSPARENT);
if let Some(ref mut _compositor) = self.compositor_config.layer_compositor() {
if let Some(PartialPresentMode::Single { dirty_rect }) = partial_present_mode {
- if dirty_rect.is_empty() {
+ let device_rect = DeviceRect::from_size(device_size.to_f32());
+ let clipped_dirty_rect = dirty_rect.intersection_unchecked(&device_rect);
+ if clipped_dirty_rect.is_empty() {
continue;
}
}
}

View File

@@ -36,19 +36,9 @@
"application": "Application"
}
},
{
"type": "phabricator",
"id": "D291099",
"name": "gh-12979 1 Add gfxCriticalNote to DCLayerCompositionSurface"
},
{
"type": "phabricator",
"id": "D291123",
"name": "gh-12979 2 Compositor rendering performance fix"
},
{
"type": "phabricator",
"id": "D291714",
"name": "gh-12979 3 Clip dirty_rect to device_size"
"name": "gh-12979 Clip dirty_rect to device_size"
}
]

View File

@@ -5,8 +5,8 @@
"binaryName": "zen",
"version": {
"product": "firefox",
"version": "149.0",
"candidate": "149.0",
"version": "149.0.2",
"candidate": "149.0.2",
"candidateBuild": 1
},
"buildOptions": {
@@ -20,7 +20,7 @@
"brandShortName": "Zen",
"brandFullName": "Zen Browser",
"release": {
"displayVersion": "1.19.6b",
"displayVersion": "1.19.7b",
"github": {
"repo": "zen-browser/desktop"
},
@@ -54,4 +54,4 @@
"licenseType": "MPL-2.0"
},
"updateHostname": "updates.zen-browser.app"
}
}