Chromium Code Reviews| Index: content/child/blink_platform_impl.cc |
| diff --git a/content/child/blink_platform_impl.cc b/content/child/blink_platform_impl.cc |
| index 1874a5b63552fb688c5c2b04c5466cecf4b109d9..db0ba133288ba57a86822c4526db297f489e3389 100644 |
| --- a/content/child/blink_platform_impl.cc |
| +++ b/content/child/blink_platform_impl.cc |
| @@ -35,6 +35,8 @@ |
| #include "content/child/navigator_connect/navigator_connect_provider.h" |
| #include "content/child/notifications/notification_dispatcher.h" |
| #include "content/child/notifications/notification_manager.h" |
| +#include "content/child/permissions/permission_manager.h" |
| +#include "content/child/permissions/permission_manager_thread_proxy.h" |
| #include "content/child/push_messaging/push_dispatcher.h" |
| #include "content/child/push_messaging/push_provider.h" |
| #include "content/child/thread_safe_sender.h" |
| @@ -442,6 +444,8 @@ void BlinkPlatformImpl::InternalInit() { |
| notification_dispatcher_ = |
| ChildThreadImpl::current()->notification_dispatcher(); |
| push_dispatcher_ = ChildThreadImpl::current()->push_dispatcher(); |
| + permission_client_.reset(new PermissionManager( |
| + ChildThreadImpl::current()->service_registry())); |
| } |
| if (main_thread_task_runner_.get()) { |
| @@ -1023,13 +1027,10 @@ blink::WebGestureCurve* BlinkPlatformImpl::createFlingAnimationCurve( |
| blink::WebGestureDevice device_source, |
| const blink::WebFloatPoint& velocity, |
| const blink::WebSize& cumulative_scroll) { |
| - bool is_main_thread = |
| - main_thread_task_runner_.get() && |
| - main_thread_task_runner_->BelongsToCurrentThread(); |
| return WebGestureCurveImpl::CreateFromDefaultPlatformCurve( |
| gfx::Vector2dF(velocity.x, velocity.y), |
| gfx::Vector2dF(cumulative_scroll.width, cumulative_scroll.height), |
| - is_main_thread).release(); |
| + IsMainThread()).release(); |
| } |
| void BlinkPlatformImpl::didStartWorkerRunLoop() { |
| @@ -1082,6 +1083,17 @@ BlinkPlatformImpl::navigatorConnectProvider() { |
| thread_safe_sender_.get(), main_thread_task_runner_); |
| } |
| +blink::WebPermissionClient* BlinkPlatformImpl::permissionClient() { |
| + if (!permission_client_.get()) |
|
Bernhard Bauer
2015/03/23 18:27:41
scoped_ptr has an implicit conversion to bool, so
|
| + return nullptr; |
| + |
| + if (IsMainThread()) |
| + return permission_client_.get(); |
| + |
| + return PermissionManagerThreadProxy::GetThreadInstance( |
| + main_thread_task_runner_.get(), permission_client_.get()); |
|
Bernhard Bauer
2015/03/23 18:27:41
What will happen if |main_thread_task_runner_| is
|
| +} |
| + |
| WebThemeEngine* BlinkPlatformImpl::themeEngine() { |
| return &native_theme_engine_; |
| } |
| @@ -1234,6 +1246,11 @@ BlinkPlatformImpl::MainTaskRunnerForCurrentThread() { |
| } |
| } |
| +bool BlinkPlatformImpl::IsMainThread() const { |
| + return main_thread_task_runner_.get() && |
| + main_thread_task_runner_->BelongsToCurrentThread(); |
| +} |
| + |
| WebString BlinkPlatformImpl::domCodeStringFromEnum(int dom_code) { |
| return WebString::fromUTF8(ui::KeycodeConverter::DomCodeToCodeString( |
| static_cast<ui::DomCode>(dom_code))); |