Index: content/child/blink_platform_impl.cc |
diff --git a/content/child/blink_platform_impl.cc b/content/child/blink_platform_impl.cc |
index cdac32f76608e2a203e73d986b387f14d81274d7..d681df921e109ae802912d697d460823febf2e02 100644 |
--- a/content/child/blink_platform_impl.cc |
+++ b/content/child/blink_platform_impl.cc |
@@ -31,6 +31,8 @@ |
#include "components/scheduler/child/webthread_impl_for_worker_scheduler.h" |
#include "content/app/resources/grit/content_resources.h" |
#include "content/app/strings/grit/content_strings.h" |
+#include "content/child/background_sync/background_sync_provider.h" |
+#include "content/child/background_sync/background_sync_provider_thread_proxy.h" |
#include "content/child/bluetooth/web_bluetooth_impl.h" |
#include "content/child/child_thread_impl.h" |
#include "content/child/content_child_helpers.h" |
@@ -451,6 +453,8 @@ void BlinkPlatformImpl::InternalInit() { |
push_dispatcher_ = ChildThreadImpl::current()->push_dispatcher(); |
permission_client_.reset(new PermissionDispatcher( |
ChildThreadImpl::current()->service_registry())); |
+ sync_provider_.reset(new BackgroundSyncProvider( |
+ ChildThreadImpl::current()->service_registry())); |
} |
if (main_thread_task_runner_.get()) { |
@@ -1177,6 +1181,17 @@ blink::WebPermissionClient* BlinkPlatformImpl::permissionClient() { |
main_thread_task_runner_.get(), permission_client_.get()); |
} |
+blink::WebSyncProvider* BlinkPlatformImpl::backgroundSyncProvider() { |
+ if (!sync_provider_.get()) |
+ return nullptr; |
+ |
+ if (IsMainThread()) |
+ return sync_provider_.get(); |
+ |
+ return BackgroundSyncProviderThreadProxy::GetThreadInstance( |
+ main_thread_task_runner_.get(), sync_provider_.get()); |
+} |
+ |
WebThemeEngine* BlinkPlatformImpl::themeEngine() { |
return &native_theme_engine_; |
} |