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 133 to Chromium 134 #27172

Open
wants to merge 104 commits into
base: master
Choose a base branch
from
Open

Conversation

cdesouza-chromium
Copy link
Collaborator

@cdesouza-chromium cdesouza-chromium commented Jan 9, 2025

Resolves brave/brave-browser#43213

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:

@emerick emerick changed the title cr134 Upgrade from Chromium 133 to Chromium 134 Jan 9, 2025
@cdesouza-chromium cdesouza-chromium force-pushed the cr134 branch 2 times, most recently from 36574e5 to 86ab768 Compare January 13, 2025 12:45
@github-actions github-actions bot added CI/run-network-audit Run network-audit CI/run-audit-deps Check for known npm/cargo vulnerabilities (audit_deps) CI/storybook-url Deploy storybook and provide a unique URL for each build CI/run-upstream-tests Run upstream unit and browser tests on Linux and Windows (otherwise only on Linux) feature/web3/wallet feature/web3/wallet/core labels Jan 13, 2025
@cdesouza-chromium cdesouza-chromium force-pushed the cr134 branch 6 times, most recently from 9016a2f to 36541ad Compare January 20, 2025 15:43
@cdesouza-chromium cdesouza-chromium force-pushed the cr134 branch 2 times, most recently from 354a716 to fc40f5d Compare January 22, 2025 18:16
@emerick emerick force-pushed the cr134 branch 2 times, most recently from fa5d4af to 374307d Compare January 28, 2025 02:52
@cdesouza-chromium cdesouza-chromium force-pushed the cr134 branch 6 times, most recently from 4a695db to 30b3745 Compare February 3, 2025 22:23
cdesouza-chromium and others added 27 commits February 14, 2025 17:18
Upstream has abandoned its in-house implementation of `base::ranges`,
and all cases now merely alias back to the upstream implementation. This
has caused some build failures, as in certain cases the implementation
in `base` didn't quite match what was being done in `std`.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/7be06d9af3db3b022636d5f597353d9d89207427

commit 7be06d9af3db3b022636d5f597353d9d89207427
Author: Peter Kasting <[email protected]>
Date:   Thu Jan 23 12:33:52 2025 -0800

    Make base::ranges equivalent to std::ranges.

    This prevents backsliding while rewriting the codebase to explicitly
    spell the latter.

    Bug: 386918226
This function cannot be called directly anymore through `group_model()`,
and has to be routed through `TabStripModel` now. The visual data
argument however is not optional anymore, and is provided as default
constructed.

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

commit f8fb55496e93e251bcbddc7128ae15e054060c7e
Author: Shibalik Mohapatra <[email protected]>
Date:   Thu Jan 30 22:29:58 2025 -0800

    [SxS] Add a TabStripModel API that creates a group object and force group creation through tabstripmodel.

    Bug: 392950847
Related Chromium change:
https://source.chromium.org/chromium/chromium/src/+/723933f990282b9f4c91d2467ef61b52f292b775

	Creates empty ScrimManager and replace all call sites.

	There should be no functional changes in this. Purely a rename to an
	empty/passthrough super class.

	Bug: 371034867
	Change-Id: I3be1d481c176303545baf831d05db53634a74809
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6219602
Chromium change:
ChromeDevTools/devtools-frontend@6e53408

commit 6e53408a5ee9891ed1505aba65d2202a40549c50
Author: Benedikt Meurer <[email protected]>
Date:   Wed Jan 29 11:36:02 2025 +0100

    [cleanup] Shorten `LitHtml` to `Lit` (`lit-html` to `lit`).

    There's no benefit in the long version and the underlying package is
    also just called `lit` these days, and `LitHtml` is really annoying
    on the eyes.

    Bug: 301364727
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/251cd14c5e68db6304380677d852970911a3f806

