# 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("//extensions/buildflags/buildflags.gni")
import("//third_party/jni_zero/jni_zero.gni")

android_library("variation_utils_java") {
  sources = [
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarVariationUtils.java",
  ]
  deps = [
    "//base:build_info_java",
    "//chrome/browser/flags:java",
    "//third_party/androidx:androidx_annotation_annotation_java",
    "//ui/android:ui_no_recycler_view_java",
  ]
}

generate_jni("adaptive_jni_headers") {
  sources = [ "java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarBridge.java" ]
}

android_library("adaptive_features_java") {
  sources = [ "java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarFeatures.java" ]
  deps = [
    "//base:base_java",
    "//chrome/browser/actor/android:java",
    "//chrome/browser/flags:java",
    "//chrome/browser/glic:public_java",
    "//chrome/browser/preferences:java",
    "//chrome/browser/profiles/android:java",
    "//chrome/browser/readaloud/android:features_java",
    "//chrome/browser/ui/android/bottombar:config_java",
    "//chrome/browser/ui/side_panel/android:java",
    "//components/prefs/android:java",
    "//components/user_prefs/android:java",
    "//content/public/android:content_full_java",
    "//third_party/androidx:androidx_annotation_annotation_java",
    "//ui/android:ui_no_recycler_view_java",
  ]
  srcjar_deps = [ ":adaptive_toolbar_enums_java" ]
}

android_library("optional_button_java") {
  sources = [
    "java/src/org/chromium/chrome/browser/toolbar/MenuBuilderHelper.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveButtonActionMenuCoordinator.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarBehavior.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarBridge.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonController.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarPrefs.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictor.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStats.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/OpenInBrowserButtonController.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/OptionalNewTabButtonController.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/TranslateToolbarButtonController.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/settings/AdaptiveToolbarHeaderPreference.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/settings/AdaptiveToolbarSettingsFragment.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/settings/RadioButtonGroupAdaptiveToolbarPreference.java",
    "java/src/org/chromium/chrome/browser/toolbar/optional_button/BaseButtonDataProvider.java",
    "java/src/org/chromium/chrome/browser/toolbar/optional_button/ButtonData.java",
    "java/src/org/chromium/chrome/browser/toolbar/optional_button/ButtonDataImpl.java",
    "java/src/org/chromium/chrome/browser/toolbar/optional_button/ButtonDataProvider.java",
    "java/src/org/chromium/chrome/browser/toolbar/optional_button/OptionalButtonConstants.java",
    "java/src/org/chromium/chrome/browser/toolbar/optional_button/OptionalButtonCoordinator.java",
    "java/src/org/chromium/chrome/browser/toolbar/optional_button/OptionalButtonMediator.java",
    "java/src/org/chromium/chrome/browser/toolbar/optional_button/OptionalButtonProperties.java",
    "java/src/org/chromium/chrome/browser/toolbar/optional_button/OptionalButtonView.java",
    "java/src/org/chromium/chrome/browser/toolbar/optional_button/OptionalButtonViewBinder.java",
    "java/src/org/chromium/chrome/browser/toolbar/optional_button/ShrinkTransition.java",
  ]
  deps = [
    ":adaptive_features_java",
    ":java_resources",
    ":variation_utils_java",
    "//base:base_java",
    "//build/android:build_java",
    "//chrome/browser/actor/android:java",
    "//chrome/browser/android/lifecycle:java",
    "//chrome/browser/feature_engagement:java",
    "//chrome/browser/flags:java",
    "//chrome/browser/glic:public_java",
    "//chrome/browser/language/android:java",
    "//chrome/browser/preferences:java",
    "//chrome/browser/profiles/android:java",
    "//chrome/browser/readaloud/android:features_java",
    "//chrome/browser/settings:java",
    "//chrome/browser/settings:search_java",
    "//chrome/browser/tab:java",
    "//chrome/browser/tabmodel:java",
    "//chrome/browser/ui/android/bottombar:config_java",
    "//chrome/browser/ui/android/native_page:java",
    "//chrome/browser/ui/android/omnibox:util_java",
    "//chrome/browser/ui/android/tabstrip:enums_java",
    "//chrome/browser/ui/android/theme:java",
    "//chrome/browser/ui/side_panel/android:java",
    "//chrome/browser/user_education:java",
    "//chrome/browser/util:java",
    "//components/browser_ui/settings/android:java",
    "//components/browser_ui/styles/android:java",
    "//components/browser_ui/widget/android:java",
    "//components/embedder_support/android:util_java",
    "//components/feature_engagement:feature_engagement_java",
    "//components/prefs/android:java",
    "//components/segmentation_platform/public:public_java",
    "//components/user_prefs/android:java",
    "//content/public/android:content_full_java",
    "//third_party/android_deps:material_design_java",
    "//third_party/androidx:androidx_annotation_annotation_java",
    "//third_party/androidx:androidx_appcompat_appcompat_java",
    "//third_party/androidx:androidx_appcompat_appcompat_resources_java",
    "//third_party/androidx:androidx_core_core_java",
    "//third_party/androidx:androidx_fragment_fragment_java",
    "//third_party/androidx:androidx_preference_preference_java",
    "//third_party/jni_zero:jni_zero_java",
    "//ui/android:ui_full_java",
    "//ui/android:ui_no_recycler_view_java",
    "//url:url_java",
  ]
  srcjar_deps = [ ":adaptive_jni_headers" ]
  resources_package = "org.chromium.chrome.browser.toolbar"
}

