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

Unified Diff: Source/modules/geolocation/GeolocationController.h

Issue 323873007: Oilpan: Make LocalFrame PersistentHeapSupplementable and use transition types for its supplements. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: non-oilpan build Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/frame/LocalFrame.h ('k') | Source/modules/geolocation/GeolocationController.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/modules/geolocation/GeolocationController.h
diff --git a/Source/modules/geolocation/GeolocationController.h b/Source/modules/geolocation/GeolocationController.h
index abfce42669383e3d95ae4e8262525f60877450a0..574c8b13ba0e574f1d3820f29a070450560fb37d 100644
--- a/Source/modules/geolocation/GeolocationController.h
+++ b/Source/modules/geolocation/GeolocationController.h
@@ -40,12 +40,13 @@ class GeolocationClient;
class GeolocationError;
class GeolocationPosition;
-class GeolocationController FINAL : public Supplement<LocalFrame>, public PageLifecycleObserver {
+class GeolocationController FINAL : public NoBaseWillBeGarbageCollectedFinalized<GeolocationController>, public WillBeHeapSupplement<LocalFrame>, public PageLifecycleObserver {
+ WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(GeolocationController);
WTF_MAKE_NONCOPYABLE(GeolocationController);
public:
virtual ~GeolocationController();
- static PassOwnPtr<GeolocationController> create(LocalFrame&, GeolocationClient*);
+ static PassOwnPtrWillBeRawPtr<GeolocationController> create(LocalFrame&, GeolocationClient*);
void addObserver(Geolocation*, bool enableHighAccuracy);
void removeObserver(Geolocation*);
@@ -66,7 +67,9 @@ public:
virtual void pageVisibilityChanged() OVERRIDE;
static const char* supplementName();
- static GeolocationController* from(LocalFrame* frame) { return static_cast<GeolocationController*>(Supplement<LocalFrame>::from(frame, supplementName())); }
+ static GeolocationController* from(LocalFrame* frame) { return static_cast<GeolocationController*>(WillBeHeapSupplement<LocalFrame>::from(frame, supplementName())); }
+
+ virtual void trace(Visitor*) OVERRIDE;
virtual void willBeDestroyed() OVERRIDE;
@@ -79,8 +82,8 @@ private:
GeolocationClient* m_client;
bool m_hasClientForTest;
- Persistent<GeolocationPosition> m_lastPosition;
- typedef PersistentHeapHashSet<Member<Geolocation> > ObserversSet;
+ PersistentWillBeMember<GeolocationPosition> m_lastPosition;
+ typedef PersistentHeapHashSetWillBeHeapHashSet<Member<Geolocation> > ObserversSet;
// All observers; both those requesting high accuracy and those not.
ObserversSet m_observers;
ObserversSet m_highAccuracyObservers;
« no previous file with comments | « Source/core/frame/LocalFrame.h ('k') | Source/modules/geolocation/GeolocationController.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698