| # Copyright 2020 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/android/config.gni") |
| import("//build/config/android/rules.gni") |
| import("//chrome/browser/buildflags.gni") |
| import("//third_party/jni_zero/jni_zero.gni") |
| |
| android_library("java") { |
| sources = [ |
| "java/src/org/chromium/chrome/browser/tab/CollectionSaveForwarder.java", |
| "java/src/org/chromium/chrome/browser/tab/CollectionStructureTracker.java", |
| "java/src/org/chromium/chrome/browser/tab/CurrentTabObserver.java", |
| "java/src/org/chromium/chrome/browser/tab/EmptyTabObserver.java", |
| "java/src/org/chromium/chrome/browser/tab/SadTab.java", |
| "java/src/org/chromium/chrome/browser/tab/SadTabView.java", |
| "java/src/org/chromium/chrome/browser/tab/Tab.java", |
| "java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java", |
| "java/src/org/chromium/chrome/browser/tab/TabAttributeKeys.java", |
| "java/src/org/chromium/chrome/browser/tab/TabAttributes.java", |
| "java/src/org/chromium/chrome/browser/tab/TabContextMenuData.java", |
| "java/src/org/chromium/chrome/browser/tab/TabCreationState.java", |
| "java/src/org/chromium/chrome/browser/tab/TabDelegateFactory.java", |
| "java/src/org/chromium/chrome/browser/tab/TabHidingType.java", |
| "java/src/org/chromium/chrome/browser/tab/TabId.java", |
| "java/src/org/chromium/chrome/browser/tab/TabIdManager.java", |
| "java/src/org/chromium/chrome/browser/tab/TabLifecycle.java", |
| "java/src/org/chromium/chrome/browser/tab/TabLoadIfNeededCaller.java", |
| "java/src/org/chromium/chrome/browser/tab/TabObscuringHandler.java", |
| "java/src/org/chromium/chrome/browser/tab/TabObscuringHandlerSupplier.java", |
| "java/src/org/chromium/chrome/browser/tab/TabObserver.java", |
| "java/src/org/chromium/chrome/browser/tab/TabResolver.java", |
| "java/src/org/chromium/chrome/browser/tab/TabState.java", |
| "java/src/org/chromium/chrome/browser/tab/TabStateAttributes.java", |
| "java/src/org/chromium/chrome/browser/tab/TabStateExtractor.java", |
| "java/src/org/chromium/chrome/browser/tab/TabStateStorageFlagHelper.java", |
| "java/src/org/chromium/chrome/browser/tab/TabStateStorageService.java", |
| "java/src/org/chromium/chrome/browser/tab/TabStateStorageServiceFactory.java", |
| "java/src/org/chromium/chrome/browser/tab/TabSupplierObserver.java", |
| "java/src/org/chromium/chrome/browser/tab/TabViewManager.java", |
| "java/src/org/chromium/chrome/browser/tab/TabViewProvider.java", |
| "java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java", |
| "java/src/org/chromium/chrome/browser/tab/TabWebContentsUserData.java", |
| "java/src/org/chromium/chrome/browser/tab/TrustedCdn.java", |
| "java/src/org/chromium/chrome/browser/tab/WebContentsState.java", |
| "java/src/org/chromium/chrome/browser/tab/state/ArchivePersistedTabData.java", |
| "java/src/org/chromium/chrome/browser/tab/state/EmptyByteBufferPersistedTabDataStorage.java", |
| "java/src/org/chromium/chrome/browser/tab/state/LevelDBPersistedDataStorage.java", |
| "java/src/org/chromium/chrome/browser/tab/state/LevelDBPersistedTabDataStorage.java", |
| "java/src/org/chromium/chrome/browser/tab/state/LevelDBPersistedTabDataStorageFactory.java", |
| "java/src/org/chromium/chrome/browser/tab/state/MockPersistedTabData.java", |
| "java/src/org/chromium/chrome/browser/tab/state/MockPersistedTabDataStorage.java", |
| "java/src/org/chromium/chrome/browser/tab/state/PersistedDataStorage.java", |
| "java/src/org/chromium/chrome/browser/tab/state/PersistedTabData.java", |
| "java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataConfiguration.java", |
| "java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataFactory.java", |
| "java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataMapper.java", |
| "java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataResult.java", |
| "java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataStorage.java", |
| "java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataStorageFactory.java", |
| "java/src/org/chromium/chrome/browser/tab/state/PriceDropMetricsLogger.java", |
| "java/src/org/chromium/chrome/browser/tab/state/Serializer.java", |
| "java/src/org/chromium/chrome/browser/tab/state/ShoppingPersistedTabData.java", |
| "java/src/org/chromium/chrome/browser/tab/state/ShoppingPersistedTabDataService.java", |
| ] |
| |
| srcjar_deps = [ |
| ":jni_headers", |
| |
| # TabSelectionType, TabLaunchType |
| "//chrome/browser/ui/android/tab_model:enums_java", |
| |
| # SadTabEvent |
| "//components/ui_metrics:ui_metrics_enums_java", |
| ] |
| |
| deps = [ |
| ":critical_persisted_tab_data_proto_java", |
| ":java_resources", |
| "//base:base_java", |
| "//build/android:build_java", |
| "//cc:cc_java", |
| "//chrome/browser/android/crypto:java", |
| "//chrome/browser/browser_controls/android:java", |
| "//chrome/browser/commerce/android:java", |
| "//chrome/browser/commerce/price_tracking/android:java", |
| "//chrome/browser/contextmenu:java", |
| "//chrome/browser/flags:java", |
| "//chrome/browser/optimization_guide/android:java", |
| "//chrome/browser/preferences:java", |
| "//chrome/browser/profiles/android:java", |
| "//chrome/browser/ui/android/native_page:java", |
| "//chrome/browser/ui/android/pdf:java", |
| "//chrome/browser/ui/android/strings:ui_strings_grd", |
| "//chrome/browser/util:java", |
| "//components/autofill/android:autofill_features_java", |
| "//components/browser_ui/util/android:java", |
| "//components/commerce/core:proto_java", |
| "//components/commerce/core/android:core_java", |
| "//components/embedder_support/android:content_view_java", |
| "//components/embedder_support/android:context_menu_java", |
| "//components/embedder_support/android:util_java", |
| "//components/embedder_support/android:web_contents_delegate_java", |
| "//components/external_intents/android:java", |
| "//components/find_in_page/android:java", |
| "//components/navigation_interception/android:navigation_interception_java", |
| "//components/optimization_guide/proto:optimization_guide_proto_java", |
| "//components/payments/content/android/ui:java", |
| "//components/security_state/content/android:java", |
| "//components/security_state/core:security_state_enums_java", |
| "//components/strings:components_strings_grd", |
| "//components/tabs/public/android:java", |
| "//content/public/android:content_java", |
| "//net/android:net_java", |
| "//third_party/android_deps:guava_android_java", |
| "//third_party/android_deps:protobuf_lite_runtime_java", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| "//third_party/androidx:androidx_core_core_java", |
| "//third_party/jni_zero:jni_zero_java", |
| "//ui/android:ui_full_java", |
| "//ui/base/ime/mojom:mojom_java", |
| "//url:gurl_java", |
| ] |
| |
| resources_package = "org.chromium.chrome.browser.tab" |
| } |
| |
| android_resources("java_resources") { |
| sources = [ |
| "java/res/drawable-hdpi/sad_tab.png", |
| "java/res/drawable-mdpi/sad_tab.png", |
| "java/res/drawable-xhdpi/sad_tab.png", |
| "java/res/drawable-xxhdpi/sad_tab.png", |
| "java/res/drawable-xxxhdpi/sad_tab.png", |
| "java/res/layout/sad_tab.xml", |
| ] |
| deps = [ "//ui/android:ui_java_resources" ] |
| } |
| |
| generate_jni("jni_headers") { |
| sources = [ |
| "java/src/org/chromium/chrome/browser/tab/CollectionSaveForwarder.java", |
| "java/src/org/chromium/chrome/browser/tab/CollectionStructureTracker.java", |
| "java/src/org/chromium/chrome/browser/tab/TabStateStorageService.java", |
| "java/src/org/chromium/chrome/browser/tab/TabStateStorageServiceFactory.java", |
| "java/src/org/chromium/chrome/browser/tab/TrustedCdn.java", |
| "java/src/org/chromium/chrome/browser/tab/WebContentsState.java", |
| "java/src/org/chromium/chrome/browser/tab/state/LevelDBPersistedDataStorage.java", |
| "java/src/org/chromium/chrome/browser/tab/state/PersistedTabData.java", |
| ] |
| } |
| |
| proto_java_library("critical_persisted_tab_data_proto_java") { |
| proto_path = "java/src/org/chromium/chrome/browser/tab/state/proto" |
| sources = [ |
| "$proto_path/archive_persisted_tab_data.proto", |
| "$proto_path/shopping_persisted_tab_data.proto", |
| ] |
| } |
| |
| robolectric_library("junit") { |
| sources = [ |
| "java/src/org/chromium/chrome/browser/tab/CurrentTabObserverTest.java", |
| "java/src/org/chromium/chrome/browser/tab/TabAssociatedAppTest.java", |
| "java/src/org/chromium/chrome/browser/tab/TabContextMenuDataUnitTest.java", |
| "java/src/org/chromium/chrome/browser/tab/TabIdManagerTest.java", |
| "java/src/org/chromium/chrome/browser/tab/TabStateAttributesTest.java", |
| "java/src/org/chromium/chrome/browser/tab/TabStateExtractorTest.java", |
| "java/src/org/chromium/chrome/browser/tab/TabSupplierObserverTest.java", |
| "java/src/org/chromium/chrome/browser/tab/state/PriceDropMetricsLoggerTest.java", |
| ] |
| |
| deps = [ |
| ":java", |
| "//base:base_java", |
| "//base:base_java_test_support", |
| "//base:base_junit_test_support", |
| "//chrome/browser/flags:java", |
| "//chrome/browser/preferences:java", |
| "//chrome/browser/profiles/android:java", |
| "//chrome/browser/tab/protocol:proto_java", |
| "//chrome/test/android:chrome_java_test_support_common", |
| "//components/embedder_support/android:util_java", |
| "//content/public/android:content_full_java", |
| "//content/public/android:content_main_dex_java", |
| "//content/public/test/android:content_java_test_support", |
| "//third_party/androidx:androidx_test_runner_java", |
| "//third_party/junit", |
| "//third_party/mockito:mockito_java", |
| "//ui/android:ui_java_test_support", |
| "//ui/android:ui_no_recycler_view_java", |
| "//url:gurl_java", |
| "//url:gurl_junit_test_support", |
| ] |
| } |
| |
| source_set("tab") { |
| sources = [ |
| "android_tab_package.h", |
| "collection_save_forwarder.h", |
| "collection_storage_observer.h", |
| "collection_storage_package.h", |
| "collection_structure_tracker.h", |
| "payload.h", |
| "storage_id_mapping.h", |
| "storage_package.h", |
| "storage_update_unit.h", |
| "tab_state_storage_backend.h", |
| "tab_state_storage_database.h", |
| "tab_state_storage_service.h", |
| "tab_state_storage_updater.h", |
| "tab_state_storage_updater_builder.h", |
| "tab_storage_package.h", |
| "tab_storage_packager.h", |
| "tab_storage_type.h", |
| "tab_storage_util.h", |
| "web_contents_state.h", |
| ] |
| deps = [ |
| ":jni_headers", |
| "//base", |
| "//chrome/browser/profiles:profile", |
| "//chrome/browser/tab/protocol", |
| "//components/keyed_service/core", |
| "//components/tabs:public", |
| "//content/public/browser", |
| "//ui/base", |
| "//url", |
| ] |
| } |
| |
| source_set("impl") { |
| sources = [ |
| "android_tab_package.cc", |
| "collection_save_forwarder.cc", |
| "collection_storage_observer.cc", |
| "collection_storage_package.cc", |
| "collection_structure_tracker.cc", |
| "tab_state_storage_backend.cc", |
| "tab_state_storage_database.cc", |
| "tab_state_storage_service.cc", |
| "tab_state_storage_updater.cc", |
| "tab_state_storage_updater_builder.cc", |
| "tab_storage_package.cc", |
| "tab_storage_packager.cc", |
| "tab_storage_util.cc", |
| "web_contents_state.cc", |
| ] |
| deps = [ |
| ":jni_headers", |
| ":tab", |
| "//chrome/browser/flags:flags_android", |
| "//chrome/browser/profiles", |
| "//chrome/browser/tab/protocol", |
| "//components/sessions", |
| "//components/tabs:public", |
| "//content/public/browser", |
| "//sql", |
| ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ "tab_storage_util_unittest.cc" ] |
| deps = [ |
| ":tab", |
| "//base", |
| "//chrome/browser", |
| "//components/tabs:public", |
| "//testing/gtest", |
| ] |
| } |