commit 251cd14c5e68db6304380677d852970911a3f806
Author: Peter Kasting <[email protected]>
Date:   Fri Jan 31 05:12:19 2025 -0800

    Remove scoped_gdi_object.h type aliases.

    It's clearer what these are when seeing the underlying template arg.

    Bug: 364987728
This value is just passed along by `BraveBrowserViewLayout` to the
overriden class in chromium.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/958e32a827bacac75a325149d6f648011c4cacba

commit 958e32a827bacac75a325149d6f648011c4cacba
Author: Keren Zhu <[email protected]>
Date:   Fri Jan 31 14:05:32 2025 -0800

    Add browser window scrim when showing window-modal dialogs

    This change shows a scrim that covers the entire browser window while a
    window-modal dialog is showing. This is to help users realize their
    window is not interactable.

    Implementation wise, a new event is added to WidgetObserver that
    notifies a widget when a window-modal child widget's visibility changes.

    MacOS is excluded from this change because it already shows a window
    scrim for window-modal dialogs. This scrim was a visual effect of Cocoa
    sheets since macOS 11.

    screenshot: https://screenshot.googleplex.com/9bLcWwoFT2fvxmo

    Bug: 391903216
This argument is now being passed along up the inheritance tree, as it
doesn't seem to be relevant for the override in use.

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

commit df337988aaacb7236c8570c9eebe72214cf71944
Author: David Roger <[email protected]>
Date:   Mon Feb 3 01:40:59 2025 -0800

    [Uno-D] Center avatar in identity pill dotted ring

    Before:
    https://screenshot.googleplex.com/N7LEkh6hPYV8M52
    https://screenshot.googleplex.com/9Mg233rqA8XtL8W

    After:
    https://screenshot.googleplex.com/9MRrcyRLdWVbPXd
    https://screenshot.googleplex.com/3zsDHkgHhjQvxyv

    The bug is fixed by drawing the avatar using the same code as the
    profile menu. The dotted ring is painted on the avatar image, and after
    that the image is handled like a regular image.

    The previous code was different: it would draw the avatar image (shrunk)
    and then later draw the dotted circle around it in a second step. The
    new code no longer needs this second step and it is removed.

    Fixed: 385329389
`PermissionsPolicyFeature` is now under `services/network//`. This
affects also the extension for the `.mojom` file for it.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/1b851527a0b64d38bce7c827c90085705d2e88df

commit 1b851527a0b64d38bce7c827c90085705d2e88df
Author: Sandor Major <[email protected]>
Date:   Fri Jan 31 07:48:32 2025 -0800

    Move `PermissionsPolicyFeature` from Blink to the Network service

    The network service is going to need access to the "storage-access"
    Permissions Policy. This is the first step of moving some of the
    Permissions Policy logic out of Blink to maintain a single
    implementation of https://w3c.github.io/webappsec-permissions-policy
    across Chromium.

    Tha main change here is moving the `PermissionsPolicyFeature` type from
    `blink.mojom` to `network.mojom`:
    https://crrev.com/c/6180431/7/services/network/public/mojom/permissions_policy/permissions_policy_feature.mojom

    Bug: 382291442
This argument is being propagated in several places, and it has affect
an override, however the argument is only passed along.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/4fe86b8660f18e2cd5dea36b3dabbe587c8ce72c

commit 4fe86b8660f18e2cd5dea36b3dabbe587c8ce72c
Author: Janice Liu <[email protected]>
Date:   Fri Jan 31 12:24:53 2025 -0800

    [Blob URL] Partition Blob URL Subframe Navigations

    `noopener` is enforced for Blob URL navigations, but navigations that
    aren't top-level should be partitioned to align with Firefox and Safari.

    Bug: 381211737
This call was being left ambiguous between the span version one and the
override for a single value. This fix locks into the single value one
for the occurrence where a single value was being passed in.

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

