diff --git a/patches/helium/core/exclude-irrelevant-flags.patch b/patches/helium/core/exclude-irrelevant-flags.patch index f461eedd..d41e8629 100644 --- a/patches/helium/core/exclude-irrelevant-flags.patch +++ b/patches/helium/core/exclude-irrelevant-flags.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -13643,11 +13643,328 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13652,11 +13652,328 @@ const FeatureEntry kFeatureEntries[] = { // AboutFlagsHistogramTest unit test to verify this process). }; @@ -330,7 +330,7 @@ FlagsStateSingleton(const FlagsStateSingleton&) = delete; FlagsStateSingleton& operator=(const FlagsStateSingleton&) = delete; ~FlagsStateSingleton() override = default; -@@ -13666,7 +13983,7 @@ class FlagsStateSingleton : public flags +@@ -13675,7 +13992,7 @@ class FlagsStateSingleton : public flags void RestoreDefaultState() { flags_state_ = @@ -339,7 +339,7 @@ } private: -@@ -13990,7 +14307,7 @@ base::span GetFeatur +@@ -13999,7 +14316,7 @@ base::span GetFeatur !entries_for_testing->empty()) { return *entries_for_testing; } diff --git a/patches/helium/core/flags-setup.patch b/patches/helium/core/flags-setup.patch index 91c59a76..9ff15922 100644 --- a/patches/helium/core/flags-setup.patch +++ b/patches/helium/core/flags-setup.patch @@ -15,7 +15,7 @@ #endif // USE_AURA #if defined(USE_AURA) -@@ -5200,11 +5200,13 @@ const FeatureEntry::FeatureVariation kPr +@@ -5207,11 +5207,13 @@ const FeatureEntry::FeatureVariation kPr // calculate and verify checksum. // // When adding a new choice, add it to the end of the list. diff --git a/patches/helium/core/prefer-https-by-default.patch b/patches/helium/core/prefer-https-by-default.patch index 76d80df0..726deb95 100644 --- a/patches/helium/core/prefer-https-by-default.patch +++ b/patches/helium/core/prefer-https-by-default.patch @@ -1,6 +1,6 @@ --- a/chrome/common/chrome_features.cc +++ b/chrome/common/chrome_features.cc -@@ -1181,7 +1181,7 @@ BASE_FEATURE(kHttpsFirstBalancedMode, ba +@@ -1185,7 +1185,7 @@ BASE_FEATURE(kHttpsFirstBalancedMode, ba // Automatically enables HTTPS-First Mode in a balanced configuration when // possible. BASE_FEATURE(kHttpsFirstBalancedModeAutoEnable, diff --git a/patches/helium/core/ublock-reconfigure-defaults.patch b/patches/helium/core/ublock-reconfigure-defaults.patch index b794268b..5e8e0325 100644 --- a/patches/helium/core/ublock-reconfigure-defaults.patch +++ b/patches/helium/core/ublock-reconfigure-defaults.patch @@ -21,7 +21,7 @@ location <= mojom::ManifestLocation::kMaxValue; --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -6194,7 +6194,8 @@ void AddChromeSchemeFactories( +@@ -6212,7 +6212,8 @@ void AddChromeSchemeFactories( std::vector allowed_webui_hosts; // Support for chrome:// scheme if appropriate. if ((extension->is_extension() || extension->is_platform_app()) && diff --git a/patches/helium/ui/bangs-ui.patch b/patches/helium/ui/bangs-ui.patch index e716d777..a6026203 100644 --- a/patches/helium/ui/bangs-ui.patch +++ b/patches/helium/ui/bangs-ui.patch @@ -58,7 +58,7 @@ #include "components/search_engines/template_url_service.h" #include "components/search_engines/template_url_starter_pack_data.h" #include "components/strings/grit/components_strings.h" -@@ -1944,7 +1945,21 @@ void AutocompleteController::UpdateKeywo +@@ -1939,7 +1940,21 @@ void AutocompleteController::UpdateKeywo // - For contextual search matches, the description indicates the // alternative UX because they're opened in the side panel. i->description = template_url->AdjustedShortNameForLocaleDirection(); diff --git a/patches/helium/ui/clean-new-tab-page.patch b/patches/helium/ui/clean-new-tab-page.patch index 8b06734c..01affb67 100644 --- a/patches/helium/ui/clean-new-tab-page.patch +++ b/patches/helium/ui/clean-new-tab-page.patch @@ -102,8 +102,8 @@ ${this.lazyRender_ ? html` ${this.shortcutsEnabled_ ? html` +@@ -94,54 +7,7 @@ import {nothing} from '//resources/lit/v + max-tiles-before-show-more="${this.maxTilesBeforeShowMore_}"> ` : ''} - ${this.middleSlotPromoEnabled_ ? html` @@ -157,7 +157,7 @@ diff --git a/patches/helium/ui/experiments/compact-action-toolbar.patch b/patches/helium/ui/experiments/compact-action-toolbar.patch index 0a76cf9f..9678f633 100644 --- a/patches/helium/ui/experiments/compact-action-toolbar.patch +++ b/patches/helium/ui/experiments/compact-action-toolbar.patch @@ -107,7 +107,7 @@ // Reparent PWA views that were moved for immersive mode. if (web_app_frame_toolbar_) { -@@ -5196,6 +5202,12 @@ void BrowserView::AddedToWidget() { +@@ -5197,6 +5203,12 @@ void BrowserView::AddedToWidget() { toolbar_->Init(); diff --git a/patches/helium/ui/restyle-ntp-tiles.patch b/patches/helium/ui/restyle-ntp-tiles.patch index 15141f36..38fa1f40 100644 --- a/patches/helium/ui/restyle-ntp-tiles.patch +++ b/patches/helium/ui/restyle-ntp-tiles.patch @@ -1,6 +1,6 @@ --- a/ui/webui/resources/cr_components/most_visited/most_visited.ts +++ b/ui/webui/resources/cr_components/most_visited/most_visited.ts -@@ -719,7 +719,7 @@ export class MostVisitedElement extends +@@ -717,7 +717,7 @@ export class MostVisitedElement extends protected getFaviconUrl_(url: Url): string { const faviconUrl = new URL('chrome://favicon2/'); @@ -38,7 +38,7 @@ display: inline-block; height: 100%; outline: none; -@@ -184,7 +184,7 @@ +@@ -187,7 +187,7 @@ .tile-icon { align-items: center; background-color: var(--tile-background-color); @@ -47,7 +47,7 @@ display: flex; flex-shrink: 0; height: var(--icon-size); -@@ -194,8 +194,8 @@ +@@ -197,8 +197,8 @@ } .tile-icon img { @@ -58,7 +58,7 @@ } .managed-tile-icon { -@@ -218,7 +218,6 @@ cr-policy-indicator { +@@ -221,7 +221,6 @@ cr-policy-indicator { .tile-title { align-items: center; @@ -66,7 +66,7 @@ color: var(--most-visited-text-color); display: flex; height: var(--title-height); -@@ -263,7 +262,7 @@ cr-icon-button { +@@ -266,7 +265,7 @@ cr-icon-button { --cr-icon-button-fill-color: var(--icon-button-color); --cr-icon-button-size: 28px; --cr-icon-button-transition: none; diff --git a/patches/series b/patches/series index d20c5bd0..4518b5be 100644 --- a/patches/series +++ b/patches/series @@ -2,7 +2,6 @@ upstream-fixes/missing-dependencies.patch upstream-fixes/fix-crash-without-enterprise-cloud-content-analysis.patch upstream-fixes/fix-python-codecs-deprecation.patch upstream-fixes/fix-macos-widget-rect.patch -upstream-fixes/fix-macos-fullscreen-ui-breakage.patch inox-patchset/fix-building-without-safebrowsing.patch inox-patchset/disable-autofill-download-manager.patch diff --git a/patches/upstream-fixes/fix-macos-fullscreen-ui-breakage.patch b/patches/upstream-fixes/fix-macos-fullscreen-ui-breakage.patch deleted file mode 100644 index 0be79658..00000000 --- a/patches/upstream-fixes/fix-macos-fullscreen-ui-breakage.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 1e69bde8508191f45357b8c027bcd63a58d9ea8d Mon Sep 17 00:00:00 2001 -From: Dana Fried -Date: Fri, 31 Oct 2025 11:49:22 -0700 -Subject: [PATCH] [Browser Frame] Abandon reading Mac caption button positions - -These were not reliable during fullscreen transitions in a way that was -not possible to accurately filter out. This now uses the old fallback -hard-coded constants that were being used in all PWA windows anyway. - -Include-Ci-Only-Tests: chromium.mac:mac15-x64-rel-tests|browser_tests -Bug: 453717426 -Change-Id: Id102a321834c3dac0f56edcacda933c88db0b82a -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7107360 -Reviewed-by: Darryl James -Commit-Queue: Dana Fried -Cr-Commit-Position: refs/heads/main@{#1538756} ---- - ---- a/chrome/browser/ui/views/frame/browser_frame_view_mac.h -+++ b/chrome/browser/ui/views/frame/browser_frame_view_mac.h -@@ -90,9 +90,6 @@ class BrowserFrameViewMac : public Brows - FRIEND_TEST_ALL_PREFIXES(BrowserFrameViewMacTest, - GetCaptionButtonPlaceholderBounds); - -- // Fetches the caption button bounds from the buttons themselves. -- BoundsAndMargins GetCaptionButtonBoundsNative() const; -- - // Creates an inset from the caption button size which controls for which edge - // the captions buttons exists on. Used to position elements like the tabstrip - // that are adjacent to the caption buttons. ---- a/chrome/browser/ui/views/frame/browser_frame_view_mac.mm -+++ b/chrome/browser/ui/views/frame/browser_frame_view_mac.mm -@@ -458,96 +458,9 @@ void BrowserFrameViewMac::PaintChildren( - } - - BrowserFrameViewMac::BoundsAndMargins --BrowserFrameViewMac::GetCaptionButtonBoundsNative() const { -- BoundsAndMargins result; -- -- // Verify that this is not an out-of-process window. -- const auto native_window = GetWidget()->GetNativeWindow(); -- if (auto* const host = -- views::NativeWidgetMacNSWindowHost::GetFromNativeWindow( -- native_window); -- host && host->application_host()) { -- return result; -- } -- -- // Verify that there is a valid NSWindow. -- NSWindow* ns_window = native_window.GetNativeNSWindow(); -- if (!ns_window) { -- return result; -- } -- -- // Build a list of caption button bounds. -- std::vector button_rects; -- -- // Also track some other data that will be useful for calculating the visual -- // margins of the buttons against the window border. -- float min_x = width(); -- float max_x = 0; -- float min_y = height(); -- -- // Chrome coordinates are reversed in RTL but not in the Mac API, so we might -- // have to flip them. -- const bool is_rtl = base::i18n::IsRTL(); -- -- // Build the list. If any of the buttons are not present or are zero size, -- // abort (this will fall back to previous hard-coded values). -- for (NSButton* button : -- {[ns_window standardWindowButton:NSWindowCloseButton], -- [ns_window standardWindowButton:NSWindowMiniaturizeButton], -- [ns_window standardWindowButton:NSWindowZoomButton]}) { -- if (!button) { -- return result; -- } -- NSRect ns_rect = [button convertRect:[button bounds] toView:nil]; -- -- // When converting from Mac to Chrome coordinates: -- // - Y axis is inverted (Mac coordinates start at bottom-left). -- // - X axis is inverted in RTL mode only (Mac coordinates are invariant -- // while Chrome reverses them). -- button_rects.emplace_back( -- is_rtl ? width() - (ns_rect.origin.x + ns_rect.size.width) -- : ns_rect.origin.x, -- height() - (ns_rect.origin.y + ns_rect.size.height), ns_rect.size.width, -- ns_rect.size.height); -- const auto& rect = button_rects.back(); -- if (rect.IsEmpty()) { -- return result; -- } -- min_x = std::min(min_x, rect.x()); -- max_x = std::max(max_x, rect.right()); -- min_y = std::min(min_y, rect.y()); -- } -- -- // Calculate the margins that the buttons are using. -- const float block_margin = min_y; -- const float inline_margin = -- CaptionButtonsOnLeadingEdge() ? min_x : width() - max_x; -- -- // Accumulate the button bounds. -- for (const auto& rect : button_rects) { -- result.bounds.Union(rect); -- } -- -- // Apply the margins on the exterior of the region, so that the padding around -- // the buttons appears visually symmetrical. -- result.margins = gfx::OutsetsF::VH(block_margin, inline_margin); -- -- return result; --} -- --BrowserFrameViewMac::BoundsAndMargins - BrowserFrameViewMac::GetCaptionButtonBounds() const { -- BoundsAndMargins result = GetCaptionButtonBoundsNative(); -- if (!result.bounds.IsEmpty()) { -- return result; -- } -+ BoundsAndMargins result; - -- // If that doesn't work, fall back to some hard-coded constants. These will -- // apply for app windows, since the app is out of process and the caption -- // buttons can't be retrieved. Note that the app window actually positions its -- // buttons slightly differently from a standard browser window (it's unclear -- // why). -- // - // These are empirically determined; feel free to change them if they're - // not precise. - if (@available(macOS 26, *)) {