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 89 to Chromium 90. #7866

Merged
merged 125 commits into from
Mar 24, 2021
Merged

Upgrade from Chromium 89 to Chromium 90. #7866

merged 125 commits into from
Mar 24, 2021

Conversation

mkarolin
Copy link
Collaborator

@mkarolin mkarolin commented Feb 8, 2021

Fixes brave/brave-browser#14037
Related PR: brave/brave-browser#14038

Submitter Checklist:

  • There is a ticket for my issue.
  • Used Github auto-closing keywords in the commit message.
  • Wrote a good PR/commit description
  • 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, npm run lint, npm run gn_check, npm run tslint
  • Ran git rebase master (if needed).
  • Requested a security/privacy review as needed.

Reviewer Checklist:

  • 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 the CI/run-network-audit Run network-audit label Feb 8, 2021
@mkarolin mkarolin changed the title Upgrade from Chromium 89 to Chromium 90. WIP: Upgrade from Chromium 89 to Chromium 90. Feb 25, 2021
@mkarolin mkarolin marked this pull request as ready for review February 25, 2021 15:27
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.

++

@mkarolin mkarolin added CI/skip Do not run CI builds (except noplatform) and removed CI/skip Do not run CI builds (except noplatform) labels Feb 25, 2021
mkarolin and others added 19 commits March 23, 2021 14:55
- Removes background images in the main view
- Hides background image in the profile customization view
- Fixes Add button border radius.
On MacOS:

