diff --git a/chromium_version.txt b/chromium_version.txt index b5eb33b5..08e5245d 100644 --- a/chromium_version.txt +++ b/chromium_version.txt @@ -1 +1 @@ -143.0.7499.40 +143.0.7499.109 diff --git a/domain_substitution.list b/domain_substitution.list index af90ec79..e939e96e 100644 --- a/domain_substitution.list +++ b/domain_substitution.list @@ -2155,6 +2155,7 @@ chrome/browser/ui/webui/management/management_ui_handler_unittest.cc chrome/browser/ui/webui/media_router/cast_feedback_ui.cc chrome/browser/ui/webui/nearby_internals/quick_pair/quick_pair_handler.cc chrome/browser/ui/webui/new_tab_footer/new_tab_footer_handler_browsertest.cc +chrome/browser/ui/webui/new_tab_page/action_chips/action_chips_generator_unittest.cc chrome/browser/ui/webui/new_tab_page/action_chips/action_chips_handler_unittest.cc chrome/browser/ui/webui/new_tab_page/foo/foo_handler.cc chrome/browser/ui/webui/new_tab_page/new_tab_page_handler_unittest.cc @@ -8252,6 +8253,7 @@ third_party/devtools-frontend/src/front_end/panels/timeline/TimelineTreeView.ts third_party/devtools-frontend/src/front_end/panels/timeline/TimelineUIUtils.test.ts third_party/devtools-frontend/src/front_end/panels/timeline/TimingsTrackAppender.ts third_party/devtools-frontend/src/front_end/panels/timeline/components/DetailsView.ts +third_party/devtools-frontend/src/front_end/panels/timeline/components/ExportTraceOptions.ts third_party/devtools-frontend/src/front_end/panels/timeline/components/FieldSettingsDialog.ts third_party/devtools-frontend/src/front_end/panels/timeline/components/LiveMetricsView.ts third_party/devtools-frontend/src/front_end/panels/timeline/components/SidebarInsightsTab.test.ts 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/ungoogled-chromium/add-flags-for-existing-switches.patch b/patches/ungoogled-chromium/add-flags-for-existing-switches.patch index 0fc53f19..2bc9fb47 100644 --- a/patches/ungoogled-chromium/add-flags-for-existing-switches.patch +++ b/patches/ungoogled-chromium/add-flags-for-existing-switches.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -5203,10 +5203,12 @@ const FeatureEntry::FeatureVariation kPr +@@ -5210,10 +5210,12 @@ const FeatureEntry::FeatureVariation kPr #include "chrome/browser/ungoogled_flag_choices.h" #include "chrome/browser/bromite_flag_choices.h" #include "chrome/browser/ungoogled_platform_flag_choices.h" diff --git a/patches/ungoogled-chromium/add-ungoogled-flag-headers.patch b/patches/ungoogled-chromium/add-ungoogled-flag-headers.patch index cef8b807..f35249a9 100644 --- a/patches/ungoogled-chromium/add-ungoogled-flag-headers.patch +++ b/patches/ungoogled-chromium/add-ungoogled-flag-headers.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -5199,7 +5199,13 @@ const FeatureEntry::FeatureVariation kPr +@@ -5206,7 +5206,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/ungoogled-chromium/disable-crash-reporter.patch b/patches/ungoogled-chromium/disable-crash-reporter.patch index 5e188fb6..74c43022 100644 --- a/patches/ungoogled-chromium/disable-crash-reporter.patch +++ b/patches/ungoogled-chromium/disable-crash-reporter.patch @@ -1,69 +1,49 @@ # Disable some background communication with clients2.google.com ---- a/chrome/browser/chrome_content_browser_client.cc -+++ b/chrome/browser/chrome_content_browser_client.cc -@@ -2683,24 +2683,6 @@ void ChromeContentBrowserClient::AppendE - command_line->AppendSwitchASCII(switches::kMetricsClientID, - client_info->client_id); - } --#elif BUILDFLAG(IS_POSIX) --#if !BUILDFLAG(IS_ANDROID) -- pid_t pid; -- if (crash_reporter::GetHandlerSocket(nullptr, &pid)) { -- command_line->AppendSwitchASCII( -- crash_reporter::switches::kCrashpadHandlerPid, -- base::NumberToString(pid)); -- } --#endif -- std::string switch_value; -- std::unique_ptr client_info = -- GoogleUpdateSettings::LoadMetricsClientInfo(); -- if (client_info) { -- switch_value = client_info->client_id; -- } -- switch_value.push_back(','); -- switch_value.append(chrome::GetChannelName(chrome::WithExtendedStable(true))); -- command_line->AppendSwitchASCII(switches::kEnableCrashReporter, switch_value); +--- a/components/crash/core/app/crash_reporter_client.cc ++++ b/components/crash/core/app/crash_reporter_client.cc +@@ -146,7 +146,7 @@ void CrashReporterClient::GetSanitizatio #endif - if (logging::DialogsAreSuppressed()) { + std::string CrashReporterClient::GetUploadUrl() { +-#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && defined(OFFICIAL_BUILD) ++#if 0 + return kDefaultUploadURL; + #else + return std::string(); --- a/components/crash/core/app/crashpad.cc +++ b/components/crash/core/app/crashpad.cc -@@ -72,6 +72,12 @@ void InitializeDatabasePath(const base:: - } - - bool InitializeCrashpadImpl(bool initial_client, -+ const std::string& a, const std::string& b, const base::FilePath& c, -+ const std::vector& d, bool e, const std::vector& f) { +@@ -78,6 +78,13 @@ bool InitializeCrashpadImpl(bool initial + const std::vector& initial_arguments, + bool embedded_handler, + const std::vector& attachments) { ++// Crashpad is needed on Linux because it's used as a WASM signal handler. ++// This is not the case on other platforms, and so it can remain entirely ++// disabled there. ++#if !BUILDFLAG(IS_LINUX) + return false; -+} -+[[maybe_unused]] -+bool DeadInitializeCrashpadImpl(bool initial_client, - const std::string& process_type, - const std::string& user_data_dir, - const base::FilePath& exe_path, ---- a/components/gwp_asan/client/gwp_asan.cc -+++ b/components/gwp_asan/client/gwp_asan.cc -@@ -344,6 +344,11 @@ GWP_ASAN_EXPORT std::optional GetAllocatorSettings( -+ const base::Feature& a, bool b, std::string_view c) { -+ return std::nullopt; -+} -+[[maybe_unused]] -+std::optional DeadGetAllocatorSettings( - const base::Feature& feature, - bool boost_sampling, - std::string_view process_type) { ---- a/third_party/crashpad/crashpad/client/crashpad_client_linux.cc -+++ b/third_party/crashpad/crashpad/client/crashpad_client_linux.cc -@@ -747,8 +747,6 @@ void CrashpadClient::CrashWithoutDump(co - // static - void CrashpadClient::SetFirstChanceExceptionHandler( - FirstChanceHandler handler) { -- DCHECK(SignalHandler::Get()); -- SignalHandler::Get()->SetFirstChanceHandler(handler); - } - - // static + ScopedStoppable upload_thread; +- if (!options.url.empty()) { ++ if ((false)) { + // TODO(scottmg): options.rate_limit should be removed when we have a + // configurable database setting to control upload limiting. + // See https://crashpad.chromium.org/bug/23. diff --git a/patches/ungoogled-chromium/fix-building-without-safebrowsing.patch b/patches/ungoogled-chromium/fix-building-without-safebrowsing.patch index ccbc7e2b..ebe0434a 100644 --- a/patches/ungoogled-chromium/fix-building-without-safebrowsing.patch +++ b/patches/ungoogled-chromium/fix-building-without-safebrowsing.patch @@ -1603,6 +1603,29 @@ #endif } +--- a/chrome/browser/ui/safety_hub/abusive_notification_permissions_manager.cc ++++ b/chrome/browser/ui/safety_hub/abusive_notification_permissions_manager.cc +@@ -108,20 +108,7 @@ safe_browsing::NotificationRevocationSou + // suspicious notification. + bool HasShowOriginalSuspiciousNotification(HostContentSettingsMap* hcsm, + GURL url) { +- DCHECK(hcsm); +- DCHECK(url.is_valid()); +- base::Value stored_value(hcsm->GetWebsiteSetting( +- url, url, ContentSettingsType::SUSPICIOUS_NOTIFICATION_SHOW_ORIGINAL)); +- +- if (stored_value.is_none()) { + return false; +- } +- DCHECK(stored_value.is_dict()); +- DCHECK(stored_value.GetDict().contains( +- safe_browsing::kSuspiciousNotificationShowOriginalKey)); +- return stored_value.GetDict() +- .FindBool(safe_browsing::kSuspiciousNotificationShowOriginalKey) +- .value_or(false); + } + + // Return true if the url should be considered for suspicious content --- a/chrome/browser/ui/safety_hub/revoked_permissions_service.cc +++ b/chrome/browser/ui/safety_hub/revoked_permissions_service.cc @@ -41,7 +41,6 @@ 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, *)) { diff --git a/patches/upstream-fixes/missing-dependencies.patch b/patches/upstream-fixes/missing-dependencies.patch index b75a07c3..fb0b336e 100644 --- a/patches/upstream-fixes/missing-dependencies.patch +++ b/patches/upstream-fixes/missing-dependencies.patch @@ -48,6 +48,16 @@ ] # Disallow depending on content. +--- a/components/contextual_tasks/internal/BUILD.gn ++++ b/components/contextual_tasks/internal/BUILD.gn +@@ -43,6 +43,7 @@ source_set("internal") { + "//components/sync/model", + "//components/url_formatter", + "//net", ++ "//third_party/re2", + "//ui/gfx", + "//url", + ] --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn @@ -119,6 +119,7 @@ source_set("browser") {