| # Copyright 2015 The Chromium Authors. All rights reserved. | 
 | # Use of this source code is governed by a BSD-style license that can be | 
 | # found in the LICENSE file. | 
 |  | 
 | import("//build/config/android/rules.gni") | 
 | import("//testing/test.gni") | 
 |  | 
 | assert(is_android) | 
 |  | 
 | component("android") { | 
 |   output_name = "ui_android" | 
 |   sources = [ | 
 |     "animation_utils.h", | 
 |     "context_provider_factory.cc", | 
 |     "context_provider_factory.h", | 
 |     "delegated_frame_host_android.cc", | 
 |     "delegated_frame_host_android.h", | 
 |     "edge_effect.cc", | 
 |     "edge_effect.h", | 
 |     "edge_effect_base.cc", | 
 |     "edge_effect_base.h", | 
 |     "edge_effect_l.cc", | 
 |     "edge_effect_l.h", | 
 |     "overscroll_glow.cc", | 
 |     "overscroll_glow.h", | 
 |     "overscroll_refresh.cc", | 
 |     "overscroll_refresh.h", | 
 |     "resources/crushed_sprite_resource.cc", | 
 |     "resources/crushed_sprite_resource.h", | 
 |     "resources/resource_manager.cc", | 
 |     "resources/resource_manager.h", | 
 |     "resources/resource_manager_impl.cc", | 
 |     "resources/resource_manager_impl.h", | 
 |     "resources/ui_resource_provider.h", | 
 |     "ui_android_export.h", | 
 |     "ui_android_jni_registrar.cc", | 
 |     "ui_android_jni_registrar.h", | 
 |     "view_android.cc", | 
 |     "view_android.h", | 
 |     "window_android.cc", | 
 |     "window_android.h", | 
 |     "window_android_compositor.h", | 
 |     "window_android_observer.h", | 
 |   ] | 
 |  | 
 |   defines = [ "UI_ANDROID_IMPLEMENTATION" ] | 
 |  | 
 |   deps = [ | 
 |     ":java_enums_srcjar", | 
 |     ":ui_android_jni_headers", | 
 |     "//base", | 
 |     "//cc", | 
 |     "//cc/surfaces", | 
 |     "//skia", | 
 |     "//ui/display", | 
 |     "//ui/gfx", | 
 |     "//ui/gfx/geometry", | 
 |   ] | 
 | } | 
 |  | 
 | generate_jni("ui_android_jni_headers") { | 
 |   sources = [ | 
 |     "java/src/org/chromium/ui/base/ViewAndroidDelegate.java", | 
 |     "java/src/org/chromium/ui/base/WindowAndroid.java", | 
 |     "java/src/org/chromium/ui/resources/ResourceManager.java", | 
 |   ] | 
 |   jni_package = "ui_android" | 
 | } | 
 |  | 
 | java_cpp_enum("java_enums_srcjar") { | 
 |   sources = [ | 
 |     "../base/ime/text_input_type.h", | 
 |     "../base/page_transition_types.h", | 
 |     "../base/touch/touch_device.h", | 
 |     "../base/window_open_disposition.h", | 
 |     "../gfx/android/java_bitmap.h", | 
 |     "resources/resource_manager.h", | 
 |     "resources/system_ui_resource_type.h", | 
 |   ] | 
 | } | 
 |  | 
 | java_strings_grd("ui_strings_grd") { | 
 |   grd_file = "java/strings/android_ui_strings.grd" | 
 |   outputs = [ | 
 |     "values-am/android_ui_strings.xml", | 
 |     "values-ar/android_ui_strings.xml", | 
 |     "values-bg/android_ui_strings.xml", | 
 |     "values-ca/android_ui_strings.xml", | 
 |     "values-cs/android_ui_strings.xml", | 
 |     "values-da/android_ui_strings.xml", | 
 |     "values-de/android_ui_strings.xml", | 
 |     "values-el/android_ui_strings.xml", | 
 |     "values/android_ui_strings.xml", | 
 |     "values-en-rGB/android_ui_strings.xml", | 
 |     "values-es/android_ui_strings.xml", | 
 |     "values-es-rUS/android_ui_strings.xml", | 
 |     "values-fa/android_ui_strings.xml", | 
 |     "values-fi/android_ui_strings.xml", | 
 |     "values-tl/android_ui_strings.xml", | 
 |     "values-fr/android_ui_strings.xml", | 
 |     "values-hi/android_ui_strings.xml", | 
 |     "values-hr/android_ui_strings.xml", | 
 |     "values-hu/android_ui_strings.xml", | 
 |     "values-in/android_ui_strings.xml", | 
 |     "values-it/android_ui_strings.xml", | 
 |     "values-iw/android_ui_strings.xml", | 
 |     "values-ja/android_ui_strings.xml", | 
 |     "values-ko/android_ui_strings.xml", | 
 |     "values-lt/android_ui_strings.xml", | 
 |     "values-lv/android_ui_strings.xml", | 
 |     "values-nl/android_ui_strings.xml", | 
 |     "values-nb/android_ui_strings.xml", | 
 |     "values-pl/android_ui_strings.xml", | 
 |     "values-pt-rBR/android_ui_strings.xml", | 
 |     "values-pt-rPT/android_ui_strings.xml", | 
 |     "values-ro/android_ui_strings.xml", | 
 |     "values-ru/android_ui_strings.xml", | 
 |     "values-sk/android_ui_strings.xml", | 
 |     "values-sl/android_ui_strings.xml", | 
 |     "values-sr/android_ui_strings.xml", | 
 |     "values-sv/android_ui_strings.xml", | 
 |     "values-sw/android_ui_strings.xml", | 
 |     "values-th/android_ui_strings.xml", | 
 |     "values-tr/android_ui_strings.xml", | 
 |     "values-uk/android_ui_strings.xml", | 
 |     "values-vi/android_ui_strings.xml", | 
 |     "values-zh-rCN/android_ui_strings.xml", | 
 |     "values-zh-rTW/android_ui_strings.xml", | 
 |   ] | 
 | } | 
 |  | 
 | android_resources("ui_java_resources") { | 
 |   custom_package = "org.chromium.ui" | 
 |   resource_dirs = [ "java/res" ] | 
 |   deps = [ | 
 |     ":ui_strings_grd", | 
 |   ] | 
 | } | 
 |  | 
 | android_library("ui_java") { | 
 |   java_files = [ | 
 |     "java/src/org/chromium/ui/ColorPickerAdvanced.java", | 
 |     "java/src/org/chromium/ui/ColorPickerAdvancedComponent.java", | 
 |     "java/src/org/chromium/ui/ColorPickerDialog.java", | 
 |     "java/src/org/chromium/ui/ColorPickerMoreButton.java", | 
 |     "java/src/org/chromium/ui/ColorPickerSimple.java", | 
 |     "java/src/org/chromium/ui/ColorSuggestion.java", | 
 |     "java/src/org/chromium/ui/ColorSuggestionListAdapter.java", | 
 |     "java/src/org/chromium/ui/DropdownAdapter.java", | 
 |     "java/src/org/chromium/ui/DropdownDividerDrawable.java", | 
 |     "java/src/org/chromium/ui/DropdownItem.java", | 
 |     "java/src/org/chromium/ui/DropdownPopupWindow.java", | 
 |     "java/src/org/chromium/ui/OnColorChangedListener.java", | 
 |     "java/src/org/chromium/ui/UiUtils.java", | 
 |     "java/src/org/chromium/ui/VSyncMonitor.java", | 
 |     "java/src/org/chromium/ui/autofill/AutofillDelegate.java", | 
 |     "java/src/org/chromium/ui/autofill/AutofillKeyboardAccessory.java", | 
 |     "java/src/org/chromium/ui/autofill/AutofillPopup.java", | 
 |     "java/src/org/chromium/ui/autofill/AutofillSuggestion.java", | 
 |     "java/src/org/chromium/ui/base/ActivityWindowAndroid.java", | 
 |     "java/src/org/chromium/ui/base/AndroidPermissionDelegate.java", | 
 |     "java/src/org/chromium/ui/base/Clipboard.java", | 
 |     "java/src/org/chromium/ui/base/DeviceFormFactor.java", | 
 |     "java/src/org/chromium/ui/base/LocalizationUtils.java", | 
 |     "java/src/org/chromium/ui/base/ResourceBundle.java", | 
 |     "java/src/org/chromium/ui/base/SelectFileDialog.java", | 
 |     "java/src/org/chromium/ui/base/TouchDevice.java", | 
 |     "java/src/org/chromium/ui/base/ViewAndroidDelegate.java", | 
 |     "java/src/org/chromium/ui/base/WindowAndroid.java", | 
 |     "java/src/org/chromium/ui/gfx/BitmapHelper.java", | 
 |     "java/src/org/chromium/ui/gfx/DeviceDisplayInfo.java", | 
 |     "java/src/org/chromium/ui/gfx/ViewConfigurationHelper.java", | 
 |     "java/src/org/chromium/ui/gl/SurfaceTextureListener.java", | 
 |     "java/src/org/chromium/ui/gl/SurfaceTexturePlatformWrapper.java", | 
 |     "java/src/org/chromium/ui/interpolators/BakedBezierInterpolator.java", | 
 |     "java/src/org/chromium/ui/picker/ChromeDatePickerDialog.java", | 
 |     "java/src/org/chromium/ui/picker/DateDialogNormalizer.java", | 
 |     "java/src/org/chromium/ui/picker/DateTimePickerDialog.java", | 
 |     "java/src/org/chromium/ui/picker/DateTimeSuggestion.java", | 
 |     "java/src/org/chromium/ui/picker/DateTimeSuggestionListAdapter.java", | 
 |     "java/src/org/chromium/ui/picker/InputDialogContainer.java", | 
 |     "java/src/org/chromium/ui/picker/MonthPicker.java", | 
 |     "java/src/org/chromium/ui/picker/MonthPickerDialog.java", | 
 |     "java/src/org/chromium/ui/picker/MultiFieldTimePickerDialog.java", | 
 |     "java/src/org/chromium/ui/picker/TwoFieldDatePicker.java", | 
 |     "java/src/org/chromium/ui/picker/TwoFieldDatePickerDialog.java", | 
 |     "java/src/org/chromium/ui/picker/WeekPicker.java", | 
 |     "java/src/org/chromium/ui/picker/WeekPickerDialog.java", | 
 |     "java/src/org/chromium/ui/resources/LayoutResource.java", | 
 |     "java/src/org/chromium/ui/resources/Resource.java", | 
 |     "java/src/org/chromium/ui/resources/ResourceLoader.java", | 
 |     "java/src/org/chromium/ui/resources/ResourceManager.java", | 
 |     "java/src/org/chromium/ui/resources/async/AsyncPreloadResourceLoader.java", | 
 |     "java/src/org/chromium/ui/resources/dynamics/BitmapDynamicResource.java", | 
 |     "java/src/org/chromium/ui/resources/dynamics/DynamicResource.java", | 
 |     "java/src/org/chromium/ui/resources/dynamics/DynamicResourceLoader.java", | 
 |     "java/src/org/chromium/ui/resources/dynamics/ViewResourceAdapter.java", | 
 |     "java/src/org/chromium/ui/resources/dynamics/ViewResourceInflater.java", | 
 |     "java/src/org/chromium/ui/resources/sprites/CrushedSpriteResource.java", | 
 |     "java/src/org/chromium/ui/resources/sprites/CrushedSpriteResourceLoader.java", | 
 |     "java/src/org/chromium/ui/resources/statics/NinePatchData.java", | 
 |     "java/src/org/chromium/ui/resources/statics/StaticResource.java", | 
 |     "java/src/org/chromium/ui/resources/statics/StaticResourceLoader.java", | 
 |     "java/src/org/chromium/ui/resources/system/SystemResourceLoader.java", | 
 |     "java/src/org/chromium/ui/text/NoUnderlineClickableSpan.java", | 
 |     "java/src/org/chromium/ui/text/SpanApplier.java", | 
 |     "java/src/org/chromium/ui/widget/ButtonCompat.java", | 
 |     "java/src/org/chromium/ui/widget/TextViewWithClickableSpans.java", | 
 |     "java/src/org/chromium/ui/widget/TextViewWithLeading.java", | 
 |     "java/src/org/chromium/ui/widget/Toast.java", | 
 |   ] | 
 |   deps = [ | 
 |     ":ui_java_resources", | 
 |     "//base:base_java", | 
 |     "//third_party/android_tools:android_support_annotations_java", | 
 |   ] | 
 |   srcjar_deps = [ ":java_enums_srcjar" ] | 
 | } | 
 |  | 
 | android_library("ui_javatests") { | 
 |   java_files = [ | 
 |     "javatests/src/org/chromium/ui/picker/DateTimePickerDialogTest.java", | 
 |     "javatests/src/org/chromium/ui/resources/sprites/CrushedSpriteResourceTest.java", | 
 |   ] | 
 |   testonly = true | 
 |   deps = [ | 
 |     ":ui_java", | 
 |     "//base:base_java", | 
 |     "//base:base_java_test_support", | 
 |   ] | 
 | } | 
 |  | 
 | # GYP: //ui/android/ui_android.gyp:ui_junit_tests | 
 | junit_binary("ui_junit_tests") { | 
 |   java_files = [ | 
 |     "junit/src/org/chromium/ui/picker/DateDialogNormalizerTest.java", | 
 |     "junit/src/org/chromium/ui/text/SpanApplierTest.java", | 
 |   ] | 
 |   deps = [ | 
 |     "//base:base_java", | 
 |     "//ui/android:ui_java", | 
 |   ] | 
 | } | 
 |  | 
 | test("ui_android_unittests") { | 
 |   sources = [ | 
 |     "overscroll_refresh_unittest.cc", | 
 |     "resources/resource_manager_impl_unittest.cc", | 
 |     "run_all_unittests.cc", | 
 |   ] | 
 |   deps = [ | 
 |     ":android", | 
 |     ":java_enums_srcjar", | 
 |     ":ui_java", | 
 |     "//base", | 
 |     "//base/test:test_support", | 
 |     "//cc", | 
 |     "//cc:test_support", | 
 |     "//skia", | 
 |     "//testing/gmock", | 
 |     "//testing/gtest", | 
 |     "//ui/base", | 
 |     "//ui/gfx", | 
 |     "//ui/resources:ui_test_pak", | 
 |   ] | 
 | } |