OLD | NEW |
---|---|
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 PermissionStatus_h | 5 #ifndef PermissionStatus_h |
6 #define PermissionStatus_h | 6 #define PermissionStatus_h |
7 | 7 |
8 #include "bindings/core/v8/ActiveScriptWrappable.h" | 8 #include "bindings/core/v8/ActiveScriptWrappable.h" |
9 #include "core/dom/ActiveDOMObject.h" | 9 #include "core/dom/ActiveDOMObject.h" |
10 #include "core/events/EventTarget.h" | 10 #include "core/events/EventTarget.h" |
11 #include "platform/heap/Handle.h" | 11 #include "platform/heap/Handle.h" |
12 #include "public/platform/modules/permissions/permission.mojom-blink.h" | 12 #include "public/platform/modules/permissions/permission.mojom-blink.h" |
13 #include "wtf/text/AtomicString.h" | 13 #include "wtf/text/AtomicString.h" |
14 #include "wtf/text/WTFString.h" | 14 #include "wtf/text/WTFString.h" |
15 | 15 |
16 namespace blink { | 16 namespace blink { |
17 | 17 |
18 class ExecutionContext; | 18 class ExecutionContext; |
19 class ScriptPromiseResolver; | 19 class ScriptPromiseResolver; |
20 | 20 |
21 // Expose the status of a given WebPermissionType for the current | 21 // Expose the status of a given WebPermissionType for the current |
22 // ExecutionContext. | 22 // ExecutionContext. |
23 class PermissionStatus final | 23 class PermissionStatus final |
24 : public EventTargetWithInlineData | 24 : public EventTargetWithInlineData |
25 , public ActiveScriptWrappable | 25 , public ActiveScriptWrappable |
26 , public ActiveDOMObject { | 26 , public ActiveDOMObject { |
27 USING_GARBAGE_COLLECTED_MIXIN(PermissionStatus); | 27 USING_GARBAGE_COLLECTED_MIXIN(PermissionStatus); |
28 DEFINE_WRAPPERTYPEINFO(); | 28 DEFINE_WRAPPERTYPEINFO(); |
29 | 29 |
30 using MojoPermissionName = mojom::blink::PermissionName; | 30 using MojoPermissionDescriptor = mojom::blink::PermissionDescriptorPtr; |
31 using MojoPermissionStatus = mojom::blink::PermissionStatus; | 31 using MojoPermissionStatus = mojom::blink::PermissionStatus; |
32 | 32 |
33 public: | 33 public: |
34 static PermissionStatus* take(ScriptPromiseResolver*, MojoPermissionStatus, MojoPermissionName); | 34 static PermissionStatus* take(ScriptPromiseResolver*, MojoPermissionStatus, MojoPermissionDescriptor); |
35 | 35 |
36 static PermissionStatus* createAndListen(ExecutionContext*, MojoPermissionSt atus, MojoPermissionName); | 36 static PermissionStatus* createAndListen(ExecutionContext*, MojoPermissionSt atus, MojoPermissionDescriptor); |
37 ~PermissionStatus() override; | 37 ~PermissionStatus() override; |
38 | 38 |
39 // EventTarget implementation. | 39 // EventTarget implementation. |
40 const AtomicString& interfaceName() const override; | 40 const AtomicString& interfaceName() const override; |
41 ExecutionContext* getExecutionContext() const override; | 41 ExecutionContext* getExecutionContext() const override; |
42 | 42 |
43 // ActiveScriptWrappable implementation. | 43 // ActiveScriptWrappable implementation. |
44 bool hasPendingActivity() const final; | 44 bool hasPendingActivity() const final; |
45 | 45 |
46 // ActiveDOMObject implementation. | 46 // ActiveDOMObject implementation. |
47 void suspend() override; | 47 void suspend() override; |
48 void resume() override; | 48 void resume() override; |
49 void stop() override; | 49 void stop() override; |
50 | 50 |
51 String state() const; | 51 String state() const; |
52 void permissionChanged(mojom::blink::PermissionStatus); | 52 void permissionChanged(MojoPermissionStatus); |
53 | 53 |
54 DEFINE_ATTRIBUTE_EVENT_LISTENER(change); | 54 DEFINE_ATTRIBUTE_EVENT_LISTENER(change); |
55 | 55 |
56 DECLARE_VIRTUAL_TRACE(); | 56 DECLARE_VIRTUAL_TRACE(); |
57 | 57 |
58 private: | 58 private: |
59 PermissionStatus(ExecutionContext*, MojoPermissionStatus, MojoPermissionName ); | 59 PermissionStatus(ExecutionContext*, MojoPermissionStatus, MojoPermissionDesc riptor); |
60 | 60 |
61 void startListening(); | 61 void startListening(); |
62 void stopListening(); | 62 void stopListening(); |
63 | 63 |
64 MojoPermissionStatus m_status; | 64 MojoPermissionStatus m_status; |
65 MojoPermissionName m_name; | 65 MojoPermissionDescriptor m_query; |
mlamouri (slow - plz ping)
2016/08/26 17:19:29
nit: m_descriptor?
Reilly Grant (use Gerrit)
2016/08/26 18:17:15
I stole the word "query" from the Permission API s
| |
66 mojom::blink::PermissionServicePtr m_service; | 66 mojom::blink::PermissionServicePtr m_service; |
67 }; | 67 }; |
68 | 68 |
69 } // namespace blink | 69 } // namespace blink |
70 | 70 |
71 #endif // PermissionStatus_h | 71 #endif // PermissionStatus_h |
OLD | NEW |