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

Side by Side Diff: Source/modules/presentation/PresentationController.h

Issue 1318793005: [part 2] Make classes and structures in modules fast-allocated. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 PresentationController_h 5 #ifndef PresentationController_h
6 #define PresentationController_h 6 #define PresentationController_h
7 7
8 #include "core/frame/LocalFrameLifecycleObserver.h" 8 #include "core/frame/LocalFrameLifecycleObserver.h"
9 #include "modules/ModulesExport.h" 9 #include "modules/ModulesExport.h"
10 #include "modules/presentation/Presentation.h" 10 #include "modules/presentation/Presentation.h"
(...skipping 11 matching lines...) Expand all
22 enum class WebPresentationSessionState; 22 enum class WebPresentationSessionState;
23 23
24 // The coordinator between the various page exposed properties and the content 24 // The coordinator between the various page exposed properties and the content
25 // layer represented via |WebPresentationClient|. 25 // layer represented via |WebPresentationClient|.
26 class MODULES_EXPORT PresentationController final 26 class MODULES_EXPORT PresentationController final
27 : public NoBaseWillBeGarbageCollectedFinalized<PresentationController> 27 : public NoBaseWillBeGarbageCollectedFinalized<PresentationController>
28 , public WillBeHeapSupplement<LocalFrame> 28 , public WillBeHeapSupplement<LocalFrame>
29 , public LocalFrameLifecycleObserver 29 , public LocalFrameLifecycleObserver
30 , public WebPresentationController { 30 , public WebPresentationController {
31 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(PresentationController); 31 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(PresentationController);
32 WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED(PresentationController);
32 WTF_MAKE_NONCOPYABLE(PresentationController); 33 WTF_MAKE_NONCOPYABLE(PresentationController);
33 public: 34 public:
34 ~PresentationController() override; 35 ~PresentationController() override;
35 36
36 static PassOwnPtrWillBeRawPtr<PresentationController> create(LocalFrame&, We bPresentationClient*); 37 static PassOwnPtrWillBeRawPtr<PresentationController> create(LocalFrame&, We bPresentationClient*);
37 38
38 static const char* supplementName(); 39 static const char* supplementName();
39 static PresentationController* from(LocalFrame&); 40 static PresentationController* from(LocalFrame&);
40 41
41 static void provideTo(LocalFrame&, WebPresentationClient*); 42 static void provideTo(LocalFrame&, WebPresentationClient*);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 // The presentation sessions associated with that frame. 81 // The presentation sessions associated with that frame.
81 // TODO(mlamouri): the PresentationController will keep any created session 82 // TODO(mlamouri): the PresentationController will keep any created session
82 // alive until the frame is detached. These should be weak ptr so that the 83 // alive until the frame is detached. These should be weak ptr so that the
83 // session can be GC'd. 84 // session can be GC'd.
84 PersistentHeapHashSetWillBeHeapHashSet<Member<PresentationSession>> m_sessio ns; 85 PersistentHeapHashSetWillBeHeapHashSet<Member<PresentationSession>> m_sessio ns;
85 }; 86 };
86 87
87 } // namespace blink 88 } // namespace blink
88 89
89 #endif // PresentationController_h 90 #endif // PresentationController_h
OLDNEW
« no previous file with comments | « Source/modules/permissions/PermissionController.h ('k') | Source/modules/presentation/PresentationError.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698