Index: Source/core/html/shadow/MediaControlElements.cpp |
diff --git a/Source/core/html/shadow/MediaControlElements.cpp b/Source/core/html/shadow/MediaControlElements.cpp |
index a057a5b552c8c0ae7730b9c561a499c752627b6f..2a562f477b49ed4f6a8866ccdc2db624ab7be9ed 100644 |
--- a/Source/core/html/shadow/MediaControlElements.cpp |
+++ b/Source/core/html/shadow/MediaControlElements.cpp |
@@ -327,6 +327,7 @@ Result<MediaControlPanelMuteButtonElement> MediaControlPanelMuteButtonElement::c |
void MediaControlPanelMuteButtonElement::acceptHeapVisitor(Visitor* visitor) const |
{ |
+ visitor->visit(m_controls); |
MediaControlMuteButtonElement::acceptHeapVisitor(visitor); |
} |
@@ -555,6 +556,8 @@ Result<MediaControlClosedCaptionsTrackListElement> MediaControlClosedCaptionsTra |
void MediaControlClosedCaptionsTrackListElement::acceptHeapVisitor(Visitor* visitor) const |
{ |
+ visitor->visit(m_menuItems); |
+ visitor->visit(m_controls); |
MediaControlDivElement::acceptHeapVisitor(visitor); |
} |
@@ -623,9 +626,9 @@ void MediaControlClosedCaptionsTrackListElement::updateDisplay() |
bool captionsVisible = mediaElement->closedCaptionsVisible(); |
for (unsigned i = 0, length = m_menuItems.size(); i < length; ++i) { |
- RefPtr<Element> trackItem = m_menuItems[i]; |
+ Handle<Element> trackItem = m_menuItems[i]; |
- int trackIndex = trackListIndexForElement(trackItem.get()); |
+ int trackIndex = trackListIndexForElement(trackItem.raw()); |
if (trackIndex == HTMLMediaElement::textTracksIndexNotFound()) |
continue; |
@@ -638,7 +641,7 @@ void MediaControlClosedCaptionsTrackListElement::updateDisplay() |
} |
RefPtr<TextTrack> textTrack; |
- MenuItemToTrackMap::iterator iter = m_menuToTrackMap.find(trackItem.get()); |
+ MenuItemToTrackMap::iterator iter = m_menuToTrackMap.find(trackItem.raw()); |
if (iter == m_menuToTrackMap.end()) |
continue; |
textTrack = iter->value; |
@@ -685,7 +688,7 @@ void MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu() |
menuItem->appendChild(doc->createTextNode(textTrackOffText())); |
menuItem->setAttribute(trackIndexAttributeName(), textTracksOffAttrValue, ASSERT_NO_EXCEPTION); |
captionsMenuList->appendChild(menuItem); |
- m_menuItems.append(menuItem); |
+ m_menuItems.append(Handle<Element>(menuItem.get())); |
for (unsigned i = 0, length = tracksForMenu.size(); i < length; ++i) { |
RefPtr<TextTrack> textTrack = tracksForMenu[i]; |
@@ -700,7 +703,7 @@ void MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu() |
menuItem->appendChild(doc->createTextNode(captionsUserPreferences->displayNameForTrack(textTrack.get()))); |
captionsMenuList->appendChild(menuItem); |
- m_menuItems.append(menuItem); |
+ m_menuItems.append(Handle<Element>(menuItem.get())); |
m_menuToTrackMap.add(menuItem, textTrack); |
} |
@@ -730,6 +733,7 @@ Result<MediaControlTimelineElement> MediaControlTimelineElement::create(Handle<D |
void MediaControlTimelineElement::acceptHeapVisitor(Visitor* visitor) const |
{ |
+ visitor->visit(m_controls); |
MediaControlInputElement::acceptHeapVisitor(visitor); |
} |