Skip to content

Upgrade from Chromium 136 to Chromium 137 #28471

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

Merged
merged 162 commits into from
May 14, 2025
Merged

Upgrade from Chromium 136 to Chromium 137 #28471

merged 162 commits into from
May 14, 2025

Conversation

cdesouza-chromium
Copy link
Collaborator

@cdesouza-chromium cdesouza-chromium commented Apr 2, 2025

@cdesouza-chromium cdesouza-chromium 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) labels Apr 2, 2025
@cdesouza-chromium cdesouza-chromium force-pushed the cr137 branch 2 times, most recently from a91ef35 to 43a8e6a Compare April 3, 2025 00:09
@brave-builds
Copy link
Collaborator

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

mkarolin and others added 21 commits May 13, 2025 15:53
Chromium change:

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

commit bef7010a6eee47bc65dbacc167141ea007a7e133
Author: Elly <[email protected]>
Date:   Mon Apr 28 15:38:57 2025 -0700

    base: remove base::numerics aliases

    They are now unused.

    Fixed: 409350835
Chromium change:

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

commit e6b3e03b61a83c9588efcdccf5cf67e6577c97e8
Author: Mikel Astiz <[email protected]>
Date:   Mon Apr 28 10:38:12 2025 -0700

    [sync] Reimplement gaia-ID metrics to avoid the unknown bucket

    This patch replaces the implementation in SyncAuthManager that tries to
    remember the previously-syncing gaia ID, as introduced in
    https://crrev.com/c/6439644, with a simpler implementation in sign-in
    code that leverages a newly-introduced pref.

    In addition to being simpler, the ability to persist this notion into
    prefs avoids having to record an "unknown" bucket, cleaned up in this
    patch.

    Bug: 407729650
Chromium change:

https://source.chromium.org/chromium/chromium/src/+/754cd7e23d88e5d1d0c5cb25009b16775942d15c

commit 754cd7e23d88e5d1d0c5cb25009b16775942d15c
Author: dpapad <[email protected]>
Date:   Thu Apr 17 15:40:54 2025 -0700

    PrintPreview: Migrate to Lit, part 1.

    In this part:
     - Update PrintPreviewModelElement to leverage Observable, so that it
       is compatible with both Lit and Polymer client code.
     - Port SettingsMixin and SelectMixin to Lit.
     - Add new SettingsMixinLit#addSettingObserver() method and
       automatically remove such observers in disconnectedCallback().
     - Migrate "pages per sheet"and "layout" controls to use Lit+Observable
       as proof that the above works.

    Bug: 410607166
Chromium change:
https://chromium.googlesource.com/chromium/src/+/7d34dfa008ef3af024d6db21065167f1efd35dd0

Reland #2 "Android: Revamp .build_config.json files"

This reverts commit add4fa921ec0bdc6d16cc5efcefca8771ccfa460.

Reason for reland: fixed generate_gradle.py

