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 87 to Chromium 88. #6957

Merged
merged 79 commits into from
Dec 9, 2020
Merged

Upgrade from Chromium 87 to Chromium 88. #6957

merged 79 commits into from
Dec 9, 2020

Conversation

mkarolin
Copy link
Collaborator

@mkarolin mkarolin commented Oct 26, 2020

Fixes brave/brave-browser#12331
Related PR: brave/brave-browser#12332


Fixes brave/brave-browser#10190 (thanks @diracdeltas for testing)

Submitter Checklist:

Test Plan:

Reviewer Checklist:

  • New files have MPL-2.0 license header.
  • Request a security/privacy review as needed.
  • Adequate test coverage exists to prevent regressions
  • Verify test plan is specified in PR before merging to source

After-merge Checklist:

  • The associated issue milestone is set to the smallest version that the
    changes has landed on.
  • All relevant documentation has been updated.

@mkarolin mkarolin added the CI/run-network-audit Run network-audit label Oct 26, 2020
@mkarolin mkarolin changed the title Upgrade from Chromium 87 to Chromium 88. WIP: Upgrade from Chromium 87 to Chromium 88. Nov 12, 2020
@mkarolin mkarolin marked this pull request as ready for review November 12, 2020 21:56
@mkarolin mkarolin requested review from iefremov, simonhong, tmancey and a team as code owners November 12, 2020 21:56
Copy link
Collaborator

@tmancey tmancey left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Member

@petemill petemill left a comment

Choose a reason for hiding this comment

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

webui changes look good now we're covering the sync assets 👍 nice work!

@@ -24,7 +24,8 @@ class NotificationHandler : public NotificationHandler_ChromiumImpl {
SHARING = 6,
ANNOUNCEMENT = 7,
NEARBY_SHARE = 8,
BRAVE_ADS = 9,
NOTIFICATIONS_MUTED = 9,
BRAVE_ADS = 10,
Copy link
Contributor

Choose a reason for hiding this comment

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

is it safe to change? Maybe leave it alone (i.e. = 9) and allow google to grow the list further?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

We shifted it a few times before, but it might be safer to do the way you suggest.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Changed in b68fd94f93cadd9af994f1a446494d9001995734

@@ -52,7 +52,7 @@ String PluginReplacementName(std::mt19937_64* prng) {

void FarblePlugins(DOMPluginArray* owner,
HeapVector<Member<DOMPlugin>>* dom_plugins) {
LocalFrame* frame = owner->GetFrame();
LocalFrame* frame = owner->DomWindow()->GetFrame();
Copy link
Contributor

Choose a reason for hiding this comment

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

cc @pilgrim-brave maybe also check owner->DomWindow() != nullptr

Copy link
Contributor

Choose a reason for hiding this comment

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

can't hurt

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Fixed in de34845572138db27937115bb331702e8b407c83

mkarolin and others added 12 commits December 8, 2020 15:26
This is an upstream patch that will come with a later version of cr88.

Upstream change:

https://chromium.googlesource.com/chromium/src.git/+/5cd34161e55cfd5ed7e07d119e01dcea89ab4170

Reland "Reland "Only pass executable sections to OnDllLoaded for patching""

This is a reland of afc7242791c579c0918ee4c4abe2ade827015418

Same as before but now avoids a hidden memset from auto-var-init
that broke during early loading on component builds. We immediately
populate the memory so this is safe.

Original change's description:
> Reland "Only pass executable sections to OnDllLoaded for patching"
>
> This is a reland of df9e203bd49929a482bac0918c50c1e44420a9ed
>
> Original change's description:
> > Only pass executable sections to OnDllLoaded for patching
> >
> > On recent Windows insider builds GetModuleHandleExW loads sections for
> > inspection as non-executable images, rather than as files. This leads
> > to our hooks detecting the SEC_IMAGE attribute and potentially patching
> > functions (e.g. for user32.dll).
> >
> > This caused content_browsertests to fail as it pinned user32.dll in some
> > processes. With this change, the tests run again.
> >
> > See crbug.com/1143397 for a full discussion.
> >
> > Bug: 1143397
HTML that use `if expr=` need to have the definitions of conditions in
the `preprocess_grit` targets.
Removed NIK method we added (GetEffectiveTopFrameOrigin) because
Chromium's own GetTopFrameSite performs the same functionality.

Chromium change:

https://chromium.googlesource.com/chromium/src.git/+/e6e4f399a1c124f7aef06cce915dcb87d3a7facf

commit e6e4f399a1c124f7aef06cce915dcb87d3a7facf
Author: Matt Menke <mmenke@chromium.org>
Date:   Thu Oct 8 11:41:29 2020 +0000

    Remove original origin fields from NetworkIsolationKey.

    They're mostly not being used, since IsolationInfo now mirrors those
    fields.

    While the fields in IsolationInfo still have one issue the fields in
    NetworkIsolationKey had (namely, they may be site instead of origin,
    for requests created from a NetworkIsolationKey), this does resolve one
    of the issues with the field: NetworkIsolationKeys are used as keys,
    and having two NIKs that are logically equal buy observably different
    is a potential source of bugs.

    Bug: None
Chromium change:

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

commit aa298022efdaaf3637faf741990ad311f5978cee
Author: Wei Li <weili@chromium.org>
Date:   Tue Oct 27 18:37:21 2020 +0000

    Remove SetFocusForPlatform() API

    SetFocusForPlatform() was used to override Button and its subclasses'
    focus behavior. Now the platform default focus behavior becomes Button's
    default setting. This API is no longer needed.

    Bug: 1001103
Otherwise the compiler gets confused with the class method which takes
no parameters.
Chromium change:

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

commit e20efed600a08b5fa7f5197ef991ecfea4cba0e0
Author: Mike Dougherty <michaeldo@chromium.org>
Date:   Fri Oct 16 18:17:54 2020 +0000

    [iOS] Ensure all breadcrumbs are persisted

    Previously, only breadcrumbs associated with BrowserStates were being
    persisted across sessions. These events were stored inside the
    BrowserState storage directory.

    This CL moves the persisted events to files outside of the BrowserState
    directories. Additionally, it listens for breadcrumbs from all
    BreadcrumbManager instances. This allows all breadcrumbs to persist
    across application cold starts.

    Bug:1117667
@mkarolin
Copy link
Collaborator Author

mkarolin commented Dec 9, 2020

The only CI failure is test-install on Windows. The failure is not related to the PR.

@mkarolin mkarolin added the CI/skip Do not run CI builds (except noplatform) label Dec 9, 2020
@mkarolin mkarolin merged commit 92fe952 into master Dec 9, 2020
@mkarolin mkarolin deleted the cr88 branch December 9, 2020 05:13
@mkarolin mkarolin added this to the 1.20.x - Nightly milestone Dec 9, 2020
@mkarolin mkarolin restored the cr88 branch December 9, 2020 14:57
@mkarolin
Copy link
Collaborator Author

mkarolin commented Dec 10, 2020

mkarolin added a commit that referenced this pull request Jan 4, 2021
Upgrade from Chromium 87 to Chromium 88.
mkarolin added a commit that referenced this pull request Jan 8, 2021
Upgrade from Chromium 87 to Chromium 88.
mkarolin added a commit that referenced this pull request Jan 12, 2021
Upgrade from Chromium 87 to Chromium 88.
mkarolin added a commit that referenced this pull request Jan 12, 2021
Upgrade from Chromium 87 to Chromium 88.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI/run-network-audit Run network-audit CI/skip Do not run CI builds (except noplatform)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Upgrade from Chromium 87 to Chromium 88. [Security] Mixed content is no longer being auto-upgraded