WebApp: Extract web_applications source sets in GN.
This CL reflects the existing dependencies and dependency
cycles we have.
Also, we want to establish the following folders in web_applications/:
1) components/
Any independent components which are shared between extensions/
and web_applications/
2) extensions/
A code which is thematically part of chrome/browser/extensions/
E.g. an upcoming BookmarkAppInstaller will be used by extensions.
3) bookmark_apps/
Any extension-based high-level helpers which are used by chrome/browser/
Note that web_applications/policy content will be moved to
web_applications/bookmark_apps/policy/
Bug: 860581
Change-Id: Ib89f0e327759cfab050caceae5818c8e72f40f08
Reviewed-on: https://chromium-review.googlesource.com/1128665
Commit-Queue: Alexey Baskakov <[email protected]>
Reviewed-by: Trent Apted <[email protected]>
Reviewed-by: Devlin <[email protected]>
Reviewed-by: Dominick Ng <[email protected]>
Cr-Commit-Position: refs/heads/master@{#574448}
diff --git a/chrome/browser/web_applications/BUILD.gn b/chrome/browser/web_applications/BUILD.gn
index 8b49ffa..2deb4ad 100644
--- a/chrome/browser/web_applications/BUILD.gn
+++ b/chrome/browser/web_applications/BUILD.gn
@@ -4,25 +4,32 @@
import("//extensions/buildflags/buildflags.gni")
-assert(enable_extensions)
-
source_set("web_applications") {
sources = [
- "extensions/pending_bookmark_app_manager.cc",
- "extensions/pending_bookmark_app_manager.h",
- "policy/web_app_policy_constants.cc",
- "policy/web_app_policy_constants.h",
- "policy/web_app_policy_manager.cc",
- "policy/web_app_policy_manager.h",
- "policy/web_app_policy_manager_factory.cc",
- "policy/web_app_policy_manager_factory.h",
+ "web_app.cc",
+ "web_app.h",
+ "web_app_chromeos.cc",
+ "web_app_mac.h",
+ "web_app_mac.mm",
+ "web_app_win.cc",
+ "web_app_win.h",
]
+ if (is_desktop_linux) {
+ # Desktop linux, doesn't count ChromeOS.
+ sources += [ "web_app_linux.cc" ]
+ }
+
configs += [ "//build/config/compiler:wexit_time_destructors" ]
+ # TODO(loyso): Break this dependency cycle.
+ allow_circular_includes_from = [ "//chrome/browser/extensions" ]
+
deps = [
"//base",
"//chrome/browser/extensions",
+ "//chrome/browser/web_applications/bookmark_apps",
+ "//chrome/browser/web_applications/components",
"//chrome/common",
"//components/keyed_service/content",
"//components/prefs",
@@ -30,3 +37,28 @@
"//url",
]
}
+
+source_set("web_applications_unit_tests") {
+ testonly = true
+
+ sources = [
+ "web_app_mac_unittest.mm",
+ "web_app_unittest.cc",
+ ]
+
+ deps = [
+ ":web_applications",
+ "//chrome/browser/extensions",
+ "//extensions/browser",
+ "//skia",
+ "//testing/gmock",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+ deps = [
+ ":web_applications_unit_tests",
+ "//chrome/browser/web_applications/bookmark_apps:unit_tests",
+ ]
+}