Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade from Chromium 128 to Chromium 129. #24966

Merged
merged 125 commits into from
Sep 10, 2024
Merged

Upgrade from Chromium 128 to Chromium 129. #24966

merged 125 commits into from
Sep 10, 2024

Conversation

mkarolin
Copy link
Collaborator

@mkarolin mkarolin commented Aug 1, 2024

Resolves brave/brave-browser#40204
Resolves brave/brave-browser#39211

Submitter Checklist:

  • I confirm that no security/privacy review is needed and no other type of reviews are needed, or that I have requested them
  • There is a ticket for my issue
  • Used Github auto-closing keywords in the PR description above
  • Wrote a good PR/commit description
  • Squashed any review feedback or "fixup" commits before merge, so that history is a record of what happened in the repo, not your PR
  • Added appropriate labels (QA/Yes or QA/No; release-notes/include or release-notes/exclude; OS/...) to the associated issue
  • Checked the PR locally:
    • npm run test -- brave_browser_tests, npm run test -- brave_unit_tests wiki
    • npm run presubmit wiki, npm run gn_check, npm run tslint
  • Ran git rebase master (if needed)

Reviewer Checklist:

  • A security review is not needed, or a link to one is included in the PR description
  • New files have MPL-2.0 license header
  • Adequate test coverage exists to prevent regressions
  • Major classes, functions and non-trivial code blocks are well-commented
  • Changes in component dependencies are properly reflected in gn
  • Code follows the style guide
  • Test plan is specified in PR before merging

After-merge Checklist:

Test Plan:

@mkarolin mkarolin added CI/run-network-audit Run network-audit CI/run-audit-deps Check for known npm/cargo vulnerabilities (audit_deps) CI/run-upstream-tests Run upstream unit and browser tests on Linux and Windows (otherwise only on Linux) labels Aug 1, 2024
@github-actions github-actions bot added the CI/storybook-url Deploy storybook and provide a unique URL for each build label Aug 6, 2024
@brave-builds
Copy link
Collaborator

A Storybook has been deployed to preview UI for the latest push

@brave-builds
Copy link
Collaborator

A Storybook has been deployed to preview UI for the latest push

@brave-builds
Copy link
Collaborator

A Storybook has been deployed to preview UI for the latest push

@brave-builds
Copy link
Collaborator

A Storybook has been deployed to preview UI for the latest push

@brave-builds
Copy link
Collaborator

A Storybook has been deployed to preview UI for the latest push

@brave-builds
Copy link
Collaborator

A Storybook has been deployed to preview UI for the latest push

mkarolin and others added 18 commits September 10, 2024 14:42
Chromium change:

https://source.chromium.org/chromium/chromium/src/+/b8cc451c1ab2fe84b3a31090986f5d9206a1cd93

commit b8cc451c1ab2fe84b3a31090986f5d9206a1cd93
Author: EmiliaPaz <emiliapaz@chromium.org>
Date:   Thu Aug 15 22:28:47 2024 +0000

    [Extensions c2s] Move webstore and settings button to menu's footer

    Moves the webstore and settings button from the header to the footer
    in the new extensions menu, as per the latest mocks. Functionality is
    the same.

    Screenshots:
    https://drive.google.com/file/d/1IktYem8zkZXnq2RlbNmhK73Ql3UU_RSB/view?usp=sharing
    https://drive.google.com/file/d/1EcOdX06r5mQsrn1z7xcDqWdWT_qKWGhL/view?usp=sharing

    Bug: 40879945
This is a verbatim upstream fix from
https://chromium-review.googlesource.com/c/chromium/src/+/5828216
that has not been uplifted to cr129 yet.

Commented on the CL that introduced the bug:
https://chromium-review.googlesource.com/c/chromium/src/+/5791493

Chromium change:

https://chromium.googlesource.com/chromium/src/+/72ab0af25ede1613bc891fe17ec9055b6c359ff1

commit 72ab0af25ede1613bc891fe17ec9055b6c359ff1
Author: Dominique Fauteux-Chapleau <domfc@chromium.org>
Date:   Fri Aug 16 18:14:02 2024 +0000

    Compile `ConnectorsManager` on Android

    This CL does the required refactors to compile `ConnectorsManager` and
    its tests on Android, which includes:
    - Move connectors_manager* and analysis_service_settings* in BUILD.gn
      files to conditions that include Android
    - Wrap some features in macros so they only get compiled on the
      proper platforms
    - Wrap some tests in macros so they only run on the proper platforms
    - For reporting tests, instead of completely disabling them a
      different assertion was added so that we can re-enable them when
      reporting is supported on Android.

    Bug: b/318421275
This is a new factory introduced and used in the StoreMetricReporterHelper

Chromium change: https://chromium.googlesource.com/chromium/src/+/e62896983d33b9823b6cb49a4fe4f62dbe2ead56