Bug: 413331591, 413429757
Bug: 413331591
Original change's description:
> Revert "Reland "Reland "Android: Revamp .build_config.json files"""
>
> This reverts commit 7c3be0e555b22cc3c4d6f054951afb7cb6cc27ba.
>
> Reason for revert: broke generate_gradle.py
>
> Bug: 413331591
> Bug: 413331591, 413429757
> Original change's description:
> > Reland "Reland "Android: Revamp .build_config.json files""
> >
> > This reverts commit e29eae6dd420460a8e3cb58c9b58b4917f0092de.
> >
> > Reason for reland: Ran mega CQ
> >
> > Bug: 413331591, 413429757
> > Bug: 413331591
> > Original change's description:
> > > Revert "Reland "Android: Revamp .build_config.json files""
> > >
> > > This reverts commit a9c9cb734574a2a517dc4fc5518b4338287cc6c8.
> > >
> > > Reason for revert: https://ci.chromium.org/ui/p/chrome/builders/ci/android-builder-perf/878126/blamelist
> > >
> > > Bug: 413331591
> > > Bug: 413331591, 413429757
> > > Original change's description:
> > > > Reland "Android: Revamp .build_config.json files"
> > > >
> > > > This reverts commit 9acd9592e904395600e063d6bbbc541c053e53db.
> > > >
> > > > Reason for revert: Fixed trace_event_rewritten targets
> > > >
> > > > Bug: 413331591, 413429757
> > > > Original change's description:
> > > > > Revert "Android: Revamp .build_config.json files"
> > > > >
> > > > > This reverts commit 96f90bea226aad4c34f98e051dc414c06f6171b0.
> > > > >
> > > > > Reason for revert: Broke trace_event_rewritten target
> > > > >
> > > > > Bug: 413331591
> > > > > Original change's description:
> > > > > > Android: Revamp .build_config.json files
> > > > > >
> > > > > > Use write_file() rather than command-line flags to pass information from
> > > > > > GN -> write_build_config.py
> > > > > >  * Creates $target_out_dir/$target_name.params.json files
> > > > > >  * Reduces the size of .ninja files
> > > > > >  * Enables auxiliary tools that read .build_config.json files to instead
> > > > > >    read .params.json, which do not need to be built.
> > > > > >  * Reduces boiler-plate in write_build_config.py
> > > > > >
> > > > > > Other simplifications:
> > > > > >  * Remove outdated documentation about build_config values
> > > > > >  * Renamed some build_config.json keys to improve consistency
> > > > > >  * Moves uncompressed_assets and final_dex_path for bundle modules
> > > > > >    into the bundle's build_config (so that the module's config is
> > > > > >    not needed)
> > > > > >
> > > > > > I've attempted to update all tools that read .build_config.json files.
> > > > > >
> > > > > > build.ninja files: 884650045->878689015 (about 6mb smaller)
> > > > > > .build_config.json: 285674537->273369616(about 12mb smaller)
> > > > > >
> > > > > > Bug: 413331591
> > > > > > Change-Id: I6d01f4fea04b95a1d3911e0538f0e1a4090a4dcf
> > > > > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6479572
> > > > > > Reviewed-by: Peter Wen <[email protected]>
> > > > > > Owners-Override: Andrew Grieve <[email protected]>
> > > > > > Commit-Queue: Andrew Grieve <[email protected]>
> > > > > > Cr-Commit-Position: refs/heads/main@{#1451366}
> > > > >
> > > > > Bug: 413331591, 413429757
> > > > > No-Presubmit: true
> > > > > No-Tree-Checks: true
> > > > > No-Try: true
> > > > > Change-Id: Ia3ef17f7d67babaaea6b14e44c17e8738a4db26a
> > > > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6489352
> > > > > Bot-Commit: Rubber Stamper <[email protected]>
> > > > > Auto-Submit: Andrew Grieve <[email protected]>
> > > > > Commit-Queue: Andrew Grieve <[email protected]>
> > > > > Owners-Override: Andrew Grieve <[email protected]>
> > > > > Cr-Commit-Position: refs/heads/main@{#1451423}
> > > >
> > > > Bug: 413331591
> > > > Bug: 413331591, 413429757
> > > > Change-Id: I63fcea903945f2b5c0554925e019d92f5d242ba3
> > > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6490257
> > > > Commit-Queue: Andrew Grieve <[email protected]>
> > > > Reviewed-by: Sam Maier <[email protected]>
> > > > Owners-Override: Andrew Grieve <[email protected]>
> > > > Cr-Commit-Position: refs/heads/main@{#1451844}
> > >
> > > Bug: 413331591, 413429757
> > > Bug: 413331591
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Change-Id: Id390eb968d27f44b2ef1d41753c13525caf2e555
> > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6490036
> > > Auto-Submit: Andrew Grieve <[email protected]>
> > > Owners-Override: Andrew Grieve <[email protected]>
> > > Bot-Commit: Rubber Stamper <[email protected]>
> > > Commit-Queue: Rubber Stamper <[email protected]>
> > > Cr-Commit-Position: refs/heads/main@{#1451888}
> >
> > Bug: 413331591
> > Bug: 413331591, 413429757
> > Change-Id: I7273e510cb4521c5b1c9e74965faf1ac699b579f
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6489555
> > Owners-Override: Andrew Grieve <[email protected]>
> > Reviewed-by: Peter Wen <[email protected]>
> > Commit-Queue: Andrew Grieve <[email protected]>
> > Cr-Commit-Position: refs/heads/main@{#1452633}
>
> Bug: 413331591, 413429757
> Bug: 413331591
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Change-Id: I5959c554f1f355e9737ca34d5ee327b4aef1d123
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6494174
> Owners-Override: Peter Wen <[email protected]>
> Reviewed-by: Peter Wen <[email protected]>
> Commit-Queue: Peter Wen <[email protected]>
> Bot-Commit: Rubber Stamper <[email protected]>
> Auto-Submit: Andrew Grieve <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#1452726}

Bug: 413331591, 413429757
Chromium change:
https://chromium.googlesource.com/chromium/src/+/6c3184ab7d8bcc7656e61b8c22f18c4a751c7163

Allowing edge to edge fullscreen on Android

Activity.requestFullscreenMode is now used to allow expand free form
window to the edges of the display.

User can exit the display edge to edge mode by clisking esc or dragging
the window from the top of the display.

Screencast before change:
http://screencast/cast/NDk1ODgxMzA4NDk3NTEwNHwwMTVlNmU1My1mMA
after change:
http://screencast/cast/NjA2NTAyNTg2ODM2NTgyNHw5ZjVmNWFkNi0zYQ

Bug: 373304413
Chromium change:

https://source.chromium.org/chromium/chromium/src/+/50b79432b1cf8faf16b2f8da97a7bbdea27fbf28

commit 50b79432b1cf8faf16b2f8da97a7bbdea27fbf28
Author: Roger McFarlane <[email protected]>
Date:   Mon Apr 14 09:30:10 2025 -0700

    DCHECK that histogram names are not empty.

    This CL adds a DCHECK to validate that histograms are not created with
    empty names. It also fixes several unit tests that inadvertently fail to
    provide histogram names.

    Two InstallState enum values are resurrected (kFetchSshKeys and
    kMountContainer) in _DEPRECATED form to avoid leaving a gap in switch
    statements that rely on the relative order, not just the absolute value,
    of the install state.

    Bug: 409611862
Chromium change:

https://source.chromium.org/chromium/chromium/src/+/75d629f429f903cdf9809e1f399be8db2a6e887f

commit 75d629f429f903cdf9809e1f399be8db2a6e887f
Author: Awad Osman <[email protected]>
Date:   Thu Apr 10 14:23:58 2025 -0700

    Remove WebUI flag enablePasswordLeakToggleMove

    We have now fully launched this feature so we can remove the WebUI flag
    and tests that we don't need anymore. I will follow this CL up with
    another that will clean up the safe browsing flag and the android
    references.

    Bug: 397409660
Chromium change:

https://source.chromium.org/chromium/chromium/src/+/34df6dd766501a56f25954438d4cd4f046ea0196

commit 34df6dd766501a56f25954438d4cd4f046ea0196
Author: dpapad <[email protected]>
Date:   Tue Apr 8 17:24:14 2025 -0700

    Remove useDefineForClassFields=false in c/b/r/settings/.

    Bug: 389737066
…atch with suggest_type"

This reverts commit 96c6afb.

We are now hitting a CHECK with the SEARCH_WHAT_YOU_TYPED type because
of the upstream change [1].

When our prior change is reverted I am not hitting any DCHECKs, although
it could be that I am not testing it in a way to hits it.

The CHECK we are hitting now is actually going away in the upstream
change [2] (not in cr137 yet), but it seems that the original type is
more appropriate so we may as well go back to it if it doesn't cause
problems.

Chromium changes:

[1] https://chromium.googlesource.com/chromium/src/+/fea73b02b9f229abf847ac7a34e31f44dd9e4c11

commit fea73b02b9f229abf847ac7a34e31f44dd9e4c11
Author: Alex Chen <[email protected]>
Date:   Mon Apr 28 15:14:24 2025 -0700

    [omnibox][search aggregator] Remove scoped UI for shortcuts from keyword

    When a search is made in scoped mode, the shortcut suggestion created
    includes the keyword and transition from the scoped suggestion. As a
    result, when the shortcut suggestion shows up in the popup in unscoped
    search, the result will force the scoped search UI.

    This change does the following:
    1. Treats all search  match types similarly to specialized search
    matches. This will set the `keyword` and `transition` values similarly,
    clean up `destination_url` and reduce special treatments.

    2. Updates shortcuts from search suggestions to always be treated
    as not from keyword mode. This ensures that from_keyword is set to false
    and transition is set to PAGE_TRANSITION_GENERATED.

    3. Adds handling for other matches with a keyword. For matches with
    a keyword that come from scoped mode, the keyword is removed from
    fill_into_edit, the transition is set to PAGE_TRANSITION_GENERATED,
    and the keyword is cleared for non-search type like NAVSUGGEST.

    4. Updates the icon used in OmniboxView::GetIcon() to use the keyword
    search provider's favicon. For search aggregator, use the icon bitmap
    mapped to favicon_url. This is to address cases where the user has
    never navigated to the favicon_url.

    - Before, search suggestions from non-DSE that had a search type
    (e.g. shortcut search-other-engine) would show the search loupe in the
    popup, and the keyword UI with the search loupe in the omnibox
    because all non-DSE shortcut suggestions used keyword UI.
    - Before, search suggestions from non-DSE that had a nav type
    (e.g. history suggestion) would show the page's favicon in the
    popup and omnibox because all non-search match types use favicon.
    - With this CL, search suggestions from non-DSE that have a search
    type will show the search loupe in the popup, and the match's DSE
    favicon in the omnibox. Keyword UI will not be shown for these
    matches.
    - With this CL, search suggestions from non-DSE that have a nav
    type will show the page's favicon in the popup and omnibox (same as
    before).

    5. Updates ShortcutsProvider so that in default mode, only matches
    originating from default search provider (or with no keyword) can
    be allowed_to_be_default_match.

    Bug: 407086704

[2] https://source.chromium.org/chromium/chromium/src/+/9779a79f872917134515d158dc0ed72a13acff9d

[omnibox] Check for search_terms_args in ShortcutsBackend::MatchToMatchCore

https://crrev.com/c/6410113 updated ShortcutsBackend to treat all
search types similarly when calling `MatchToMatchCore`. That has
introduced bugs since `CreateShortcutSearchSuggestion` expects
`match.search_terms_args` to be populated.

For some search types like CLIPBOARD_TEXT and CLIPBOARD_IMAGE, it
may not be populated leading to crashes downstream. This change changes
`MatchToMatchCore` to check for `search_terms_args` before using
`CreateShortcutSearchSuggestion`.

Bug: 407086704,414832015,414832256
Chromium change:
https://chromium.googlesource.com/chromium/src/+/a07f47b0d1c1a4d6230e53ef63cb03a23863025e

[M137][New Tab Animation] Add TabCount wrapper

It allows to overwrite the tab count for purposes such as animations.

(cherry picked from commit 33d6d91f9d80104b2c2df62eac5b0d290959361a)

Bug: 410818580
Fixed: 415757905
See https://chromium-review.googlesource.com/c/chromium/src/+/6319096/comment/63993a26_7b78a891/

Chromium change:

https://source.chromium.org/chromium/chromium/src/+/5cea5dec8a2d5bb327e04be71a8817d672d7dc24

commit 5cea5dec8a2d5bb327e04be71a8817d672d7dc24
Author: marissa shen <[email protected]>
Date:   Mon Mar 10 11:08:25 2025 -0700

    add chromeWebstoreNavigationThrottle feature and flag set up

    Bug: 399135314
Download size is now a required attribute which our go updater currently
doesn't supply. Until the go updater gets fixed we can bypass the size
check.

Chromium change:

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

commit cf775224f2c9a85364d1632e1f57e1023fa1d320
Author: James Decker <[email protected]>
Date:   Fri Apr 11 13:09:51 2025 -0700

    Adding events for operation attribute errors.

    - adds events for the existing unsupported operations error handling.
    - adds checking for cases where expected attributes are either missing or do not match expectations (e.g. hash is empty, download size less than or equal to 0).
    - For the missing attributes, we just reuse the existing operation event types.
    - For unsupported operations, a new event was added to the protocol and implementation.
    - Added naive size checking to verify that the download size for a payload both exists, and is at a minimum greater than 0. If this is not the case, then a bug on the server could lead to downloading payloads past the disk space limit of "available_space / 2", causing disk space issues for the client machine.

    Note: kEventUnsupported should always have a failed result.

    other notable changes:
    - moved simple event creation to a shared location to reduce redundant code, and also give access to it from pipeline.cc
    - modified the disjoint "terminal" and "non_terminal" ping data lists in update client tests to instead be "terminal" and "all pings". This allows us to ignore the operation events when needed, while allowing us to still verify the full order of events in the cases where non-terminal events are relevant.

    Bug: 409566857
Chromium change:
https://chromium.googlesource.com/chromium/src/+/b875fe9e2f6b613d0207655bd970a34427210f0d

[Android][3PPWM] Ignore IsEnabled and load config timely for CCTs

CCTs create webContents in a way that doesn't allow reading the pref
before the autofill machinery is initialized. With this CL, the pref
value is passed in on creation which fixes the issue.

Another, less frequent issue is checking isEnabled. This method lazily
initializes Android's AutofillManager and contributes to CCTs
occasionally preventing Autofill use. This is incorrect since the return
value may change while the app is running and isn't suitable for making
an initial decision about whether Autofill should be enabled. The
safeguard this provided is (already or by now) checked in the Android
Framework when the regular notifyViewEntered calls are invoked.

Just out of caution and because this fix affects a fully launched
feature, both changes are guarded with a new feature:
kAutofillVirtualViewStructureAndroidInCct.

Unlaunching the original feature isn't a good option but holding this
fix back is a bad option, too. Therefore, it's default-enabled and
intended to use only as a possible kill-switch.

The change shouldn't affect WebView but we'll add a flag as guard.

go/scrcast/NTMyNTYxNTEwMzIxMzU2OHw1OTZhYTJlZC02Yg

(cherry picked from commit 5bd3d05740695f1e55c34415cb77bdea0e04759c)

DD: go/3ppwm-dd
Bug: 411164104
Fixed: 415734605
Change-Id: Iaf8ac48eef3fbf833d49d67c3e427d8c8d4d53b5
This function should be removed and proper profile should be passed brave/brave-browser#45937
On win x86 the current code (`std::vector<uint8_t>({10u})`) was causing
an error: `braces around scalar initializer [-Werror,-Wbraced-scalar-init]`

Replaced with a count, value c'tor.
@mkarolin mkarolin requested a review from a team as a code owner May 13, 2025 19:56
Copy link
Contributor

@samartnik samartnik left a comment

Choose a reason for hiding this comment

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

android ++

Copy link
Member

@bsclifton bsclifton left a comment

Choose a reason for hiding this comment

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

Reviewed conflict patches, CODEOWNERS, and some specifics commits. LGTM!

@mkarolin mkarolin merged commit 117c4b2 into master May 14, 2025
18 checks passed
@mkarolin mkarolin deleted the cr137 branch May 14, 2025 00:01
@github-actions github-actions bot added this to the 1.80.x - Nightly milestone May 14, 2025
mkarolin added a commit that referenced this pull request May 14, 2025
Upgrade from Chromium 136 to Chromium 137.
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 needs-security-review
Projects
None yet