diff --git a/.github/workflows/sync-upstream.yml b/.github/workflows/sync-upstream.yml index 3913e4099..a8f81b400 100644 --- a/.github/workflows/sync-upstream.yml +++ b/.github/workflows/sync-upstream.yml @@ -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' diff --git a/README.md b/README.md index b6a817c47..ae40457ed 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/build/firefox-cache/l10n-last-commit-hash b/build/firefox-cache/l10n-last-commit-hash index 4024374c4..adafe3fc8 100644 --- a/build/firefox-cache/l10n-last-commit-hash +++ b/build/firefox-cache/l10n-last-commit-hash @@ -1 +1 @@ -0b65b47ceee455b324e13114b5bc3a7033a8b2a5 \ No newline at end of file +fc45ac45a16dd9312a3e678fdaef33aaa7e0e641 \ No newline at end of file diff --git a/src/browser/components/preferences/main-js.patch b/src/browser/components/preferences/main-js.patch index 2a03cb2c3..d13a304c5 100644 --- a/src/browser/components/preferences/main-js.patch +++ b/src/browser/components/preferences/main-js.patch @@ -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({ diff --git a/src/dom/base/Document-cpp.patch b/src/dom/base/Document-cpp.patch index 665d7a948..79ca8e065 100644 --- a/src/dom/base/Document-cpp.patch +++ b/src/dom/base/Document-cpp.patch @@ -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 @@ diff --git a/src/dom/chrome-webidl/MediaController-webidl.patch b/src/dom/chrome-webidl/MediaController-webidl.patch index d7c868534..3548fa9b6 100644 --- a/src/dom/chrome-webidl/MediaController-webidl.patch +++ b/src/dom/chrome-webidl/MediaController-webidl.patch @@ -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; diff --git a/src/dom/media/mediaelement/HTMLMediaElement-cpp.patch b/src/dom/media/mediaelement/HTMLMediaElement-cpp.patch index 0df960077..e65990ad5 100644 --- a/src/dom/media/mediaelement/HTMLMediaElement-cpp.patch +++ b/src/dom/media/mediaelement/HTMLMediaElement-cpp.patch @@ -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 diff --git a/src/external-patches/firefox/gh-12979_1_add_gfxcriticalnote_to_dclayercompositionsurface.patch b/src/external-patches/firefox/gh-12979_1_add_gfxcriticalnote_to_dclayercompositionsurface.patch deleted file mode 100644 index 251b6eed1..000000000 --- a/src/external-patches/firefox/gh-12979_1_add_gfxcriticalnote_to_dclayercompositionsurface.patch +++ /dev/null @@ -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(); - diff --git a/src/external-patches/firefox/gh-12979_2_compositor_rendering_performance_fix.patch b/src/external-patches/firefox/gh-12979_2_compositor_rendering_performance_fix.patch deleted file mode 100644 index 363bb391d..000000000 --- a/src/external-patches/firefox/gh-12979_2_compositor_rendering_performance_fix.patch +++ /dev/null @@ -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; - } - } - } - - diff --git a/src/external-patches/firefox/gh-12979_3_clip_dirty_rect_to_device_size.patch b/src/external-patches/firefox/gh-12979_clip_dirty_rect_to_device_size.patch similarity index 100% rename from src/external-patches/firefox/gh-12979_3_clip_dirty_rect_to_device_size.patch rename to src/external-patches/firefox/gh-12979_clip_dirty_rect_to_device_size.patch diff --git a/src/external-patches/manifest.json b/src/external-patches/manifest.json index 6da075325..91c2934ab 100644 --- a/src/external-patches/manifest.json +++ b/src/external-patches/manifest.json @@ -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" } ] diff --git a/surfer.json b/surfer.json index c06f1a6e0..a1ae58cdd 100644 --- a/surfer.json +++ b/surfer.json @@ -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" -} +} \ No newline at end of file