commit a253f75b27b4b065adce7c004d7aeb3e9ab0c134
Author: Peter Kasting <[email protected]>
Date:   Fri Jan 31 10:57:26 2025 -0800

    Misc. cleanup: base/

    A whole bunch of small one-off cleanups split out from my jumbo changes.

    Shorten code, grammar fixes, that sort of thing. Didn't seem worth
    trying to turn this into tons of tiny patch sets.

    Bug: 364987728
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/1fa788b5f44062860cc9c497a663cb2d203cc5bd

commit 1fa788b5f44062860cc9c497a663cb2d203cc5bd
Author: Alison Gale <[email protected]>
Date:   Fri Jan 31 10:46:03 2025 -0800

    Remove GlobalFeatures from TestingBrowserProcess::Init

    This is to avoid initializing it before feature flags have been set.
    Tests that require global features can call the new function to
    initialize it.

    Change-Id: I54e3dc37516eb3bd9c9d78db09f85e8914fe4e32
	java.lang.AssertionError: expected:<31> but was:<30>
	Reason - "clear_browsing_data_advanced" section was removed from Chromium prefs

Related Chromium change:
https://source.chromium.org/chromium/chromium/src/+/a49153686134a72ff189024392df6aad09e71fb0

	[Quick Delete] Clean up kQuickDeleteAndroidFollowup flag

	Clean up Quick Delete phase 2 feature checks now that the experiment is
	fully launched. This includes removing the obsolete tabbed layout and
	basic tab from CBD on Android.

	OBSOLETE_HISTOGRAM[History.ClearBrowsingData.UserDeletedFromTab]=No longer logged

	Bug: 40255099
	Change-Id: I340afa9692f17ad3b472f501522a9e6ff8fb061c
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6162502
These crates now are not test-only anymore, so the patching is not
required anymore.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/667fc3f5519cddeaa61316868fcbfa5c7d38ebaf

commit 667fc3f5519cddeaa61316868fcbfa5c7d38ebaf
Author: Manish Goregaokar <[email protected]>
Date:   Mon Feb 3 16:11:14 2025 -0800

    Import ICU4x 2.0.0-beta1

    This imports ICU4X 2.0.0-beta1 and its dependencies. I have taken this
    opportunity to audit and improve most of these crates, with audits
    included in this CL. From discussion with lukasza@ I have also written
    exemptions for some of these rather than reviewing everything:
    ICU4X is already used in Google3 (and soon
    Android) and is in part Google maintained, with a crabal member (me)
    having written or reviewed most of the unsafe code. I still intend to
    get audits published for the things we have exemptions for, it may just
    take a while.

    Bug: 393889248
This reverts commit 36e40bfe267c64cb565dc3d67ef89aa4416fa2ef.
This new argument just gets passed along by brave's shadow override.

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

commit e93478ec3ffbb7b398ae484d7284c0ee046d48cf
Author: amarjotgill <[email protected]>
Date:   Mon Feb 3 11:52:18 2025 -0800

    [OBC] Add PerfDelegate parameter to Cookie Monster

    This perf_delegate_ will be used to store cookie domains
    that are currently under legacy mode, we will use this
    delegate to then enforce legacy behavior on cookies under
    legacy domains by deleting all alias cookies under
    a legacy domain.

    Bug: 378827534
This merely affects how the dependency is included in gn files.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/9756f9dc3c42efd8ae1db5612c8a6fda6564752f

commit 9756f9dc3c42efd8ae1db5612c8a6fda6564752f
Author: Henrique Ferreiro <[email protected]>
Date:   Mon Feb 3 13:02:41 2025 -0800

    Merge //components/os_crypt/sync:{sync,os_crypt} targets

    //components/os_crypt/sync:sync target is an empty group with only
    :os_crypt as public dependency.

    Change-Id: I12e04499cd27440b1d12b7cfa7f6e7e601390ad2
This type now has its values set in a builder-type style, rather than
through aggregate initialisation.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/9adf0bbf4bfea5f231dc2f9580074bf25e9f9b63