android_library("core_java") {
  sources = [
    "java/src/org/chromium/chrome/browser/toolbar/ConstraintsChecker.java",
    "java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java",
    "java/src/org/chromium/chrome/browser/toolbar/FormFieldFocusedSupplier.java",
    "java/src/org/chromium/chrome/browser/toolbar/KeyboardAccessoryStateSupplier.java",
    "java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java",
    "java/src/org/chromium/chrome/browser/toolbar/MiniOriginBarController.java",
    "java/src/org/chromium/chrome/browser/toolbar/ProgressAnimationSmooth.java",
    "java/src/org/chromium/chrome/browser/toolbar/SettableThemeColorProvider.java",
    "java/src/org/chromium/chrome/browser/toolbar/TabSwitcherButtonCoordinator.java",
    "java/src/org/chromium/chrome/browser/toolbar/TabSwitcherButtonProperties.java",
    "java/src/org/chromium/chrome/browser/toolbar/TabSwitcherButtonView.java",
    "java/src/org/chromium/chrome/browser/toolbar/TabSwitcherButtonViewBinder.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarCaptureType.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarDataProvider.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarFeatures.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarHairlineView.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarIntentMetadata.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarLongPressMenuHandler.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarPositionController.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarProgressBar.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarProgressBarAnimatingView.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarProgressBarLayer.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarResourceUtils.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarTabController.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarTabControllerImpl.java",
    "java/src/org/chromium/chrome/browser/toolbar/VoiceToolbarButtonController.java",
    "java/src/org/chromium/chrome/browser/toolbar/back_button/BackButtonCoordinator.java",
    "java/src/org/chromium/chrome/browser/toolbar/back_button/BackButtonMediator.java",
    "java/src/org/chromium/chrome/browser/toolbar/back_button/BackButtonProperties.java",
    "java/src/org/chromium/chrome/browser/toolbar/back_button/BackButtonViewBinder.java",
    "java/src/org/chromium/chrome/browser/toolbar/bottom/BottomBarConstraintsSupplier.java",
    "java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsContentDelegate.java",
    "java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsCoordinator.java",
    "java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java",
    "java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsProperties.java",
    "java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsViewBinder.java",
    "java/src/org/chromium/chrome/browser/toolbar/bottom/ScrollingBottomViewResourceFrameLayout.java",
    "java/src/org/chromium/chrome/browser/toolbar/bottom/ScrollingBottomViewSceneLayer.java",
    "java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsToolbarCoordinator.java",
    "java/src/org/chromium/chrome/browser/toolbar/forward_button/ForwardButtonCoordinator.java",
    "java/src/org/chromium/chrome/browser/toolbar/home_button/HomeButton.java",
    "java/src/org/chromium/chrome/browser/toolbar/home_button/HomeButtonCoordinator.java",
    "java/src/org/chromium/chrome/browser/toolbar/incognito/IncognitoIndicatorCoordinator.java",
    "java/src/org/chromium/chrome/browser/toolbar/load_progress/LoadProgressCoordinator.java",
    "java/src/org/chromium/chrome/browser/toolbar/load_progress/LoadProgressMediator.java",
    "java/src/org/chromium/chrome/browser/toolbar/load_progress/LoadProgressProperties.java",
    "java/src/org/chromium/chrome/browser/toolbar/load_progress/LoadProgressSimulator.java",
    "java/src/org/chromium/chrome/browser/toolbar/load_progress/LoadProgressViewBinder.java",
    "java/src/org/chromium/chrome/browser/toolbar/menu_button/MenuButton.java",
    "java/src/org/chromium/chrome/browser/toolbar/menu_button/MenuButtonCoordinator.java",
    "java/src/org/chromium/chrome/browser/toolbar/menu_button/MenuButtonMediator.java",
    "java/src/org/chromium/chrome/browser/toolbar/menu_button/MenuButtonProperties.java",
    "java/src/org/chromium/chrome/browser/toolbar/menu_button/MenuButtonViewBinder.java",
    "java/src/org/chromium/chrome/browser/toolbar/menu_button/MenuItemState.java",
    "java/src/org/chromium/chrome/browser/toolbar/menu_button/MenuUiState.java",
    "java/src/org/chromium/chrome/browser/toolbar/reload_button/ReloadButtonCoordinator.java",
    "java/src/org/chromium/chrome/browser/toolbar/reload_button/ReloadButtonMediator.java",
    "java/src/org/chromium/chrome/browser/toolbar/reload_button/ReloadButtonProperties.java",
    "java/src/org/chromium/chrome/browser/toolbar/reload_button/ReloadButtonViewBinder.java",
    "java/src/org/chromium/chrome/browser/toolbar/settings/AddressBarHeaderPreference.java",
    "java/src/org/chromium/chrome/browser/toolbar/settings/AddressBarPreference.java",
    "java/src/org/chromium/chrome/browser/toolbar/settings/AddressBarSettingsFragment.java",
    "java/src/org/chromium/chrome/browser/toolbar/signin_button/SigninButtonCoordinator.java",
    "java/src/org/chromium/chrome/browser/toolbar/signin_button/SigninButtonMediator.java",
    "java/src/org/chromium/chrome/browser/toolbar/signin_button/SigninButtonProperties.java",
    "java/src/org/chromium/chrome/browser/toolbar/signin_button/SigninButtonView.java",
    "java/src/org/chromium/chrome/browser/toolbar/signin_button/SigninButtonViewBinder.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ActionModeController.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/CaptureReadinessResult.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/NavigationPopup.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/OptionalBrowsingModeButtonController.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/PhoneCaptureStateToken.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ResourceFactory.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/TabSwitcherActionMenuCoordinator.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/TabletCaptureStateToken.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ToggleTabStackButton.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ToggleTabStackButtonCoordinator.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/Toolbar.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ToolbarActionModeCallback.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ToolbarChild.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ToolbarChildButton.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ToolbarColorObserverManager.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ToolbarSnapshotDifference.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ToolbarTablet.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ToolbarUtils.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarOverlayCoordinator.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarOverlayMediator.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarOverlayProperties.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ViewShiftingActionBarDelegate.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/VisibleUrlText.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/FadeTransitionHandler.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java",
  ]

  deps = [
    ":adaptive_features_java",
    ":java_resources",
    ":optional_button_java",
    ":variation_utils_java",
    "//base:base_java",
    "//base:service_loader_java",
    "//base:supplier_java",
    "//build/android:build_java",
    "//cc:cc_java",
    "//chrome/android:chrome_app_java_resources",
    "//chrome/android:new_tab_page_utils_java",
    "//chrome/android/features/tab_ui/public:java",
    "//chrome/browser/actor/android:java",
    "//chrome/browser/android/lifecycle:java",
    "//chrome/browser/back_press/android:java",
    "//chrome/browser/browser_controls/android:java",
    "//chrome/browser/contextual_tasks:utils_java",
    "//chrome/browser/data_sharing:versioning_java",
    "//chrome/browser/device:java",
    "//chrome/browser/feature_engagement:java",
    "//chrome/browser/flags:java",
    "//chrome/browser/fullscreen/android:java",
    "//chrome/browser/glic:public_java",
    "//chrome/browser/glic/android:common_java",
    "//chrome/browser/hub:java",
    "//chrome/browser/incognito:java",
    "//chrome/browser/keyboard_accessory/android/java",
    "//chrome/browser/language/android:java",
    "//chrome/browser/magic_stack/android:java",
    "//chrome/browser/ntp_customization:java",
    "//chrome/browser/paint_preview/android:java",
    "//chrome/browser/preferences:java",
    "//chrome/browser/prefs/android:java",
    "//chrome/browser/profiles/android:java",
    "//chrome/browser/readaloud/android:features_java",
    "//chrome/browser/search_engines/android:java",
    "//chrome/browser/segmentation_platform:factory_java",
    "//chrome/browser/settings:java",
    "//chrome/browser/settings:search_java",
    "//chrome/browser/signin/services/android:java",
    "//chrome/browser/subscription_eligibility:java",
    "//chrome/browser/sync/android:java",
    "//chrome/browser/tab:java",
    "//chrome/browser/tab_ui/android:java",
    "//chrome/browser/tabmodel:java",
    "//chrome/browser/tabwindow:java",
    "//chrome/browser/ui/android/actions:java",
    "//chrome/browser/ui/android/appmenu:java",
    "//chrome/browser/ui/android/bars_common:java",
    "//chrome/browser/ui/android/bottombar:config_java",
    "//chrome/browser/ui/android/bottombar:java",
    "//chrome/browser/ui/android/desktop_windowing:java",
    "//chrome/browser/ui/android/edge_to_edge:java",
    "//chrome/browser/ui/android/extensions:java",
    "//chrome/browser/ui/android/favicon:java",
    "//chrome/browser/ui/android/favicon:java_resources",
    "//chrome/browser/ui/android/layouts:java",
    "//chrome/browser/ui/android/logo:java",
    "//chrome/browser/ui/android/multiwindow:java",
    "//chrome/browser/ui/android/native_page:java",
    "//chrome/browser/ui/android/omnibox:java",
    "//chrome/browser/ui/android/omnibox:java_resources",
    "//chrome/browser/ui/android/overlay_panel:java",
    "//chrome/browser/ui/android/pdf:java",
    "//chrome/browser/ui/android/pdf:pdf_utils_java",
    "//chrome/browser/ui/android/signin:java",
    "//chrome/browser/ui/android/tabstrip:enums_java",
    "//chrome/browser/ui/android/theme:java",
    "//chrome/browser/ui/browser_window/public/android:java",
    "//chrome/browser/ui/messages/android:java",
    "//chrome/browser/ui/side_panel/android:java",
    "//chrome/browser/ui/side_ui/public:java",
    "//chrome/browser/url_constants/android:java",
    "//chrome/browser/user_education:java",
    "//chrome/browser/util:java",
    "//components/browser_ui/bottomsheet/android:java",
    "//components/browser_ui/desktop_windowing/android:java",
    "//components/browser_ui/device_lock/android:java",
    "//components/browser_ui/settings/android:java",
    "//components/browser_ui/styles/android:java",
    "//components/browser_ui/styles/android:java_resources",
    "//components/browser_ui/util/android:java",
    "//components/browser_ui/widget/android:java",
    "//components/browser_ui/widget/android:java_resources",
    "//components/dom_distiller/core/android:dom_distiller_core_java",
    "//components/embedder_support/android:context_menu_java",
    "//components/embedder_support/android:util_java",
    "//components/feature_engagement:feature_engagement_java",
    "//components/omnibox/browser:browser_java",
    "//components/omnibox/browser:java_resources",
    "//components/omnibox/common:features_java",
    "//components/prefs/android:java",
    "//components/profile_metrics:browser_profile_type_enum_java",
    "//components/search_engines/android:java",
    "//components/security_state/content/android:java",
    "//components/security_state/core:security_state_enums_java",
    "//components/segmentation_platform/public:public_java",
    "//components/signin/public/android:java",
    "//components/strings:components_strings_grd",
    "//components/sync/android:sync_java",
    "//components/user_prefs/android:java",
    "//content/public/android:content_java",
    "//google_apis/gaia/android:java",
    "//third_party/android_deps:material_design_java",
    "//third_party/androidx:androidx_annotation_annotation_experimental_java",
    "//third_party/androidx:androidx_annotation_annotation_java",
    "//third_party/androidx:androidx_appcompat_appcompat_java",
    "//third_party/androidx:androidx_appcompat_appcompat_resources_java",
    "//third_party/androidx:androidx_coordinatorlayout_coordinatorlayout_java",
    "//third_party/androidx:androidx_core_core_java",
    "//third_party/androidx:androidx_fragment_fragment_java",
    "//third_party/androidx:androidx_interpolator_interpolator_java",
    "//third_party/androidx:androidx_preference_preference_java",
    "//third_party/androidx:androidx_vectordrawable_vectordrawable_java",
    "//third_party/jni_zero:jni_zero_java",
    "//third_party/metrics_proto:metrics_proto_java",
    "//ui/accessibility:ax_base_java",
    "//ui/accessibility:keyboard_focus_java",
    "//ui/android:ui_full_java",
    "//ui/android:ui_utils_java",
    "//ui/edge_to_edge:java",
    "//url:gurl_java",
  ]

  srcjar_deps = [ ":jni_headers" ]

  resources_package = "org.chromium.chrome.browser.toolbar"
}

