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

Unified Diff: content/browser/permissions/permission_service_impl.h

Issue 2573573002: Switch PermissionStatus events to an observer model. (Closed)
Patch Set: Remove call to registerPreFinalizer(). Created 4 years 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/browser/permissions/permission_service_impl.h
diff --git a/content/browser/permissions/permission_service_impl.h b/content/browser/permissions/permission_service_impl.h
index 6cc28720bbecf995aad6e80aae0109d34605d8b1..7617697a524a0753652fe30f788c7954025455dd 100644
--- a/content/browser/permissions/permission_service_impl.h
+++ b/content/browser/permissions/permission_service_impl.h
@@ -27,6 +27,9 @@ enum class PermissionType;
// WebContents for example.
class PermissionServiceImpl : public blink::mojom::PermissionService {
public:
+ PermissionServiceImpl(
+ PermissionServiceContext* context,
+ mojo::InterfaceRequest<blink::mojom::PermissionService> request);
~PermissionServiceImpl() override;
// Clear pending operations currently run by the service. This will be called
@@ -34,13 +37,6 @@ class PermissionServiceImpl : public blink::mojom::PermissionService {
// state for example, if the frame changes.
void CancelPendingOperations();
- protected:
- friend PermissionServiceContext;
-
- PermissionServiceImpl(
- PermissionServiceContext* context,
- mojo::InterfaceRequest<blink::mojom::PermissionService> request);
-
private:
using PermissionStatusCallback =
base::Callback<void(blink::mojom::PermissionStatus)>;
@@ -57,20 +53,6 @@ class PermissionServiceImpl : public blink::mojom::PermissionService {
};
using RequestsMap = IDMap<std::unique_ptr<PendingRequest>>;
- struct PendingSubscription {
- PendingSubscription(PermissionType permission,
- const url::Origin& origin,
- const PermissionStatusCallback& callback);
- ~PendingSubscription();
-
- // Subscription ID received from the PermissionManager.
- int id;
- PermissionType permission;
- url::Origin origin;
- PermissionStatusCallback callback;
- };
- using SubscriptionsMap = IDMap<std::unique_ptr<PendingSubscription>>;
-
// blink::mojom::PermissionService.
void HasPermission(blink::mojom::PermissionDescriptorPtr permission,
const url::Origin& origin,
@@ -87,11 +69,11 @@ class PermissionServiceImpl : public blink::mojom::PermissionService {
void RevokePermission(blink::mojom::PermissionDescriptorPtr permission,
const url::Origin& origin,
const PermissionStatusCallback& callback) override;
- void GetNextPermissionChange(
+ void AddPermissionObserver(
blink::mojom::PermissionDescriptorPtr permission,
const url::Origin& origin,
blink::mojom::PermissionStatus last_known_status,
- const PermissionStatusCallback& callback) override;
+ blink::mojom::PermissionObserverPtr observer) override;
void OnConnectionError();
@@ -109,11 +91,7 @@ class PermissionServiceImpl : public blink::mojom::PermissionService {
const url::Origin& origin);
void ResetPermissionStatus(PermissionType type, const url::Origin& origin);
- void OnPermissionStatusChanged(int pending_subscription_id,
- blink::mojom::PermissionStatus status);
-
RequestsMap pending_requests_;
- SubscriptionsMap pending_subscriptions_;
// context_ owns |this|.
PermissionServiceContext* context_;
mojo::Binding<blink::mojom::PermissionService> binding_;

Powered by Google App Engine
This is Rietveld 408576698