Error message was:
```
ERROR at //chrome/browser/content_settings/host_content_settings_map_unittest.cc:79:11: Can't include this header from here.
^----------------------------------
The target:
//chrome/browser/content_settings:unit_tests
is including a file from the target:
//brave/extensions:common
It's usually best to depend directly on the destination target.
In some cases, the destination target is considered a subcomponent
of an intermediate target. In this case, the intermediate target
should depend publicly on the destination to forward the ability
to include headers.
Dependency chain (there may also be others):
//chrome/browser/content_settings:unit_tests -->
//chrome/browser:browser --[private]-->
//brave/extensions:common
```
In upstream Chromium, extensions/common/url_pattern_set.h
belongs to //extensions/common which is a real target.
But on Android where enable_extensions=false, that target
doesn't exist/isn't built. So effectively, on Android, the
header has no upstream owner — and Brave's source_set
//brave/extensions:common "claims" to make it available.
Source
chrome/browser/content_settings/host_content_settings_map_unittest.cc
is at
//chrome/browser/content_settings:unit_tests
but does not depend on //brave/extensions:common .
This is the complain of the gn_check.
The purpose of deprecated_visibility_allowed is only to prevent
new uses of url_pattern_set, current commit doesn't introduce that.
The upside - no need to patch chrome/browser/content_settings:unit_tests,
as depenence is visible through
//chrome/browser/content_settings:unit_tests -->
//chrome/browser:browser -->
//chrome/browser:browser_public_dependencies
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/7307848029fabb938e5cce51d0e3581d1096a58b
commit 7307848029fabb938e5cce51d0e3581d1096a58b
Author: Joel Hockey <joelhockey@chromium.org>
Date: Mon Mar 16 18:26:20 2026 -0700
Add new ExtensionInstallTimePermissionProvider
It provides the status of permissions which are enabled via
extension manifests. Current analysis shows that only
geolocation and notifications are relevant.
With support for extensions in desktop android, the SiteSettings page should show when extensions have permissions enabled. Desktop looks
up these permissions via site_settings_helper GetPermissionResultForOriginWithoutContext(), but it can be done
via HostContentsSettingsMap by adding this new provider.
Bug: 40215363
Bug: 458227842
Change-Id: I4528923a56d0d20e1ab8a166dd729d4accc50d48
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7627082
Reviewed-by: Elias Klim <elklm@chromium.org>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Reviewed-by: Sam McNally <sammc@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1600254}
- Everything in `browser` → `core/browser`
- Everything in `common` → `core/common`
- Moved unit test target to `brave_components_unittests`
This will enable moving iOS bridges into the component in the future
```
ERROR at //extensions/common/constants.cc:13:11: Can't include this header from here.
^--------------------------
The target:
//brave/extensions:common
is including a file from the target:
//build:chromeos_buildflags
It's usually best to depend directly on the destination target.
In some cases, the destination target is considered a subcomponent
of an intermediate target. In this case, the intermediate target
should depend publicly on the destination to forward the ability
to include headers.
Dependency chain (there may also be others):
//brave/extensions:common -->
//base:base --[private]-->
//base:rust_logger --[private]-->
//build:chromeos_buildflags
```
A public //content header for url constantly was transiently making vr
buildflags a dependency. This change adds that dependency to
//brave/extensions:common.
Chromium change:
https://chromium.googlesource.com/chromium/src/+/c4eee9a301891f6ad397f49add6ad33a19a96a6a
commit c4eee9a301891f6ad397f49add6ad33a19a96a6a
Author: Mahmoud Ahmed <mahmoudaahmedd@gmail.com>
Date: Fri Jul 21 17:19:24 2023 +0000
Introduces the initial version of the WebXR Internals debugging page
Summary:
This commit introduces the initial version of the WebXR Internals
debugging page. The page will display relevant information and data
for debugging purposes.
The following features have been implemented:
- Device Info: Displays information about the user's system,
including GPU driver, GPU vendor ID, operating system name and OS
version.
Further work is needed to complete the remaining attributes in the XR
Session Info section and integrate data fetching from the Blink module
for the interactive charts.
Bug: 1458661
Chromium change:
chromium/chromium@c7d760c
[Extensions] Add assert(extensions_enabled) in extensions BUILD.gns
There were two extensions BUILD.gn files that we couldn't
assert(extensions_enabled) in: extensions/BUILD.gn and
extensions/common/BUILD.gn. This was because of dependencies on
extensions that weren't properly guarded by
`#if BUILDFLAG(ENABLE_EXTENSIONS)`. Following recent CLs, we can now
fix this, and add the missing assertions to these two build files.
Bug: 731689
Otherwise there is an error:
In file included from ../../extensions/common/url_pattern.cc:19:
In file included from ../../extensions/common/constants.h:10:
In file included from gen/components/services/app_service/public/mojom/types.mojom.h:34:
In file included from gen/ui/gfx/image/mojom/image.mojom.h:31:
In file included from gen/ui/gfx/image/mojom/image.mojom-forward.h:41:
In file included from ../../ui/gfx/image/mojom/image_skia_mojom_traits.h:12:
In file included from ../../skia/public/mojom/bitmap_skbitmap_mojom_traits.h:14:
In file included from ../../skia/public/mojom/image_info_mojom_traits.h:12:
../../third_party/skia/include/core/SkImageInfo.h:11:10: fatal error: 'include/core/SkColorSpace.h' file not found
No longer needs `thread` param.
Chromium change:
https://chromium.googlesource.com/chromium/src/+/16395195c71cc831e85e10524f2c18311b325df5
commit 16395195c71cc831e85e10524f2c18311b325df5
Author: Clark DuVall <cduvall@chromium.org>
Date: Tue Jul 30 18:04:24 2019 +0000
Remove unused IOThreadExtensionFunction
This also merges UIThreadExtensionFunction and ExtensionFunction since
there's no need for them to be separate anymore. This was made possible
because WebRequest has moved to the UI thread, and it was the only API
using IOThreadExtensionFunction.
Follow up CL will remove references to UIThreadExtensionFunction.
Bug: 980774
The method now returns a struct instrad of having mutliple out params.
Chromium change:
https://chromium.googlesource.com/chromium/src/+/4ed01619c8ae43d3a1ef1f8acd713aa6aaa3530b
commit 4ed01619c8ae43d3a1ef1f8acd713aa6aaa3530b
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Thu Jul 18 17:41:55 2019 +0000
[Extensions Bindings] Return a struct from APISignature parsing methods
Make APISignature::ParseArgumentsToJSON(),
APISignature::ParseArgumentsToV8(), and
APISignature::ConvertArgumentsIgnoringSchema() return a struct
containing the parse results, including arguments, error, and
async response type (callback if one were provided).
This will make it easier when we need to provide additional information
about if a promise should be returned.
No behavior change is expected.
Bug: 978538
Newly addied apis set content settings to user preference instead of
ContentSettingsStore.
Also, previously set value in extension's ContentSettingsStore is
deleted when user changes current setting.