Commit bc0d3714 authored by Karandeep Bhatia's avatar Karandeep Bhatia Committed by Commit Bot

DNR: Resolve cyclic dependency with extensions/browser:browser_sources

extensions/browser/api/declarative_net_request:declarative_net_request
depends on extensions/browser:browser_sources. However some sources in
extensions/browser:browser_sources also depend on
extensions/browser/api/declarative_net_request:declarative_net_request
causing a cyclic dependency. This dependency is necessary since DNR
needs to hook into the installation flow. This dependency is not
declared which can cause problems (e.g. configs won't be propagated
correctly).

Fix this by creating a new leaf target on which both
extensions/browser/api/declarative_net_request:declarative_net_request
and extensions/browser:browser_sources can depend on.

BUG=1064163

Change-Id: I536567bb1c3ca03117bd779fd205fb49b1af4849
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2117450
Commit-Queue: Karan Bhatia <karandeepb@chromium.org>
Reviewed-by: default avatarDevlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#753433}
parent c97cb887
......@@ -388,6 +388,7 @@ jumbo_source_set("browser_sources") {
"//crypto:platform",
"//crypto:platform",
"//extensions:extensions_browser_resources",
"//extensions/browser/api/declarative_net_request:core",
"//extensions/browser/guest_view/web_view/web_ui",
"//extensions/buildflags",
"//extensions/common",
......
......@@ -8,20 +8,12 @@ source_set("declarative_net_request") {
"action_tracker.h",
"composite_matcher.cc",
"composite_matcher.h",
"constants.cc",
"constants.h",
"declarative_net_request_api.cc",
"declarative_net_request_api.h",
"extension_url_pattern_index_matcher.cc",
"extension_url_pattern_index_matcher.h",
"file_sequence_helper.cc",
"file_sequence_helper.h",
"flat_ruleset_indexer.cc",
"flat_ruleset_indexer.h",
"indexed_rule.cc",
"indexed_rule.h",
"parse_info.cc",
"parse_info.h",
"regex_rules_matcher.cc",
"regex_rules_matcher.h",
"request_action.cc",
......@@ -36,10 +28,6 @@ source_set("declarative_net_request") {
"ruleset_matcher.h",
"ruleset_matcher_base.cc",
"ruleset_matcher_base.h",
"ruleset_source.cc",
"ruleset_source.h",
"utils.cc",
"utils.h",
"web_contents_helper.cc",
"web_contents_helper.h",
]
......@@ -47,6 +35,7 @@ source_set("declarative_net_request") {
public_deps = [
"//components/url_matcher",
"//components/url_pattern_index",
"//extensions/browser/api/declarative_net_request:core",
"//extensions/browser/api/declarative_net_request/flat:extension_ruleset",
"//third_party/re2",
]
......@@ -59,6 +48,48 @@ source_set("declarative_net_request") {
"//extensions/common",
"//extensions/common/api",
"//net",
"//services/data_decoder/public/cpp:cpp",
"//tools/json_schema_compiler:generated_api_util",
"//url",
]
}
# This is the set of sources required by the core extension system (i.e. stuff
# in //extensions/browser:browser_sources). This is split into another
# source set to prevent a cyclic dependency. This is necessary since
# declarativeNetRequest API needs to participate in the installation flow.
# TODO(crbug.com/730220): Remove this source set once extensions/browser is
# changed to be a monolithic target or once the core extension system doesn't
# rely on these.
source_set("core") {
sources = [
"constants.cc",
"constants.h",
"flat_ruleset_indexer.cc",
"flat_ruleset_indexer.h",
"indexed_rule.cc",
"indexed_rule.h",
"parse_info.cc",
"parse_info.h",
"ruleset_checksum.h",
"ruleset_source.cc",
"ruleset_source.h",
"utils.cc",
"utils.h",
]
deps = [
"//base",
"//components/url_pattern_index",
"//components/web_cache/browser:browser",
"//content/public/browser:browser",
"//extensions/browser/api/declarative_net_request/flat:extension_ruleset",
"//extensions/common",
"//extensions/common/api",
"//net",
"//services/data_decoder/public/cpp:cpp",
"//third_party/flatbuffers:flatbuffers",
"//third_party/re2",
"//tools/json_schema_compiler:generated_api_util",
"//url",
]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment