| # 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/ui.gni") |
| import("//mojo/public/mojo_application.gni") |
| |
| if (is_android) { |
| import("//build/config/android/config.gni") |
| import("//build/config/android/rules.gni") |
| import("//mojo/public/tools/bindings/mojom.gni") |
| |
| group("native_viewport") { |
| deps = [ |
| ":lib", |
| ":native_viewport_java", |
| ":jni_headers", |
| ] |
| } |
| |
| android_library("native_viewport_java") { |
| java_files = |
| [ "android/src/org/chromium/mojo/PlatformViewportAndroid.java" ] |
| |
| deps = [ |
| "//base:base_java", |
| "//services/keyboard", |
| "//mojo/services/keyboard/interfaces:interfaces_java", |
| "//mojo/public/java:bindings", |
| "//mojo/public/java:system", |
| ] |
| } |
| |
| generate_jni("jni_headers") { |
| sources = [ |
| "android/src/org/chromium/mojo/PlatformViewportAndroid.java", |
| ] |
| |
| jni_package = "mojo" |
| } |
| |
| mojom("interfaces") { |
| sources = [ |
| "native_viewport_support.mojom", |
| ] |
| } |
| } else { |
| mojo_native_application("native_viewport") { |
| output_name = "native_viewport_service" |
| sources = [ |
| "app_delegate.cc", |
| "main.cc", |
| ] |
| deps = [ |
| ":lib", |
| "//base", |
| "//gpu/config", |
| "//mojo/application", |
| "//mojo/common:tracing_impl", |
| "//mojo/public/cpp/bindings:bindings", |
| "//mojo/services/native_viewport/interfaces", |
| "//mojo/services/native_viewport/cpp:args", |
| "//services/gles2", |
| "//ui/events", |
| "//ui/events/platform", |
| "//ui/gl", |
| ] |
| |
| if (use_ozone) { |
| sources += [ "ozone/app_delegate_ozone.cc" ] |
| deps += [ |
| "//mojo/services/ozone_drm_gpu/interfaces", |
| "//mojo/services/ozone_drm_host/interfaces", |
| "//ui/events/ozone:events_ozone_evdev", |
| "//ui/ozone", |
| ] |
| } |
| } |
| } |
| |
| source_set("lib") { |
| sources = [ |
| "native_viewport_impl.cc", |
| "native_viewport_impl.h", |
| "onscreen_context_provider.cc", |
| "onscreen_context_provider.h", |
| "platform_viewport.h", |
| "platform_viewport_android.cc", |
| "platform_viewport_android.h", |
| "platform_viewport_headless.cc", |
| "platform_viewport_headless.h", |
| "platform_viewport_stub.cc", |
| "platform_viewport_x11.cc", |
| ] |
| |
| if (!is_ios) { |
| sources -= [ "platform_viewport_stub.cc" ] |
| } |
| |
| deps = [ |
| "//base", |
| "//gpu/command_buffer/service", |
| "//mojo/application", |
| "//mojo/common", |
| "//mojo/converters/geometry", |
| "//mojo/converters/input_events", |
| "//mojo/converters/native_viewport", |
| "//mojo/environment:chromium", |
| "//services/gles2", |
| "//mojo/services/geometry/interfaces", |
| "//mojo/services/native_viewport/interfaces", |
| "//ui/events", |
| "//ui/events/platform", |
| "//ui/gfx", |
| "//ui/gfx/geometry", |
| "//ui/gl", |
| "//ui/platform_window", |
| "//ui/display/types", |
| ] |
| |
| if (is_android) { |
| deps += [ |
| ":interfaces", |
| ":jni_headers", |
| ] |
| } |
| |
| if (use_x11) { |
| deps += [ "//ui/platform_window/x11" ] |
| } else { |
| sources -= [ "platform_viewport_x11.cc" ] |
| } |
| |
| if (use_ozone) { |
| sources += [ |
| "ozone/display_manager.cc", |
| "ozone/display_manager.h", |
| "ozone/platform_viewport_ozone.cc", |
| ] |
| deps += [ |
| "//ui/events/ozone:events_ozone_evdev", |
| "//ui/ozone", |
| "//ui/ozone:ozone_base", |
| "//ui/ozone/platform/drm:drm_common", |
| ] |
| } |
| |
| if (is_win) { |
| deps += [ "//ui/platform_window/win" ] |
| } |
| } |