java_group("java") {
  deps = [
    ":core_java",
    "//components/messages/android:java",
  ]
  if (enable_extensions_core) {
    deps += [ "java/src/org/chromium/chrome/browser/toolbar/extensions:java" ]
  }
}

generate_jni("jni_headers") {
  sources = [
    "java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java",
    "java/src/org/chromium/chrome/browser/toolbar/bottom/ScrollingBottomViewSceneLayer.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ResourceFactory.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java",
  ]
}

android_resources("java_resources") {
  sources = [
    "java/res/drawable-hdpi/badge_update_dark.png",
    "java/res/drawable-hdpi/badge_update_light.png",
    "java/res/drawable-hdpi/incognito_small.png",
    "java/res/drawable-hdpi/modern_location_bar.9.png",
    "java/res/drawable-mdpi/badge_update_dark.png",
    "java/res/drawable-mdpi/badge_update_light.png",
    "java/res/drawable-mdpi/incognito_small.png",
    "java/res/drawable-mdpi/modern_location_bar.9.png",
    "java/res/drawable-night/home_surface_search_box_background.xml",
    "java/res/drawable-xhdpi/badge_update_dark.png",
    "java/res/drawable-xhdpi/badge_update_light.png",
    "java/res/drawable-xhdpi/incognito_small.png",
    "java/res/drawable-xhdpi/modern_location_bar.9.png",
    "java/res/drawable-xxhdpi/badge_update_dark.png",
    "java/res/drawable-xxhdpi/badge_update_light.png",
    "java/res/drawable-xxhdpi/incognito_small.png",
    "java/res/drawable-xxhdpi/modern_location_bar.9.png",
    "java/res/drawable-xxxhdpi/badge_update_dark.png",
    "java/res/drawable-xxxhdpi/badge_update_light.png",
    "java/res/drawable-xxxhdpi/incognito_small.png",
    "java/res/drawable/fake_search_box_background.xml",
    "java/res/drawable/fake_search_box_white_with_primary_color_alpha_2.xml",
    "java/res/drawable/home_surface_search_box_background.xml",
    "java/res/drawable/ic_close_all_tabs.xml",
    "java/res/drawable/ic_widgets.xml",
    "java/res/drawable/modern_toolbar_text_box_background_with_primary_color_square.xml",
    "java/res/drawable/optional_button_background.xml",
    "java/res/drawable/optional_button_background_baseline.xml",
    "java/res/drawable/optional_button_background_selector.xml",
    "java/res/drawable/optional_button_background_selector_baseline.xml",
    "java/res/drawable/optional_button_background_selector_square.xml",
    "java/res/drawable/optional_button_background_square.xml",
    "java/res/drawable/toolbar_menu_button_ripple.xml",
    "java/res/drawable/toolbar_on_bottom.xml",
    "java/res/drawable/toolbar_on_top.xml",
    "java/res/drawable/toolbar_position_bottom_to_top.xml",
    "java/res/drawable/toolbar_position_state_animation.xml",
    "java/res/drawable/toolbar_position_top_to_bottom.xml",
    "java/res/layout/adaptive_toolbar_header_preference.xml",
    "java/res/layout/address_bar_header_preference.xml",
    "java/res/layout/address_bar_preference.xml",
    "java/res/layout/bottom_control_container.xml",
    "java/res/layout/control_container.xml",
    "java/res/layout/menu_button.xml",
    "java/res/layout/navigation_popup_item.xml",
    "java/res/layout/optional_button_layout.xml",
    "java/res/layout/radio_button_group_adaptive_toolbar_preference.xml",
    "java/res/layout/sheet_tab_toolbar.xml",
    "java/res/layout/signin_button_view.xml",
    "java/res/layout/toolbar_phone.xml",
    "java/res/layout/toolbar_progress_bar.xml",
    "java/res/layout/toolbar_tablet.xml",
    "java/res/values-night/drawables.xml",
    "java/res/values-sw600dp/dimens.xml",
    "java/res/values/dimens.xml",
    "java/res/values/drawables.xml",
    "java/res/values/ids.xml",
    "java/res/values/styles.xml",
    "java/res/values/values.xml",
    "java/res/xml/adaptive_toolbar_preference.xml",
    "java/res/xml/address_bar_settings.xml",
  ]

  deps = [
    "//chrome/app:java_strings_grd",
    "//chrome/browser/ui/android/bars_common:java_resources",
    "//chrome/browser/ui/android/strings:ui_strings_grd",
    "//chrome/browser/ui/android/theme:java_resources",
    "//components/browser_ui/styles/android:java_resources",
    "//ui/android:ui_java_resources",
  ]
}