commit e62896983d33b9823b6cb49a4fe4f62dbe2ead56
Author: Vasilii Sukhanov <vasilii@chromium.org>
Date:   Mon Aug 12 13:51:09 2024 +0000

    Record UMA for the Auto Sign-in setting in the password manager.

    Doing it required multiple changes
    - Introducing the setting service on iOS.
    - Moving the cross-platform implementation to components.
    - Introducing proper namespace.

    Fixed: 358513950
    Change-Id: I1464b25acf84e110f56d838900a738c0b00a755c
Updates regex patterns for #define to recognize multiline definitions.

Also, fixes a few newly discovered errors.
Chromium change:

https://source.chromium.org/chromium/chromium/src/+/168a309460d97b3aefdd5df028b33a211e8de04f

commit 168a309460d97b3aefdd5df028b33a211e8de04f
Author: Ramin Halavati <rhalavati@google.com>
Date:   Fri Aug 16 17:03:19 2024 +0000

    Enable PDF OCR by default.

    PDF OCR is approved for launch with 10% holdback to measure memory
    impacts.
    The flag is changed to enabled by default and the field trial settings
    are removed.

    AX-Relnotes: PDF OCR is enabled by default for 90% of stable users.
    Bug: 40064422

and brave-core change: 10b7b11
Prior to the below change the side panel registry was tied to the
contents so when the contents was discarded the Chat side panel would be
atuomatically closed. But after the change the registry is tied to the
tab (features) and discarding contents doesn't close the Chat UI, which
now points to deleted contents.

This fix intercepts the replacement of contents and closes the Chat UI.

Chromium change:

https://chromium.googlesource.com/chromium/src/+/2fd6b53ceaf1144ff7e4cf1a867a954b53271d1b

commit 2fd6b53ceaf1144ff7e4cf1a867a954b53271d1b
Author: Erik Chen <erikchen@chromium.org>
Date:   Tue Aug 6 21:07:46 2024 +0000

    Make SidePanelRegistry explicitly owned.

    This CL is a refactor with no intended behavior change.

    Prior to this CL, SidePanelRegistry inherited from SupportsUserData and
    was attached to both Browser and WebContents. After this CL,
    SidePanelCoordinator owns the window-scoped instance of the registry,
    and TabFeatures owns the tab-scoped instance of the registry.

    This CL makes the following minor changes on top:
    * The tab-scoped instance of ExtensionSidePanelManager is instantiated
      from TabFeatures rather than TabHelpers.
    * ExtensionSidePanelManager had methods named GetOrCreate*. They have
      been split into separate methods to Create and Get.
    * Some logic in SidePanelCoordinator previously relied on static getters
      returning nullptr during early startup/teardown. These edge cases have
      been called out explicitly, as the new instance-scoped getters always
      return non-nullptr.
    * SidePanelRegistry::Get was renamed to
      SidePanelRegistry::GetDeprecated. Not all use cases could be converted
      since many of the callsites do not yet use the Tab primitive.
    * The per-tab SidePanelRegistry is passed directly to per-tab
      controllers.
    * Two failing side search tests were deleted as the feature is dead but
      not yet removed.

    Bug: 345499793
 In file included from ../../chrome/browser/ui/webui/help/version_updater_win.cc:16:
 ../..\chrome/browser/google/google_update_win.h(15,10): fatal error: 'chrome/updater/app/server/win/updater_legacy_idl.h' file not found
    15 | #include "chrome/updater/app/server/win/updater_legacy_idl.h"
       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1 error generated.
Doesn't look like using a chromium_src #define for code inside a CHECK
macro works for a Release build.

 In file included from ../../brave/chromium_src/chrome/browser/chrome_browser_main_mac.mm:17:
 ../../../src/chrome/browser/chrome_browser_main_mac.mm:103:3: error: ignoring return value of function declared with const attribute [-Werror,-Wunused-value]
   103 |   CHECK(ui::ResourceBundle::HasSharedInstance());
       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Chromium change:

https://chromium.googlesource.com/chromium/src/+/0b9dd1c9d4de4

commit 0b9dd1c9d4de4159d9b5512e3e9e9a3ae6e9922e
Author: rbpotter <rbpotter@chromium.org>
Date:   Thu Jul 25 23:05:01 2024 +0000

    Settings: Remove some uses of iron-pages

    Specifically removing from clear browsing data dialog and the
    exception tabbed add dialog.

    For exception tabbed add dialog, manually calling notifyResize() for
    the iron-list child, since cr-page-selector does not use
    iron-resizable-behavior.

    Bug: 40943652
Copy link
Member

@yrliou yrliou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wallet-core++

@mkarolin mkarolin merged commit df088d5 into master Sep 10, 2024
16 of 17 checks passed
@mkarolin mkarolin deleted the cr129 branch September 10, 2024 21:34
@mkarolin mkarolin added this to the 1.71.x - Nightly milestone Sep 10, 2024
mkarolin added a commit that referenced this pull request Sep 10, 2024
Upgrade from Chromium 128 to Chromium 129.
mkarolin added a commit that referenced this pull request Sep 10, 2024
Upgrade from Chromium 128 to Chromium 129.
mkarolin added a commit that referenced this pull request Sep 11, 2024
Upgrade from Chromium 128 to Chromium 129.
kjozwiak pushed a commit that referenced this pull request Sep 13, 2024
* Merge pull request #25126 from jagadeshjai/fix__clean_debug_build_linker_error

