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

Unified Diff: third_party/WebKit/Source/modules/notifications/NotificationManager.cpp

Issue 2258673002: Revert of Remove content::NotificationPermissionDispatcher. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@permissions_typemaps
Patch Set: Created 4 years, 4 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: third_party/WebKit/Source/modules/notifications/NotificationManager.cpp
diff --git a/third_party/WebKit/Source/modules/notifications/NotificationManager.cpp b/third_party/WebKit/Source/modules/notifications/NotificationManager.cpp
index 265a2d23e868fc7466f01c43e25f4a034b62f8e1..ea8a6f7de4d7595c2eb417e7e9b6d32d8583342b 100644
--- a/third_party/WebKit/Source/modules/notifications/NotificationManager.cpp
+++ b/third_party/WebKit/Source/modules/notifications/NotificationManager.cpp
@@ -4,18 +4,10 @@
#include "modules/notifications/NotificationManager.h"
-#include "bindings/core/v8/ScriptPromiseResolver.h"
-#include "bindings/core/v8/ScriptState.h"
-#include "modules/notifications/Notification.h"
-#include "modules/notifications/NotificationPermissionCallback.h"
-#include "modules/permissions/Permissions.h"
-#include "platform/UserGestureIndicator.h"
#include "platform/weborigin/SecurityOrigin.h"
#include "public/platform/InterfaceProvider.h"
#include "public/platform/Platform.h"
-#include "public/platform/modules/permissions/permission.mojom-blink.h"
#include "public/platform/modules/permissions/permission_status.mojom-blink.h"
-#include "wtf/Functional.h"
namespace blink {
@@ -43,54 +35,27 @@
NotificationManager::NotificationManager(ExecutionContext* executionContext)
: ContextLifecycleObserver(executionContext)
{
+ Platform::current()->interfaceProvider()->getInterface(mojo::GetProxy(&m_service));
}
NotificationManager::~NotificationManager()
{
}
-mojom::blink::PermissionStatus NotificationManager::permissionStatus()
+mojom::blink::PermissionStatus NotificationManager::permissionStatus() const
{
- if (!m_notificationService)
- Platform::current()->interfaceProvider()->getInterface(mojo::GetProxy(&m_notificationService));
+ mojom::blink::PermissionStatus permissionStatus;
- mojom::blink::PermissionStatus permissionStatus;
- const bool result = m_notificationService->GetPermissionStatus(getExecutionContext()->getSecurityOrigin()->toString(), &permissionStatus);
+ const bool result =
+ m_service->GetPermissionStatus(getExecutionContext()->getSecurityOrigin()->toString(), &permissionStatus);
DCHECK(result);
return permissionStatus;
}
-ScriptPromise NotificationManager::requestPermission(ScriptState* scriptState, NotificationPermissionCallback* deprecatedCallback)
-{
- ExecutionContext* context = scriptState->getExecutionContext();
-
- if (!m_permissionService)
- Permissions::connectToService(context, mojo::GetProxy(&m_permissionService));
-
- ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState);
- ScriptPromise promise = resolver->promise();
-
- m_permissionService->RequestPermission(
- mojom::blink::PermissionName::NOTIFICATIONS, context->getSecurityOrigin(), UserGestureIndicator::processingUserGesture(),
- convertToBaseCallback(WTF::bind(&NotificationManager::onPermissionRequestComplete, wrapPersistent(this), wrapPersistent(resolver), wrapPersistent(deprecatedCallback))));
-
- return promise;
-}
-
void NotificationManager::contextDestroyed()
{
- m_notificationService.reset();
- m_permissionService.reset();
-}
-
-void NotificationManager::onPermissionRequestComplete(ScriptPromiseResolver* resolver, NotificationPermissionCallback* deprecatedCallback, mojom::blink::PermissionStatus status)
-{
- String statusString = Notification::permissionString(status);
- if (deprecatedCallback)
- deprecatedCallback->handleEvent(statusString);
-
- resolver->resolve(statusString);
+ m_service.reset();
}
DEFINE_TRACE(NotificationManager)

Powered by Google App Engine
This is Rietveld 408576698