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

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

Issue 1045283002: Implement PermissionDescriptor usage in Permissions API. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: fix typo Created 5 years, 8 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 "core/dom/ContextLifecycleObserver.h" 8 #include "core/dom/ContextLifecycleObserver.h"
9 #include "core/events/EventTarget.h" 9 #include "core/events/EventTarget.h"
10 #include "platform/heap/Handle.h" 10 #include "platform/heap/Handle.h"
11 #include "public/platform/modules/permissions/WebPermissionStatus.h" 11 #include "public/platform/modules/permissions/WebPermissionStatus.h"
12 #include "public/platform/modules/permissions/WebPermissionType.h" 12 #include "public/platform/modules/permissions/WebPermissionType.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
22 // ExecutionContext.
21 class PermissionStatus final 23 class PermissionStatus final
22 : public RefCountedGarbageCollectedEventTargetWithInlineData<PermissionStatu s> 24 : public RefCountedGarbageCollectedEventTargetWithInlineData<PermissionStatu s>
23 , public ContextLifecycleObserver { 25 , public ContextLifecycleObserver {
24 DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollected<P ermissionStatus>); 26 DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollected<P ermissionStatus>);
25 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(PermissionStatus); 27 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(PermissionStatus);
26 DEFINE_WRAPPERTYPEINFO(); 28 DEFINE_WRAPPERTYPEINFO();
27 public: 29 public:
28 static PermissionStatus* take(ScriptPromiseResolver*, WebPermissionStatus*, WebPermissionType); 30 static PermissionStatus* take(ScriptPromiseResolver*, WebPermissionStatus*, WebPermissionType);
29 static void dispose(WebPermissionStatus*); 31 static void dispose(WebPermissionStatus*);
30 32
33 PermissionStatus(ExecutionContext*, WebPermissionStatus);
31 ~PermissionStatus() override; 34 ~PermissionStatus() override;
32 35
33 // EventTarget implementation. 36 // EventTarget implementation.
34 const AtomicString& interfaceName() const override; 37 const AtomicString& interfaceName() const override;
35 ExecutionContext* executionContext() const override; 38 ExecutionContext* executionContext() const override;
36 39
37 DECLARE_VIRTUAL_TRACE(); 40 DECLARE_VIRTUAL_TRACE();
38 41
39 String status() const; 42 String status() const;
40 // TODO: needs to be used by the IDL
41 WebPermissionType type() const { return m_type; }
42 43
43 DEFINE_ATTRIBUTE_EVENT_LISTENER(change); 44 DEFINE_ATTRIBUTE_EVENT_LISTENER(change);
44 45
45 private: 46 private:
46 explicit PermissionStatus(ExecutionContext*, WebPermissionType, WebPermissio nStatus);
47
48 WebPermissionType m_type;
49 WebPermissionStatus m_status; 47 WebPermissionStatus m_status;
50 }; 48 };
51 49
52 } // namespace blink 50 } // namespace blink
53 51
54 #endif // PermissionStatus_h 52 #endif // PermissionStatus_h
OLDNEW
« no previous file with comments | « Source/modules/permissions/PermissionDescriptor.idl ('k') | Source/modules/permissions/PermissionStatus.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698