Fix Debug build Linker issue

* Merge pull request #24966 from brave/cr129

Upgrade from Chromium 128 to Chromium 129.

* Post cr129 merge build fixes for 1.70.x branch.

* Fixes Linux release build. (#25526)

Fixes official Linux release build.

The build fails with:

09:30:10  > gn gen /home/ubuntu/workspace/brave-browser-build-linux-x64-nightly/src/out/Release --check
09:30:10
 ERROR at //build/config/compiler/compiler.gni:324:3: Assertion failed.
09:30:10    assert(
09:30:10    ^-----
09:30:10  Can't do non-component builds at symbol_level=2 without use_debug_fission=true
09:30:10  See //build/config/compiler/compiler.gni:325:7:
09:30:10        symbol_level != 2 || current_toolchain != default_toolchain ||
09:30:10        ^-------------------------------------------------------------
09:30:10  This is where it was set.
09:30:10  See //BUILD.gn:13:1: whence it was imported.
09:30:10  import("//build/config/compiler/compiler.gni")

Due to Chromium change:

https://source.chromium.org/chromium/chromium/src/+/81024e91fddf6e045dcd9a8a04186c8cdbcbb4c0

commit 81024e91fddf6e045dcd9a8a04186c8cdbcbb4c0
Author: Nico Weber <thakis@chromium.org>
Date:   Thu Aug 1 02:54:08 2024 +0000

    Reland^2 "linux/build: Enable fission for (symbol_level = 2) release builds as well"

    This is a reland of commit b7da3afa43ecb6a1a4839c4f91e798a6d72b221f

    The CL got reverted for breaking android-official, and a comment
    on the original review mentioned that it also broke a few cros bots
    like arm-generic-cq.

    For the reland, this now also allows non-fission static symbol_level 2
    for android and chromeos.

    Original change's description:
    > Reland "linux/build: Enable fission for (symbol_level = 2) release builds as well"
    >
    > This is a reland of commit c031e3aa3a7a0ad71715655e140ba52ffa82a08d
    > The reland removes an assert on macOS (where is_debug_fission isn't
    > used -- darwin toolchains have always used something like fission,
    > but under a different name).
    >
    > Original change's description:
    > > linux/build: Enable fission for (symbol_level = 2) release builds as well
    > >
    > > Looks like full-symbol non-component builds are getting too big for
    > > debug info even in release builds.
    > >
    > > Turn on fission by default on linux in release builds as well.
    > >
    > > This might affect official builds, where dump_syms etc might not
    > > handle fission yet. If this is a problem, we'll have to fix this
    > > at some point, but short-term we can not do this for official
    > > builds in that case. (zequanwu@ says CrOS enabled fission already,
    > > encountered dump_syms issues, and those already got fixed.
    > > And a linux-official try run is green. We'll see!)
    > >
    > > (Component builds don't need fission yet, but for simplicity I'm
    > > enabling fission independent of is_component_build.)
    > >
    > > Bug: 353915727

* Adds missing dep.

 ../../brave/browser/ui/brave_rewards/rewards_panel_coordinator.h:11:10: fatal error: 'brave/components/brave_rewards/common/mojom/rewards_panel.mojom.h' file not found
    11 | #include "brave/components/brave_rewards/common/mojom/rewards_panel.mojom.h"
       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1 error generated.

* Merge pull request #25528 from brave/129.0.6668.42_master

Upgrade from Chromium 129.0.6668.31 to Chromium 129.0.6668.42.

* [Icons]: Fix settings icon updates from CR129 (#25522)

* [Android] Fix for settings launcher (#25549)

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/e86c3572f7012a64517e54c098984c0d44afe1f6

[Android] Use SettingsLauncherFactory directly from settings Fragments

Also add SettingsLauncherFactory#setInstanceForTesting().

Clean up passing around of the SettingsLauncher to Fragments.

Low-Coverage-Reason: LARGE_SCALE_REFACTOR
Bug: 354019554

---------

Co-authored-by: Brian Clifton <brian@clifton.me>
Co-authored-by: Jay Harris <jay.harris@outlook.co.nz>
Co-authored-by: samartnik <30602739+samartnik@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI/run-audit-deps Check for known npm/cargo vulnerabilities (audit_deps) CI/run-network-audit Run network-audit CI/run-upstream-tests Run upstream unit and browser tests on Linux and Windows (otherwise only on Linux) CI/storybook-url Deploy storybook and provide a unique URL for each build feature/web3/wallet/core feature/web3/wallet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Upgrade from Chromium 128 to Chromium 129. Handle kUseMoveNotCopyInMergeTreeUpdate & kPdfOcr feature flag