Chromium change:
https://chromium.googlesource.com/chromium/src/+/d00f800f7d6372decfce0f897c54bab3e43e99b1
commit d00f800f7d6372decfce0f897c54bab3e43e99b1
Author: Victor Hugo Vianna Silva <victorvianna@google.com>
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
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 <jameshollyer@google.com>
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
Chromium change:
https://chromium.googlesource.com/chromium/src.git/+/0409372615dde3d990738a730b6f784d695bf678
[Build] Switch androidx dependencies to use //third_party/androidx
This CL switches depenendencies on the
//third_party/android_deps:androidx alias to refer to
//third_party/androidx instead.
This CL was generated via:
find . -name *.gn -exec sed -i 's/android_deps:androidx/androidx:androidx/g' {} +
BUG=1064277
This is no longer supported after a period of supporting the old
"whitelist" key along with the new "allowlist" one, but now we
need to migrate for real.
Chromium changes:
https://chromium.googlesource.com/chromium/src.git/+/dc12ff7d11e5de868005e17df701d8b0c3730a1c
commit dc12ff7d11e5de868005e17df701d8b0c3730a1c
Author: Karandeep Bhatia <karandeepb@chromium.org>
Date: Thu Jan 14 14:19:40 2021 +0000
Use auto-generated manifest parsing for import, export manifest keys.
Also
- Remove support for legacy export.whitelist manifest key.
- This also revealed that json_schema_compiler doesn't correctly handle
C++ reserved keywords (like export) correctly in the auto-generated code
since using them directly causes compilation errors. Fix this.
BUG=1113513, 842354
https://chromium.googlesource.com/chromium/src.git/+/9486b056f09a97fb2ba5ebb1b4c00f2dae6630c4
commit 9486b056f09a97fb2ba5ebb1b4c00f2dae6630c4
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Fri May 18 05:42:04 2018 +0000
[Extensions] Use `allowlist` in SharedModule code
Rename the shared module property to 'allowlist'. The legacy 'whitelist'
key will continue to work until we update any uses of it.
Bug: 842354
13609: Added an Open in IPFS option for domains that have a TXT record that is prefixed with dnslink=
13611: Add a setting to automatically redirect for DNSLink
Three build failures are currently preventing us from building these
unit_tests & browser_test binaries from upstream:
1. A compilation error due to FakeDeviceInfoTracker not implementing
Brave-specific's GetAllBraveDeviceInfo() and DeleteDeviceInfo()
virtual methods from DeviceInfoTracker (added via an override).
2. A compilation error in //c/b/apps/guest_view/web_view_browsertest.cc
because of testing code using RenderViewContextMenu's static method
RegisterMenuShownCallbackForTesting(), which would expect a callback
|base::OnceCallback<void(RenderViewContextMenu_Chromium*>| because
of the source override in chromium_src/c/b/renderer_context_menu, but
a |base::OnceCallback<void(BraveRenderViewContextMenu*)>| will be
passed instead due to the redefinition set in that source override.
3. A linking error due to push_messaging_service_unittest.cc requiring
a dependency for BraveTestingProfile (also added via an override).
This patches fixes all those three errors via chromium overrides.
Fix https://github.com/brave/brave-browser/issues/14001
It will assumed from now on that all of Brave's own code plus patches
to upstream Chromium will always be built and run as part of a Brave
build, so we can drop these guards and reduce the patching surface.
Note that github.com/brave/brave-browser/wiki/Patching-Chromium should
also be updated to reflect the change implemented in this patch.
Fix https://github.com/brave/brave-browser/issues/12740