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

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

Issue 804553003: Implement Permissions.query() and static PermissionStatus. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 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 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"
12 #include "public/platform/modules/permissions/WebPermissionType.h"
11 #include "wtf/text/AtomicString.h" 13 #include "wtf/text/AtomicString.h"
12 #include "wtf/text/WTFString.h" 14 #include "wtf/text/WTFString.h"
13 15
14 namespace blink { 16 namespace blink {
15 17
16 class ExecutionContext; 18 class ExecutionContext;
19 class ScriptPromiseResolver;
17 20
18 class PermissionStatus final 21 class PermissionStatus final
19 : public RefCountedGarbageCollectedEventTargetWithInlineData<PermissionStatu s> 22 : public RefCountedGarbageCollectedEventTargetWithInlineData<PermissionStatu s>
20 , public ContextLifecycleObserver { 23 , public ContextLifecycleObserver {
21 DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollected<P ermissionStatus>); 24 DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollected<P ermissionStatus>);
22 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(PermissionStatus); 25 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(PermissionStatus);
23 DEFINE_WRAPPERTYPEINFO(); 26 DEFINE_WRAPPERTYPEINFO();
24 public: 27 public:
25 static PermissionStatus* create(ExecutionContext*); 28 static PermissionStatus* take(ScriptPromiseResolver*, WebPermissionStatus*, WebPermissionType);
29 static void dispose(WebPermissionStatus*);
30
26 ~PermissionStatus() override; 31 ~PermissionStatus() override;
27 32
28 // EventTarget implementation. 33 // EventTarget implementation.
29 const AtomicString& interfaceName() const override; 34 const AtomicString& interfaceName() const override;
30 ExecutionContext* executionContext() const override; 35 ExecutionContext* executionContext() const override;
31 36
32 DECLARE_VIRTUAL_TRACE(); 37 DECLARE_VIRTUAL_TRACE();
33 38
34 String status() const; 39 String status() const;
40 // TODO: needs to be used by the IDL
mlamouri (slow - plz ping) 2015/03/06 11:53:48 That thing is temporary because otherwise, this CL
41 WebPermissionType type() const { return m_type; }
35 42
36 DEFINE_ATTRIBUTE_EVENT_LISTENER(change); 43 DEFINE_ATTRIBUTE_EVENT_LISTENER(change);
37 44
38 private: 45 private:
39 explicit PermissionStatus(ExecutionContext*); 46 explicit PermissionStatus(ExecutionContext*, WebPermissionType, WebPermissio nStatus);
47
48 WebPermissionType m_type;
49 WebPermissionStatus m_status;
40 }; 50 };
41 51
42 } // namespace blink 52 } // namespace blink
43 53
44 #endif // PermissionStatus_h 54 #endif // PermissionStatus_h
OLDNEW
« no previous file with comments | « Source/modules/permissions/PermissionQueryCallback.cpp ('k') | Source/modules/permissions/PermissionStatus.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698