# Copyright 2016 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("//mojo/public/tools/bindings/mojom.gni") # C++ headers and sources that can be used outside ash. component("cpp") { sources = [ "accessibility_types.h", "app_types.h", "ash_pref_names.cc", "ash_pref_names.h", "ash_public_export.h", "ash_switches.cc", "ash_switches.h", "ash_typography.cc", "ash_typography.h", "config.h", "immersive/immersive_context.cc", "immersive/immersive_context.h", "immersive/immersive_focus_watcher.h", "immersive/immersive_fullscreen_controller.cc", "immersive/immersive_fullscreen_controller.h", "immersive/immersive_fullscreen_controller_delegate.h", "immersive/immersive_gesture_handler.h", "immersive/immersive_handler_factory.cc", "immersive/immersive_handler_factory.h", "immersive/immersive_revealed_lock.cc", "immersive/immersive_revealed_lock.h", "mus_property_mirror_ash.cc", "mus_property_mirror_ash.h", "remote_shelf_item_delegate.cc", "remote_shelf_item_delegate.h", "scale_utility.cc", "scale_utility.h", "session_types.h", "shelf_item.cc", "shelf_item.h", "shelf_item_delegate.cc", "shelf_item_delegate.h", "shelf_model.cc", "shelf_model.h", "shelf_model_observer.h", "shelf_prefs.cc", "shelf_prefs.h", "shelf_types.cc", "shelf_types.h", "shell_window_ids.cc", "shell_window_ids.h", "stylus_utils.cc", "stylus_utils.h", "window_pin_type.cc", "window_pin_type.h", "window_properties.cc", "window_properties.h", "window_state_type.cc", "window_state_type.h", "window_style.cc", "window_style.h", ] defines = [ "ASH_PUBLIC_IMPLEMENTATION" ] deps = [ "//components/prefs", "//mojo/common:common_custom_types", "//skia/public/interfaces", "//ui/aura", "//ui/display", "//ui/events/devices", "//ui/views", "//ui/views/mus", ] public_deps = [ "//ash/public/interfaces:interfaces_internal", "//base", "//ui/gfx", ] allow_circular_includes_from = [ "//ash/public/interfaces:interfaces_internal" ] output_name = "ash_public_cpp" } # Using a test service because the traits need to pass handles around. Revisit # this after Deserialize(Serialize()) API works with handles. mojom("test_interfaces") { visibility = [ ":unit_tests" ] sources = [ "shelf_struct_traits_test_service.mojom", ] public_deps = [ "//ash/public/interfaces:interfaces_internal", ] } source_set("unit_tests") { testonly = true sources = [ "shelf_model_unittest.cc", "shelf_struct_traits_unittest.cc", ] deps = [ ":cpp", ":test_interfaces", "//base", "//testing/gtest", "//ui/gfx:test_support", ] }