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

Side by Side Diff: third_party/WebKit/Source/modules/notifications/NotificationManager.cpp

Issue 2255933002: Add PermissionDescriptor to the permissions Mojo interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@no_notification_dispatcher
Patch Set: Collect utility functions into PermissionUtils.h. Created 4 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "modules/notifications/NotificationManager.h" 5 #include "modules/notifications/NotificationManager.h"
6 6
7 #include "bindings/core/v8/ScriptPromiseResolver.h" 7 #include "bindings/core/v8/ScriptPromiseResolver.h"
8 #include "bindings/core/v8/ScriptState.h" 8 #include "bindings/core/v8/ScriptState.h"
9 #include "modules/notifications/Notification.h" 9 #include "modules/notifications/Notification.h"
10 #include "modules/notifications/NotificationPermissionCallback.h" 10 #include "modules/notifications/NotificationPermissionCallback.h"
11 #include "modules/permissions/Permissions.h" 11 #include "modules/permissions/PermissionUtils.h"
12 #include "platform/UserGestureIndicator.h" 12 #include "platform/UserGestureIndicator.h"
13 #include "platform/weborigin/SecurityOrigin.h" 13 #include "platform/weborigin/SecurityOrigin.h"
14 #include "public/platform/InterfaceProvider.h" 14 #include "public/platform/InterfaceProvider.h"
15 #include "public/platform/Platform.h" 15 #include "public/platform/Platform.h"
16 #include "public/platform/modules/permissions/permission.mojom-blink.h" 16 #include "public/platform/modules/permissions/permission.mojom-blink.h"
17 #include "public/platform/modules/permissions/permission_status.mojom-blink.h" 17 #include "public/platform/modules/permissions/permission_status.mojom-blink.h"
18 #include "wtf/Functional.h" 18 #include "wtf/Functional.h"
19 19
20 namespace blink { 20 namespace blink {
21 21
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 DCHECK(result); 59 DCHECK(result);
60 60
61 return permissionStatus; 61 return permissionStatus;
62 } 62 }
63 63
64 ScriptPromise NotificationManager::requestPermission(ScriptState* scriptState, N otificationPermissionCallback* deprecatedCallback) 64 ScriptPromise NotificationManager::requestPermission(ScriptState* scriptState, N otificationPermissionCallback* deprecatedCallback)
65 { 65 {
66 ExecutionContext* context = scriptState->getExecutionContext(); 66 ExecutionContext* context = scriptState->getExecutionContext();
67 67
68 if (!m_permissionService) { 68 if (!m_permissionService) {
69 Permissions::connectToService(context, mojo::GetProxy(&m_permissionServi ce)); 69 connectToPermissionService(context, mojo::GetProxy(&m_permissionService) );
70 m_permissionService.set_connection_error_handler(convertToBaseCallback(W TF::bind(&NotificationManager::onPermissionServiceConnectionError, wrapWeakPersi stent(this)))); 70 m_permissionService.set_connection_error_handler(convertToBaseCallback(W TF::bind(&NotificationManager::onPermissionServiceConnectionError, wrapWeakPersi stent(this))));
71 } 71 }
72 72
73 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ; 73 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ;
74 ScriptPromise promise = resolver->promise(); 74 ScriptPromise promise = resolver->promise();
75 75
76 m_permissionService->RequestPermission( 76 m_permissionService->RequestPermission(
77 mojom::blink::PermissionName::NOTIFICATIONS, context->getSecurityOrigin( ), UserGestureIndicator::processingUserGesture(), 77 createPermissionDescriptor(mojom::blink::PermissionName::NOTIFICATIONS), context->getSecurityOrigin(), UserGestureIndicator::processingUserGesture(),
78 convertToBaseCallback(WTF::bind(&NotificationManager::onPermissionReques tComplete, wrapPersistent(this), wrapPersistent(resolver), wrapPersistent(deprec atedCallback)))); 78 convertToBaseCallback(WTF::bind(&NotificationManager::onPermissionReques tComplete, wrapPersistent(this), wrapPersistent(resolver), wrapPersistent(deprec atedCallback))));
79 79
80 return promise; 80 return promise;
81 } 81 }
82 82
83 void NotificationManager::contextDestroyed() 83 void NotificationManager::contextDestroyed()
84 { 84 {
85 m_notificationService.reset(); 85 m_notificationService.reset();
86 m_permissionService.reset(); 86 m_permissionService.reset();
87 } 87 }
(...skipping 12 matching lines...) Expand all
100 m_permissionService.reset(); 100 m_permissionService.reset();
101 } 101 }
102 102
103 DEFINE_TRACE(NotificationManager) 103 DEFINE_TRACE(NotificationManager)
104 { 104 {
105 ContextLifecycleObserver::trace(visitor); 105 ContextLifecycleObserver::trace(visitor);
106 Supplement<ExecutionContext>::trace(visitor); 106 Supplement<ExecutionContext>::trace(visitor);
107 } 107 }
108 108
109 } // namespace blink 109 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698