# Copyright 2014 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/jumbo.gni") import("//build/config/ui.gni") import("//testing/test.gni") jumbo_component("compositor") { sources = [ "animation_throughput_reporter.cc", "animation_throughput_reporter.h", "callback_layer_animation_observer.cc", "callback_layer_animation_observer.h", "canvas_painter.cc", "canvas_painter.h", "clip_recorder.cc", "clip_recorder.h", "closure_animation_observer.cc", "closure_animation_observer.h", "compositor.cc", "compositor.h", "compositor_animation_observer.h", "compositor_export.h", "compositor_lock.cc", "compositor_lock.h", "compositor_observer.h", "compositor_switches.cc", "compositor_switches.h", "debug_utils.cc", "debug_utils.h", "float_animation_curve_adapter.cc", "float_animation_curve_adapter.h", "layer.cc", "layer.h", "layer_animation_delegate.h", "layer_animation_element.cc", "layer_animation_element.h", "layer_animation_observer.cc", "layer_animation_observer.h", "layer_animation_sequence.cc", "layer_animation_sequence.h", "layer_animator.cc", "layer_animator.h", "layer_animator_collection.cc", "layer_animator_collection.h", "layer_delegate.cc", "layer_delegate.h", "layer_observer.h", "layer_owner.cc", "layer_owner.h", "layer_threaded_animation_delegate.h", "layer_tree_owner.cc", "layer_tree_owner.h", "layer_type.cc", "layer_type.h", "overscroll/scroll_input_handler.cc", "overscroll/scroll_input_handler.h", "paint_cache.cc", "paint_cache.h", "paint_context.cc", "paint_context.h", "paint_recorder.cc", "paint_recorder.h", "property_change_reason.h", "scoped_animation_duration_scale_mode.cc", "scoped_animation_duration_scale_mode.h", "scoped_layer_animation_settings.cc", "scoped_layer_animation_settings.h", "throughput_tracker.cc", "throughput_tracker.h", "throughput_tracker_host.h", "transform_animation_curve_adapter.cc", "transform_animation_curve_adapter.h", "transform_recorder.cc", "transform_recorder.h", ] if (is_mac) { sources += [ "recyclable_compositor_mac.cc", "recyclable_compositor_mac.h", ] } defines = [ "COMPOSITOR_IMPLEMENTATION" ] public_deps = [ "//cc" ] deps = [ "//base", "//base/third_party/dynamic_annotations", "//cc/animation", "//cc/paint", "//components/viz/host", "//gpu/command_buffer/common", "//skia", "//ui/base", "//ui/display", "//ui/events", "//ui/gfx", "//ui/gfx/animation", "//ui/gfx/geometry", "//ui/gl", ] if (is_mac) { deps += [ "//ui/accelerated_widget_mac" ] } if (is_win && use_aura) { # TODO(sky): before we make this real need to remove # IDR_BITMAP_BRUSH_IMAGE. deps += [ "//ui/resources" ] } } jumbo_static_library("test_support") { testonly = true sources = [ "test/direct_layer_tree_frame_sink.cc", "test/direct_layer_tree_frame_sink.h", "test/draw_waiter_for_test.cc", "test/draw_waiter_for_test.h", "test/fake_context_factory.cc", "test/fake_context_factory.h", "test/in_process_context_factory.cc", "test/in_process_context_factory.h", "test/in_process_context_provider.cc", "test/in_process_context_provider.h", "test/layer_animation_observer_test_api.cc", "test/layer_animation_observer_test_api.h", "test/layer_animator_test_controller.cc", "test/layer_animator_test_controller.h", "test/multi_layer_animator_test_controller.cc", "test/multi_layer_animator_test_controller.h", "test/multi_layer_animator_test_controller_delegate.h", "test/test_compositor_host.h", "test/test_context_factories.cc", "test/test_context_factories.h", "test/test_layer_animation_delegate.cc", "test/test_layer_animation_delegate.h", "test/test_layer_animation_observer.cc", "test/test_layer_animation_observer.h", "test/test_layers.cc", "test/test_layers.h", "test/test_suite.cc", "test/test_suite.h", "test/test_utils.cc", "test/test_utils.h", ] if (is_android) { sources += [ "test/test_compositor_host_android.cc" ] } if (is_mac) { sources += [ "test/test_compositor_host_mac.mm" ] } if (is_win) { sources += [ "test/test_compositor_host_win.cc" ] } public_deps = [ ":compositor" ] deps = [ "//base/test:test_support", "//cc", "//cc:test_support", "//components/viz/host", "//components/viz/service", "//components/viz/test:test_support", "//gpu/command_buffer/client:gles2_implementation", "//gpu/command_buffer/client:raster", "//gpu/command_buffer/common", "//gpu/ipc:gl_in_process_context", "//gpu/skia_bindings", "//skia", "//testing/gtest", "//ui/base", "//ui/display", "//ui/gfx", "//ui/gfx/geometry", "//ui/gl:test_support", ] if (use_x11) { deps += [ "//ui/events/x", "//ui/gfx/x", ] } if (is_mac) { deps += [ "//gpu/ipc/service:service", "//ui/accelerated_widget_mac", ] } if (use_ozone) { sources += [ "test/test_compositor_host_ozone.cc", "test/test_compositor_host_ozone.h", ] deps += [ "//ui/ozone", "//ui/platform_window", ] } if (use_x11) { sources += [ "test/test_compositor_host_x11.cc", "test/test_compositor_host_x11.h", ] } if (is_linux || is_chromeos) { sources += [ "test/test_compositor_host_linux.cc" ] } } test("compositor_unittests") { use_xvfb = use_xvfb_in_this_config sources = [ "animation_throughput_reporter_unittest.cc", "callback_layer_animation_observer_unittest.cc", "canvas_painter_unittest.cc", "compositor_lock_unittest.cc", "compositor_unittest.cc", "layer_animation_element_unittest.cc", "layer_animation_sequence_unittest.cc", "layer_animator_unittest.cc", "layer_owner_unittest.cc", "layer_unittest.cc", "run_all_unittests.cc", "transform_animation_curve_adapter_unittest.cc", ] data = [ "//ui/gfx/test/data/compositor/" ] deps = [ ":compositor", ":test_support", "//base", "//base/test:test_support", "//cc", "//cc:test_support", "//components/viz/common", "//components/viz/test:test_support", "//mojo/core/embedder", "//skia", "//testing/gmock", "//testing/gtest", "//ui/base", "//ui/gfx", "//ui/gfx/geometry", "//ui/gl", "//ui/resources", ] if (is_linux || is_chromeos) { deps += [ "//third_party/mesa_headers" ] } }