| Index: content/child/permissions/permission_dispatcher.cc
|
| diff --git a/content/child/permissions/permission_dispatcher.cc b/content/child/permissions/permission_dispatcher.cc
|
| index eb5ac4538f0f9caf86adea7769ed9ab016e18e7b..9a79872a95e4e185c80ed307badd1f637eab5453 100644
|
| --- a/content/child/permissions/permission_dispatcher.cc
|
| +++ b/content/child/permissions/permission_dispatcher.cc
|
| @@ -9,6 +9,7 @@
|
| #include "content/public/common/service_registry.h"
|
| #include "third_party/WebKit/public/platform/WebURL.h"
|
| #include "third_party/WebKit/public/platform/modules/permissions/WebPermissionObserver.h"
|
| +#include "third_party/WebKit/public/web/WebUserGestureIndicator.h"
|
|
|
| using blink::WebPermissionObserver;
|
|
|
| @@ -26,6 +27,8 @@ PermissionName GetPermissionName(blink::WebPermissionType type) {
|
| return PERMISSION_NAME_PUSH_NOTIFICATIONS;
|
| case blink::WebPermissionTypeMidiSysEx:
|
| return PERMISSION_NAME_MIDI_SYSEX;
|
| + case blink::WebPermissionTypeDurableStorage:
|
| + return PERMISSION_NAME_DURABLE_STORAGE;
|
| default:
|
| // The default statement is only there to prevent compilation failures if
|
| // WebPermissionType enum gets extended.
|
| @@ -105,6 +108,18 @@ PermissionDispatcher::PermissionDispatcher(ServiceRegistry* service_registry)
|
| PermissionDispatcher::~PermissionDispatcher() {
|
| }
|
|
|
| +void PermissionDispatcher::requestDurablePermission(const blink::WebURL& origin,
|
| + blink::WebPermissionQueryCallback* callback) {
|
| + int request_id = pending_callbacks_.Add(
|
| + new CallbackInformation(callback, kNoWorkerThread));
|
| + GetPermissionServicePtr()->RequestPermission(
|
| + PERMISSION_NAME_DURABLE_STORAGE, origin.string().utf8(),
|
| + blink::WebUserGestureIndicator::isProcessingUserGesture(),
|
| + base::Bind(&PermissionDispatcher::OnQueryPermission,
|
| + base::Unretained(this),
|
| + request_id));
|
| +}
|
| +
|
| void PermissionDispatcher::queryPermission(
|
| blink::WebPermissionType type,
|
| const blink::WebURL& origin,
|
|
|