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

Side by Side Diff: third_party/WebKit/Source/modules/permissions/PermissionStatus.h

Issue 2255933002: Add PermissionDescriptor to the permissions Mojo interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@no_notification_dispatcher
Patch Set: Demonstrate PermissionDescriptor extensibility with MIDI. Created 4 years, 3 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 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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698