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

Unified Diff: third_party/WebKit/Source/modules/permissions/PermissionStatus.cpp

Issue 2108003002: Merge //content/child/permissions into Blink's permissions module. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing presubmits. Created 4 years, 6 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/permissions/PermissionStatus.cpp
diff --git a/third_party/WebKit/Source/modules/permissions/PermissionStatus.cpp b/third_party/WebKit/Source/modules/permissions/PermissionStatus.cpp
index 3730575bbe0b37ec93e09cf5adfb83fe68a517a4..88e1013a0ce32a0e748c4e85f460d64159ee4f11 100644
--- a/third_party/WebKit/Source/modules/permissions/PermissionStatus.cpp
+++ b/third_party/WebKit/Source/modules/permissions/PermissionStatus.cpp
@@ -8,33 +8,34 @@
#include "core/dom/Document.h"
#include "core/events/Event.h"
#include "modules/EventTargetModulesNames.h"
-#include "modules/permissions/PermissionController.h"
#include "modules/permissions/Permissions.h"
+#include "platform/mojo/MojoHelper.h"
#include "public/platform/Platform.h"
-#include "public/platform/modules/permissions/WebPermissionClient.h"
namespace blink {
+using mojom::blink::PermissionName;
esprehn 2016/07/19 04:00:05 MojoPermissionName ? it's weird to alias the two t
Reilly Grant (use Gerrit) 2016/07/19 20:10:28 I needed to use MojoPermissionStatus to avoid a co
+using MojoPermissionStatus = mojom::blink::PermissionStatus;
+
// static
-PermissionStatus* PermissionStatus::take(ScriptPromiseResolver* resolver, WebPermissionStatus status, WebPermissionType type)
+PermissionStatus* PermissionStatus::take(ScriptPromiseResolver* resolver, MojoPermissionStatus status, PermissionName name)
{
- return PermissionStatus::createAndListen(resolver->getExecutionContext(), status, type);
+ return PermissionStatus::createAndListen(resolver->getExecutionContext(), status, name);
}
-PermissionStatus* PermissionStatus::createAndListen(ExecutionContext* executionContext, WebPermissionStatus status, WebPermissionType type)
+PermissionStatus* PermissionStatus::createAndListen(ExecutionContext* executionContext, MojoPermissionStatus status, PermissionName name)
{
- PermissionStatus* permissionStatus = new PermissionStatus(executionContext, status, type);
+ PermissionStatus* permissionStatus = new PermissionStatus(executionContext, status, name);
permissionStatus->suspendIfNeeded();
permissionStatus->startListening();
return permissionStatus;
}
-PermissionStatus::PermissionStatus(ExecutionContext* executionContext, WebPermissionStatus status, WebPermissionType type)
+PermissionStatus::PermissionStatus(ExecutionContext* executionContext, MojoPermissionStatus status, PermissionName name)
: ActiveScriptWrappable(this)
, ActiveDOMObject(executionContext)
, m_status(status)
- , m_type(type)
- , m_listening(false)
+ , m_name(name)
{
}
@@ -53,19 +54,19 @@ ExecutionContext* PermissionStatus::getExecutionContext() const
return ActiveDOMObject::getExecutionContext();
}
-void PermissionStatus::permissionChanged(WebPermissionType type, WebPermissionStatus status)
+void PermissionStatus::permissionChanged(MojoPermissionStatus status)
{
- ASSERT(m_type == type);
if (m_status == status)
return;
m_status = status;
dispatchEvent(Event::create(EventTypeNames::change));
+ m_service->GetNextPermissionChange(m_name, getExecutionContext()->getSecurityOrigin()->toString(), m_status, createBaseCallback(bind(&PermissionStatus::permissionChanged, wrapWeakPersistent(this))));
esprehn 2016/07/19 04:00:05 createBaseCallback is gone, you can use WTF::bind
Reilly Grant (use Gerrit) 2016/07/19 20:10:28 Someone just renamed it to convertToBaseCallback a
}
bool PermissionStatus::hasPendingActivity() const
{
- return m_listening;
+ return m_service;
}
void PermissionStatus::resume()
@@ -85,37 +86,24 @@ void PermissionStatus::stop()
void PermissionStatus::startListening()
{
- ASSERT(!m_listening);
-
- WebPermissionClient* client = Permissions::getClient(getExecutionContext());
- if (!client)
- return;
- m_listening = true;
- client->startListening(m_type, KURL(KURL(), getExecutionContext()->getSecurityOrigin()->toString()), this);
+ DCHECK(!m_service);
+ Permissions::connectToService(getExecutionContext(), mojo::GetProxy(&m_service));
+ m_service->GetNextPermissionChange(m_name, getExecutionContext()->getSecurityOrigin()->toString(), m_status, createBaseCallback(bind(&PermissionStatus::permissionChanged, wrapWeakPersistent(this))));
esprehn 2016/07/19 04:00:05 ditto
}
void PermissionStatus::stopListening()
{
- if (!m_listening)
- return;
-
- ASSERT(getExecutionContext());
-
- m_listening = false;
- WebPermissionClient* client = Permissions::getClient(getExecutionContext());
- if (!client)
- return;
- client->stopListening(this);
+ m_service.reset();
}
String PermissionStatus::state() const
{
switch (m_status) {
- case WebPermissionStatusGranted:
+ case MojoPermissionStatus::GRANTED:
return "granted";
- case WebPermissionStatusDenied:
+ case MojoPermissionStatus::DENIED:
return "denied";
- case WebPermissionStatusPrompt:
+ case MojoPermissionStatus::ASK:
return "prompt";
}

Powered by Google App Engine
This is Rietveld 408576698