Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Unified Diff: content/child/blink_platform_impl.cc

Issue 801613004: Implement WebPermissionClient for Document and Worker contexts (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: with comments Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)));

Powered by Google App Engine
This is Rietveld 408576698