1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
# Copyright 2024 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//chrome/common/features.gni")
assert(is_win || is_mac || is_linux || is_chromeos || is_android)
# This is the public interface for a browser window. Most features in
# //chrome/browser depend on this interface, and thus to prevent circular
# dependencies this interface should not depend on anything else in //chrome.
source_set("browser_window") {
sources = [
"public/browser_window_interface.h",
"public/browser_window_interface_iterator.h",
]
public_deps = [ "//content/public/browser" ]
deps = [ "//ui/base/unowned_user_data" ]
if (!is_android) {
sources += [
"public/browser_window_features.h",
"public/desktop_browser_window_capabilities.h",
"public/desktop_browser_window_capabilities_delegate.h",
]
public_deps += [
"//base",
"//chrome/common:buildflags",
"//extensions/buildflags",
"//ui/base:types",
]
}
}
# Android targets need to be guarded by is_android because:
# (1) Android GNI files may assert is_android, and
# (2) The rest of this file can be included in non-Android builds.
if (is_android) {
import("//build/config/android/rules.gni")
import("//chrome/android/features/android_library_factory_tmpl.gni")
# Public Java interfaces
android_library("java") {
sources = [
"public/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTask.java",
"public/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskFeature.java",
"public/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskTracker.java",
]
deps = [
"//build/android:build_java",
"//ui/android:ui_no_recycler_view_java",
]
}
# Public Java factory
android_library_factory("factory_java") {
deps = [ ":java" ]
sources = [ "internal/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskTrackerFactory.java" ]
}
} else {
source_set("browser_tests") {
testonly = true
sources = [ "public/browser_window_interface_iterator_browsertest.cc" ]
defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
deps = [
":browser_window",
"//base",
"//base/test:test_support",
"//chrome/browser/ui",
"//chrome/test:test_support",
"//content/test:test_support",
"//testing/gtest",
]
}
}
|