robolectric_library("junit") {
  resources_package = "org.chromium.chrome.browser.toolbar"
  sources = [
    "java/src/org/chromium/chrome/browser/toolbar/ConstraintsCheckerTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/FormFieldFocusedSupplierTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/MiniOriginBarControllerTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarLongPressMenuHandlerUnitTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarPositionControllerTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarProgressBarLayerTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarProgressBarTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/ToolbarVariationUtilsUnitTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/VoiceToolbarButtonControllerUnitTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveButtonActionMenuCoordinatorTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonControllerTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarFeaturesUnitTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictorTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/OpenInBrowserButtonControllerUnitTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/OptionalNewTabButtonControllerUnitTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/TranslateToolbarButtonControllerUnitTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/adaptive/settings/AdaptiveToolbarSettingsFragmentTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/back_button/BackButtonMediatorTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/bottom/BottomBarConstraintsSupplierUnitTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediatorTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsViewBinderTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/home_button/HomeButtonCoordinatorTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/incognito/IncognitoIndicatorCoordinatorUnitTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/load_progress/LoadProgressMediatorTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/menu_button/MenuButtonCoordinatorTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/menu_button/MenuButtonMediatorTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/menu_button/MenuButtonTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/optional_button/BaseButtonDataProviderTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/optional_button/OptionalButtonCoordinatorTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/optional_button/OptionalButtonViewTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/reload_button/ReloadButtonMediatorTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/settings/AddressBarSettingsFragmentUnitTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/OptionalBrowsingModeButtonControllerTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/PhoneCaptureStateTokenTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/TabSwitcherActionMenuCoordinatorUnitTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/TabletCaptureStateTokenTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ToggleTabStackButtonCoordinatorTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainerTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/ToolbarTabletUnitTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinatorUnitTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarOverlayMediatorTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/VisibleUrlTextTest.java",
    "java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinatorUnitTest.java",
  ]

  deps = [
    ":adaptive_features_java",
    ":java",
    ":java_resources",
    ":optional_button_java",
    ":variation_utils_java",
    "//base:base_java",
    "//base:base_java_test_support",
    "//base:base_junit_test_support",
    "//cc:cc_java",
    "//chrome/android:chrome_app_java_resources",
    "//chrome/android:chrome_java",
    "//chrome/android/features/tab_ui/public:java",
    "//chrome/browser/actor/android:java",
    "//chrome/browser/android/lifecycle:java",
    "//chrome/browser/browser_controls/android:java",
    "//chrome/browser/feature_engagement:java",
    "//chrome/browser/flags:java",
    "//chrome/browser/fullscreen/android:java",
    "//chrome/browser/glic:public_java",
    "//chrome/browser/glic/android:jni_headers_java",
    "//chrome/browser/incognito:java",
    "//chrome/browser/language/android:java",
    "//chrome/browser/preferences:java",
    "//chrome/browser/prefs/android:java",
    "//chrome/browser/profiles/android:java",
    "//chrome/browser/search_engines/android:java",
    "//chrome/browser/settings:java",
    "//chrome/browser/signin/services/android:java",
    "//chrome/browser/sync/android:java",
    "//chrome/browser/tab:java",
    "//chrome/browser/tab_ui/android:java",
    "//chrome/browser/tabmodel:java",
    "//chrome/browser/tabwindow:java",
    "//chrome/browser/ui/android/actions:java",
    "//chrome/browser/ui/android/appmenu:java",
    "//chrome/browser/ui/android/desktop_windowing:java",
    "//chrome/browser/ui/android/edge_to_edge:java",
    "//chrome/browser/ui/android/edge_to_edge/internal:java",
    "//chrome/browser/ui/android/extensions:java",
    "//chrome/browser/ui/android/extensions:test_support_java",
    "//chrome/browser/ui/android/layouts:java",
    "//chrome/browser/ui/android/multiwindow:java",
    "//chrome/browser/ui/android/native_page:java",
    "//chrome/browser/ui/android/omnibox:java",
    "//chrome/browser/ui/android/omnibox:java_resources",
    "//chrome/browser/ui/android/overlay_panel:java",
    "//chrome/browser/ui/android/signin:java",
    "//chrome/browser/ui/android/tabstrip:enums_java",
    "//chrome/browser/ui/android/theme:java",
    "//chrome/browser/ui/android/toolbar:java_resources",
    "//chrome/browser/ui/browser_window/public/android:java",
    "//chrome/browser/ui/messages/android:java",
    "//chrome/browser/ui/side_ui/public:java",
    "//chrome/browser/url_constants/android:java",
    "//chrome/browser/user_education:java",
    "//chrome/test/android:chrome_java_unit_test_support",
    "//components/browser_ui/bottomsheet/android:java",
    "//components/browser_ui/desktop_windowing/android:java",
    "//components/browser_ui/device_lock/android:java",
    "//components/browser_ui/settings/android:java",
    "//components/browser_ui/styles/android:java",
    "//components/browser_ui/theme/android:java_resources",
    "//components/browser_ui/util/android:test_support_java",
    "//components/browser_ui/widget/android:java",
    "//components/embedder_support/android:util_java",
    "//components/feature_engagement:feature_engagement_java",
    "//components/omnibox/browser:browser_java",
    "//components/omnibox/common:features_java",
    "//components/prefs/android:java",
    "//components/search_engines/android:java",
    "//components/segmentation_platform/public/proto:segmentation_platform_proto_java",
    "//components/signin/public/android:java",
    "//components/signin/public/android:signin_java_test_support",
    "//components/sync/android:sync_java",
    "//components/user_prefs/android:java",
    "//content/public/android:content_full_java",
    "//content/public/test/android:content_java_test_support",
    "//google_apis/gaia/android:java",
    "//third_party/android_deps:espresso_java",
    "//third_party/android_deps:guava_android_java",
    "//third_party/android_deps:material_design_java",
    "//third_party/androidx:androidx_annotation_annotation_java",
    "//third_party/androidx:androidx_appcompat_appcompat_java",
    "//third_party/androidx:androidx_appcompat_appcompat_resources_java",
    "//third_party/androidx:androidx_coordinatorlayout_coordinatorlayout_java",
    "//third_party/androidx:androidx_core_core_java",
    "//third_party/androidx:androidx_fragment_fragment_java",
    "//third_party/androidx:androidx_fragment_fragment_testing_java",
    "//third_party/androidx:androidx_lifecycle_lifecycle_common_java",
    "//third_party/androidx:androidx_preference_preference_java",
    "//third_party/androidx:androidx_recyclerview_recyclerview_java",
    "//third_party/androidx:androidx_test_core_java",
    "//third_party/androidx:androidx_test_ext_junit_java",
    "//third_party/androidx:androidx_test_runner_java",
    "//third_party/google-truth:google_truth_java",
    "//third_party/hamcrest:hamcrest_java",
    "//third_party/hamcrest:hamcrest_library_java",
    "//third_party/jni_zero:jni_zero_java",
    "//third_party/junit",
    "//third_party/mockito:mockito_java",
    "//ui/android:ui_java",
    "//ui/android:ui_java_test_support",
    "//ui/edge_to_edge:java",
    "//url:gurl_java",
    "//url:gurl_junit_test_support",
  ]

  if (enable_extensions_core) {
    deps += [ "java/src/org/chromium/chrome/browser/toolbar/extensions:junit" ]
  }
}

