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

Side by Side Diff: third_party/WebKit/Source/modules/push_messaging/PushManager.h

Issue 1701313002: Partial implementation of subscription restrictions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix module export build issue Created 4 years, 9 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #ifndef PushManager_h 5 #ifndef PushManager_h
6 #define PushManager_h 6 #define PushManager_h
7 7
8 #include "bindings/core/v8/ScriptWrappable.h" 8 #include "bindings/core/v8/ScriptWrappable.h"
9 #include "bindings/modules/v8/UnionTypesModules.h"
10 #include "modules/ModulesExport.h"
9 #include "platform/heap/Handle.h" 11 #include "platform/heap/Handle.h"
10 12
11 namespace blink { 13 namespace blink {
12 14
15 class ExceptionState;
13 class PushSubscriptionOptions; 16 class PushSubscriptionOptions;
14 class ScriptPromise; 17 class ScriptPromise;
15 class ScriptState; 18 class ScriptState;
16 class ServiceWorkerRegistration; 19 class ServiceWorkerRegistration;
20 struct WebPushSubscriptionOptions;
17 21
18 class PushManager final : public GarbageCollected<PushManager>, public ScriptWra ppable { 22 class MODULES_EXPORT PushManager final : public GarbageCollected<PushManager>, p ublic ScriptWrappable {
19 DEFINE_WRAPPERTYPEINFO(); 23 DEFINE_WRAPPERTYPEINFO();
20 public: 24 public:
21 static PushManager* create(ServiceWorkerRegistration* registration) 25 static PushManager* create(ServiceWorkerRegistration* registration)
22 { 26 {
23 return new PushManager(registration); 27 return new PushManager(registration);
24 } 28 }
25 29
26 ScriptPromise subscribe(ScriptState*, const PushSubscriptionOptions&); 30 ScriptPromise subscribe(ScriptState*, const PushSubscriptionOptions&,
31 ExceptionState&);
27 ScriptPromise getSubscription(ScriptState*); 32 ScriptPromise getSubscription(ScriptState*);
28 ScriptPromise permissionState(ScriptState*, const PushSubscriptionOptions&); 33 ScriptPromise permissionState(ScriptState*, const PushSubscriptionOptions&,
34 ExceptionState&);
29 35
30 DECLARE_TRACE(); 36 DECLARE_TRACE();
31 37
38 static WebPushSubscriptionOptions toWebPushSubscriptionOptions(
39 const PushSubscriptionOptions&, ExceptionState&);
40
32 private: 41 private:
33 explicit PushManager(ServiceWorkerRegistration*); 42 explicit PushManager(ServiceWorkerRegistration*);
34 43
35 Member<ServiceWorkerRegistration> m_registration; 44 Member<ServiceWorkerRegistration> m_registration;
36 }; 45 };
37 46
38 } // namespace blink 47 } // namespace blink
39 48
40 #endif // PushManager_h 49 #endif // PushManager_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/modules/modules.gypi ('k') | third_party/WebKit/Source/modules/push_messaging/PushManager.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698