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

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: 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
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;
haraken 2014/06/10 12:04:34 This should be RefPtrWillBeMember.
zerny-chromium 2014/06/10 12:12:51 Are Geolocation and GeolocationPosition no longer
+ typedef PersistentHeapHashSetWillBeHeapHashSet<Member<Geolocation> > ObserversSet;
haraken 2014/06/10 12:04:34 This should be WillBeHeapHashSet.
// All observers; both those requesting high accuracy and those not.
ObserversSet m_observers;
ObserversSet m_highAccuracyObservers;

Powered by Google App Engine
This is Rietveld 408576698