diff --git a/sky/packages/sky_services/BUILD.gn b/sky/packages/sky_services/BUILD.gn index b821778c94d2ce464ae2ba674defa3fcd46f8810..2bdaad6a2aefd5996e9e4bc2d4c52ab9ea04f7b6 100644 --- a/sky/packages/sky_services/BUILD.gn +++ b/sky/packages/sky_services/BUILD.gn @@ -28,6 +28,5 @@ dart_pkg("sky_services") { "//sky/services/pointer:interfaces", "//sky/services/raw_keyboard:interfaces", "//sky/services/updater:interfaces", - "//sky/services/vsync:interfaces", ] } diff --git a/sky/services/vsync/BUILD.gn b/sky/services/vsync/BUILD.gn index 7c609f1096274a39ab7bdda883453762fe68df4c..885d34ee803e8b3896a4874ae61ad1ae7a917fce 100644 --- a/sky/services/vsync/BUILD.gn +++ b/sky/services/vsync/BUILD.gn @@ -5,21 +5,13 @@ import("//mojo/public/tools/bindings/mojom.gni") group("vsync") { - deps = [ - ":interfaces", - ] + deps = [] if (is_android || is_ios) { deps += [ ":vsync_lib" ] } } -mojom("interfaces") { - sources = [ - "vsync.mojom", - ] -} - if (is_android) { import("//build/config/android/config.gni") import("//build/config/android/rules.gni") @@ -31,7 +23,7 @@ if (is_android) { "//base:base_java", "//mojo/public/java:bindings", "//mojo/public/java:system", - ":interfaces_java", + "//mojo/services/vsync/interfaces:interfaces_java", ] } } @@ -45,7 +37,7 @@ if (is_ios) { deps = [ "//base:base", "//mojo/public/cpp/application", - ":interfaces", + "//mojo/services/vsync/interfaces", ] } } diff --git a/sky/services/vsync/ios/vsync_provider_impl.h b/sky/services/vsync/ios/vsync_provider_impl.h index bd452690258ca882a36011c3de92bdea4a99fe20..5e064d94fa50ba6b9003b46bfb9c78417b6ece59 100644 --- a/sky/services/vsync/ios/vsync_provider_impl.h +++ b/sky/services/vsync/ios/vsync_provider_impl.h @@ -8,7 +8,7 @@ #include "base/macros.h" #include "mojo/public/cpp/application/interface_factory.h" #include "mojo/public/cpp/bindings/strong_binding.h" -#include "sky/services/vsync/vsync.mojom.h" +#include "mojo/services/vsync/interfaces/vsync.mojom.h" #if __OBJC__ @class VSyncClient; diff --git a/sky/services/vsync/vsync.mojom b/sky/services/vsync/vsync.mojom deleted file mode 100644 index de0aa7fd99ae6784e49d38dd51e0d0d5d90df40a..0000000000000000000000000000000000000000 --- a/sky/services/vsync/vsync.mojom +++ /dev/null @@ -1,13 +0,0 @@ -// 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. - -[DartPackage="sky_services"] -module vsync; - -[ServiceName="vsync::VSyncProvider"] -interface VSyncProvider { - // Timebase is in MojoGetTimeTicksNow. - // Only one callback can be parked at a given time. - AwaitVSync() => (int64 time_stamp); -}; diff --git a/sky/shell/BUILD.gn b/sky/shell/BUILD.gn index 1e2e2bb35d376065aecf6e8fbd57add54cc5b32a..746e32a9dbfd16012202d99bf9ba32ae2d74e08d 100644 --- a/sky/shell/BUILD.gn +++ b/sky/shell/BUILD.gn @@ -43,7 +43,7 @@ source_set("common") { "//mojo/services/asset_bundle/interfaces", "//mojo/services/keyboard/interfaces", "//mojo/services/navigation/interfaces", - "//mojo/services/network/interfaces", + "//mojo/services/vsync/interfaces", "//services/asset_bundle:lib", "//skia", "//sky/compositor", @@ -52,7 +52,6 @@ source_set("common") { "//sky/engine/wtf", "//sky/services/engine:interfaces", "//sky/services/pointer:interfaces", - "//sky/services/vsync:interfaces", "//sky/shell/dart", "//ui/gfx", "//ui/gfx/geometry", @@ -172,6 +171,7 @@ if (is_android) { "//mojo/services/keyboard/interfaces:interfaces_java", "//mojo/services/network/interfaces:interfaces_java", "//mojo/services/sensors/interfaces:interfaces_java", + "//mojo/services/vsync/interfaces:interfaces_java", "//services/keyboard", "//services/sensors:sensors_lib", "//sky/services/activity:activity_lib", @@ -184,7 +184,6 @@ if (is_android) { "//sky/services/raw_keyboard:interfaces_java", "//sky/services/raw_keyboard:raw_keyboard_lib", "//sky/services/updater:interfaces_java", - "//sky/services/vsync:interfaces_java", "//sky/services/vsync:vsync_lib", ] } diff --git a/sky/shell/ui/animator.h b/sky/shell/ui/animator.h index 1befdad15d8e6dbbee78986c2234b7c2ebceaa2e..27db6fd6eb2dfd1ecb509c2fd153e478015a35f8 100644 --- a/sky/shell/ui/animator.h +++ b/sky/shell/ui/animator.h @@ -6,7 +6,7 @@ #define SKY_SHELL_UI_ANIMATOR_H_ #include "base/memory/weak_ptr.h" -#include "sky/services/vsync/vsync.mojom.h" +#include "mojo/services/vsync/interfaces/vsync.mojom.h" #include "sky/shell/ui/engine.h" namespace sky { diff --git a/sky/shell/ui/engine.cc b/sky/shell/ui/engine.cc index 021f583aef8801a73d7a9520c1f7c59705d0e661..ad446c80990ef8d3ee004bf08bb5e5a4f9990cbf 100644 --- a/sky/shell/ui/engine.cc +++ b/sky/shell/ui/engine.cc @@ -120,12 +120,13 @@ void Engine::SetServices(ServicesDataPtr services) { services_ = services.Pass(); #if defined(OS_ANDROID) || defined(OS_IOS) - if (services_->services_provided_by_embedder) { - // TODO(abarth): Implement VSyncProvider on other platforms. - vsync::VSyncProviderPtr vsync_provider; + vsync::VSyncProviderPtr vsync_provider; + if (services_->shell) { + mojo::ConnectToService(services_->shell.get(), "mojo:vsync", &vsync_provider); + } else { mojo::ConnectToService(services_->services_provided_by_embedder.get(), &vsync_provider); - animator_->set_vsync_provider(vsync_provider.Pass()); } + animator_->set_vsync_provider(vsync_provider.Pass()); #endif }