if (enable_extensions_core) {
  java_group("javatests") {
    testonly = true
    deps =
        [ "java/src/org/chromium/chrome/browser/toolbar/extensions:javatests" ]
  }
}

source_set("toolbar") {
  sources = [
    "adaptive_toolbar_bridge.cc",
    "adaptive_toolbar_bridge.h",
    "adaptive_toolbar_enums.h",
    "location_bar_model_android.cc",
    "location_bar_model_android.h",
  ]
  deps = [
    "//base",
    "//chrome/browser/profiles",
    "//chrome/browser/search",
    "//chrome/browser/segmentation_platform",
    "//chrome/browser/ui/android/toolbar:adaptive_jni_headers",
    "//chrome/browser/ui/android/toolbar:jni_headers",
    "//chrome/browser/ui/toolbar",
    "//chrome/common",
    "//components/omnibox/browser",
    "//components/omnibox/common",
    "//components/segmentation_platform/public",
    "//content/public/browser",
    "//ui/base",
    "//url",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "adaptive_toolbar_bridge_unittest.cc",
    "location_bar_model_android_unittest.cc",
  ]
  deps = [
    ":toolbar",
    "//base",
    "//base/test:test_support",
    "//chrome/browser/segmentation_platform",
    "//chrome/browser/ui",
    "//chrome/test:test_support",
    "//components/segmentation_platform/public:test_support",
    "//content/test:test_support",
    "//testing/gmock",
    "//testing/gtest",
  ]
}

java_cpp_enum("adaptive_toolbar_enums_java") {
  sources = [ "adaptive_toolbar_enums.h" ]
}
