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

Unified Diff: Source/core/html/MediaController.h

Issue 314113008: Oilpan: have MediaController weakly refer to its media elements. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add FIXME (crbug.com/383072) 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/html/HTMLMediaElement.cpp ('k') | Source/core/html/MediaController.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/html/MediaController.h
diff --git a/Source/core/html/MediaController.h b/Source/core/html/MediaController.h
index 29b7d9ac638ed25241d2748f675d07f836f46396..3af94d011ccefac3a96ff3358a21a675ef2eba02 100644
--- a/Source/core/html/MediaController.h
+++ b/Source/core/html/MediaController.h
@@ -29,9 +29,9 @@
#include "bindings/v8/ScriptWrappable.h"
#include "core/events/EventTarget.h"
#include "core/html/HTMLMediaElement.h"
+#include "wtf/LinkedHashSet.h"
#include "wtf/PassRefPtr.h"
#include "wtf/RefCounted.h"
-#include "wtf/Vector.h"
namespace WebCore {
@@ -86,6 +86,8 @@ public:
void clearExecutionContext() { m_executionContext = 0; }
+ virtual void trace(Visitor*) OVERRIDE;
+
private:
MediaController(ExecutionContext*);
void reportControllerState();
@@ -106,7 +108,12 @@ private:
friend class HTMLMediaElement;
friend class MediaControllerEventListener;
- Vector<HTMLMediaElement*> m_mediaElements;
+ // FIXME: A MediaController should ideally keep an otherwise
+ // unreferenced slaved media element alive. When Oilpan is
+ // enabled by default, consider making the hash set references
+ // strong to accomplish that. crbug.com/383072
+ typedef WillBeHeapLinkedHashSet<RawPtrWillBeWeakMember<HTMLMediaElement> > MediaElementSequence;
+ MediaElementSequence m_mediaElements;
bool m_paused;
double m_defaultPlaybackRate;
double m_volume;
« no previous file with comments | « Source/core/html/HTMLMediaElement.cpp ('k') | Source/core/html/MediaController.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698