Undefined symbols for architecture x86_64:
  "vtable for FakeSystemGeolocationPermissionsManager", referenced from:
      TestingBrowserProcessPlatformPart::TestingBrowserProcessPlatformPart() in libtest_support.a(testing_browser_process_platform_part.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64

Chromium change:

https://source.chromium.org/chromium/chromium/src/+/63eb7e0f2322359ca1214224c346ad02f5e0264e

commit 63eb7e0f2322359ca1214224c346ad02f5e0264e
Author: James Hollyer <[email protected]>
Date:   Wed Feb 24 03:02:40 2021 +0000

    Don't use Core Location after update

    After an update the binary on the disc is different from the one
    in memory until restart. While in this state if Core Location is
    accessed macOS removes location permission. We are currently only
    using Core Location to check for current permission status.
    This fix consolidates the permission state manager to a single
    object that is created and owned by the BrowserProcess. This status
    is cached in that object and accessed when needed throughout the
    application.

    The CoreLocationProvider is currently behind a flag that is disabled
    by default. More work is needed to ensure that class does not access
    Core Location while in a broken signed state before that flag can be
    enabled.

    Bug: 1143807
…tService

We don't use ExtensionRegistryObserver and simply access the private methods
OnExtensionLoaded()/OnExtensionUnloaded() from UserScriptLoader instead since
we only want to load/unload the content scripts and not the extension.
Profile Picker is shown under System profile (OTR), so when
adding brave Brave shared resources to profiles we need to
account for OTR profiles.
Function in web_ui_util.cc is no longer used to get the
text_defaults_md.css resource for shared resources. Keep our override
for the function resouce because it's still used in several places.

Additionally, copy over our text_defaults_md.css via util.js so that
it's used when chromium GRD is auto generated.

Chromium change:

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

commit ba11d6dc4a110c2c456eb453b445832847230b5e
Author: dpapad <[email protected]>
Date:   Wed Feb 24 18:26:57 2021 +0000

    WebUI: Replace SharedResourcesDataSource with a regular WebUIDataSource.

    SharedResourcesDataSource was a custom class directly subclassing
    URLDataSource (and used for serving chrome://resources URLs). By doing
    so it included a lot of duplicated functionality for code that is
    already available in regular WebUIDataSourceImpl subclasses, for
    example

     - Registering resources
     - Registering loadTimeData strings
     - Calculating mime types based on a path's extension
     - Locating and serving WebUI files from pak files
     - Overriding specific CSP policies

    By using a regular WebUIDataSourceImpl a lot of duplicated code is
    deleted. Moreover, WebUIDataSourceImpl is a more mature class, that is
    heavily used across WebUI. For example this CL helped discover a bug
    where $i18n{...} string placeholders where incorrectly used in
    cr_components/ (fixed at r854879) because of CHECK()s that did not
    exist in SharedResourcesDataSource.

    In order to support chrome://resources/css/text_defaults.css $i18n{...}
    replacements, web_ui_url_loader_factory.cc has been modified to perform
    $i18n{...} replacements in CSS files too (previously only done for HTML
    files, and conditionally for JS files).

    Bug: 1179207
Removed checked in executable and added code to build it during the
build process using MSBuild.
Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/4781613e02f1769063960ece12181bc1463f7a01

[Start] Update triggerUrlFocusAnimation logic.

Before this CL, when calling triggerUrlFocusAnimation(), the value of
|hasFocus| is set as |!urlHasFocus()| sometimes, which is not easy to
understand. This CL makes the logic more understandable and keeps toolbar
expanded on start surface homepage.

(cherry picked from commit 2effd41efd4d2e06a571f03f96bec7e3dea88e95)

Bug: 1184865
Chromium change:

https://chromium.googlesource.com/chromium/src/+/d00f800f7d6372decfce0f897c54bab3e43e99b1

commit d00f800f7d6372decfce0f897c54bab3e43e99b1
Author: Victor Hugo Vianna Silva <[email protected]>
Date:   Mon Feb 1 15:18:45 2021 +0000

    [Sync Model/Engine split] Merge {model,engine}_impl with {model,engine}

    The distinction between the impl and non-impl directories has become
    unclear over time, as well as the dependencies between them. This CL
    merges them. This will allow us to create separate build targets for
    engine/ and model/ (model/ depends on engine/). Subdirectories are
    merged correspondingly, e.g. engine_impl/cycle/ is merged with
    engine/cycle/.

    Orthogonal to this, we remove 1 unnecessary engine/ dependency from
    components/password_manager/core/browser/DEPS, and make some net/
    dependencies more specific in sync/ DEPS.

    Bug: 947443
Chromium change:

https://chromium.googlesource.com/chromium/src/+/5785d182ede480e644e3641adc38ed3502e42ad9

commit 5785d182ede480e644e3641adc38ed3502e42ad9
Author: Chris Thompson <[email protected]>
Date:   Fri Feb 19 01:39:46 2021 +0000

    Reland "Reland "Remove TLS deprecation config""

    This is a reland of 5c5a72b5885be681facb28e8c353bafb7eea445e

    This disables the affected tests on macOS. See crbug.com/1176880 for
    details.

    Original change's description:
    > Reland "Remove TLS deprecation config"
    >
    > This is a reland of fa522465a7821267f8618d978b2bf257730808a9
    >
    > The original CL was reverted because it broke WSS tests on the Mac 10.11
    > bot (due to old OpenSSL versions). This updated reland fixes the affected
    > tests.
    >
    > Original change's description:
    > > Remove TLS deprecation config
    > >
    > > As the control sites list is no longer used, this CL removes the
    > > deprecation config and control site suppression logic. Removing the
    > > deprecation config also causes some test cases to now default to
    > > preventing TLS 1.0/1.1 connections (as previously the enforcement
    > > intentionally failed-open if there was no deprecation config present) --
    > > this removes tests that are no longer meaningful after this change, and
    > > updated other affected tests.
    > >
    > > Bug: 1039756
super.onPauseWithNative should be called only once
@mkarolin mkarolin merged commit dd270fb into master Mar 24, 2021
@mkarolin mkarolin deleted the cr90 branch March 24, 2021 01:46
@mkarolin mkarolin added this to the 1.24.x - Nightly milestone Mar 24, 2021
mkarolin added a commit that referenced this pull request Mar 24, 2021
Upgrade from Chromium 89 to Chromium 90.
mkarolin added a commit that referenced this pull request Apr 6, 2021
Upgrade from Chromium 89 to Chromium 90.
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Upgrade from Chromium 89 to Chromium 90.