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

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

Issue 1805843002: [v8 gc] Introduce a base class for all objects that can have pending activity (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: updates 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 PermissionStatus_h 5 #ifndef PermissionStatus_h
6 #define PermissionStatus_h 6 #define PermissionStatus_h
7 7
8 #include "bindings/core/v8/V8GCRoot.h"
8 #include "core/dom/ActiveDOMObject.h" 9 #include "core/dom/ActiveDOMObject.h"
9 #include "core/events/EventTarget.h" 10 #include "core/events/EventTarget.h"
10 #include "platform/heap/Handle.h" 11 #include "platform/heap/Handle.h"
11 #include "public/platform/modules/permissions/WebPermissionObserver.h" 12 #include "public/platform/modules/permissions/WebPermissionObserver.h"
12 #include "public/platform/modules/permissions/WebPermissionStatus.h" 13 #include "public/platform/modules/permissions/WebPermissionStatus.h"
13 #include "public/platform/modules/permissions/WebPermissionType.h" 14 #include "public/platform/modules/permissions/WebPermissionType.h"
14 #include "wtf/text/AtomicString.h" 15 #include "wtf/text/AtomicString.h"
15 #include "wtf/text/WTFString.h" 16 #include "wtf/text/WTFString.h"
16 17
17 namespace blink { 18 namespace blink {
18 19
19 class ExecutionContext; 20 class ExecutionContext;
20 class ScriptPromiseResolver; 21 class ScriptPromiseResolver;
21 22
22 // Expose the status of a given WebPermissionType for the current 23 // Expose the status of a given WebPermissionType for the current
23 // ExecutionContext. 24 // ExecutionContext.
24 class PermissionStatus final 25 class PermissionStatus final
25 : public RefCountedGarbageCollectedEventTargetWithInlineData<PermissionStatu s> 26 : public RefCountedGarbageCollectedEventTargetWithInlineData<PermissionStatu s>
26 , public ActiveDOMObject 27 , public ActiveDOMObject
27 , public WebPermissionObserver { 28 , public WebPermissionObserver
29 , public V8GCRoot {
28 REFCOUNTED_GARBAGE_COLLECTED_EVENT_TARGET(PermissionStatus); 30 REFCOUNTED_GARBAGE_COLLECTED_EVENT_TARGET(PermissionStatus);
29 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(PermissionStatus); 31 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(PermissionStatus);
30 DEFINE_WRAPPERTYPEINFO(); 32 DEFINE_WRAPPERTYPEINFO();
31 public: 33 public:
32 static PermissionStatus* take(ScriptPromiseResolver*, WebPermissionStatus, W ebPermissionType); 34 static PermissionStatus* take(ScriptPromiseResolver*, WebPermissionStatus, W ebPermissionType);
33 35
34 static PermissionStatus* createAndListen(ExecutionContext*, WebPermissionSta tus, WebPermissionType); 36 static PermissionStatus* createAndListen(ExecutionContext*, WebPermissionSta tus, WebPermissionType);
35 ~PermissionStatus() override; 37 ~PermissionStatus() override;
36 38
37 // EventTarget implementation. 39 // EventTarget implementation.
(...skipping 22 matching lines...) Expand all
60 void stopListening(); 62 void stopListening();
61 63
62 WebPermissionStatus m_status; 64 WebPermissionStatus m_status;
63 WebPermissionType m_type; 65 WebPermissionType m_type;
64 bool m_listening; 66 bool m_listening;
65 }; 67 };
66 68
67 } // namespace blink 69 } // namespace blink
68 70
69 #endif // PermissionStatus_h 71 #endif // PermissionStatus_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698