commit 9adf0bbf4bfea5f231dc2f9580074bf25e9f9b63
Author: Anthony Vallée-Dubois <[email protected]>
Date:   Mon Feb 3 09:01:41 2025 -0800

    Builder pattern in DatabaseOptions

    DatabaseOptions is getting too large for the "explicit out of line
    constructor for complex types" presubmit. Adding a constructor to it
    prevents it from being an aggregate type, which is how most of the
    callers currently use it.

    This Cl makes DatabaseOptions members private and adds builder-type
    setters for each member. It also updates all callers, and adds an out of
    line constructor.

    A future improvement could be to add a passkey to the setters for
    discouraged options.

    Bug: None
Mojom use of `[native]` is being abandoned, and it is supposed to be
migrated away from. In the meantime, types using this attribute are
supposed to be added to an allow list. This change adds the two cases in
brave to the patch for the python file with the list.

Chromium change:
https://chromium.googlesource.com/chromium/src/+/2beb4744e13743f13dcdabf2cb0e09899886fe60

commit 2beb4744e13743f13dcdabf2cb0e09899886fe60
Author: Daniel Cheng <[email protected]>
Date:   Mon Feb 3 08:10:45 2025 -0800

    Add allowlist for using [Native]

    This was primarily an escape hatch to faciliate the migration of legacy
    IPC to mojo IPC. This is no longer really needed, an no new instances
    should be added.

    Bug: 393179188
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/00272b6b40b4a307573ecc1a9d8c411007e83bec

commit 00272b6b40b4a307573ecc1a9d8c411007e83bec
Author: James Lee <[email protected]>
Date:   Tue Jan 28 05:01:34 2025 -0800

    Disable undo tracking for all types of extensive bookmark changes

    Rather than rely on individual callers of `BeginExtensiveChanges()` to
    also suspend undo tracking, BookmarkUndoService observes the
    `ExtensiveBookmarkChangesBeginning()` callback and suspends/resumes
    tracking.

    This is less error-prone, and a more standard use of the observer
    interface.

    This has the effect of disabling undo tracking for the following call
    sites. In each case there is no existing UI entry point to trigger an
    undo, and therefore no user-facing change:

    * [1] Import
    * [2] RemoveAllUserBookmarks: this is used for clear browsing data (either as a standalone operation, or when signing out / turning off
    sync)
    * [3] RemoveAllSyncableNodes: various cases related to either
    enabling/disabling sync, or batch upload (old code path)
    * [4] ScopedRemoteUpdateBookmarks: on receiving remote sync updates

    [1]
    https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/importer/profile_writer.cc;l=153;drc=27d34700b83f381c62e3a348de>
    [2]
    https://source.chromium.org/chromium/chromium/src/+/main:components/bookmarks/browser/bookmark_model.cc;l=381;drc=27d34700b83f381c62e3a>
    [3]
    https://source.chromium.org/chromium/chromium/src/+/main:components/sync_bookmarks/bookmark_model_view.cc;l=187;drc=27d34700b83f381c62e>
    [4]
    https://source.chromium.org/chromium/chromium/src/+/main:components/sync_bookmarks/bookmark_data_type_processor.cc;l=66;drc=27d34700b83>

    Bug: 391361615
…eature.

Related Chromium change
https://source.chromium.org/chromium/chromium/src/+/b3fd09b8b2cff53481f65bc1e7a13a087792f38b

	[Quick Delete] Add CBD HaTS survey flag

	Bug: 40255099
	Change-Id: I75155a2d893d4bc8db24dd2bfc82d2e74e68ba78
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6187323
…cationMetadata

This fixes crash at Brave Ads notification on Android

Original Chromium commit:
https://source.chromium.org/chromium/chromium/src/+/148d482acf57d711b031d42a7d1fccc2ae8cb3ef

	Add a null check for PersistentNotificationMetadata

	Change-Id: I6574609e5ca88f7ca0ded91a565ae67429cc16c9
	Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6250703
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 133 to Chromium 134