Index: Source/core/dom/FullscreenElementStack.cpp |
diff --git a/Source/core/dom/FullscreenElementStack.cpp b/Source/core/dom/FullscreenElementStack.cpp |
index 98d846eaac8b96fc4ed80d7b9b2a8efc7f27a9eb..9d82cad6eb91504daf0245ad1f23dc5888dbd323 100644 |
--- a/Source/core/dom/FullscreenElementStack.cpp |
+++ b/Source/core/dom/FullscreenElementStack.cpp |
@@ -268,7 +268,7 @@ void FullscreenElementStack::webkitCancelFullScreen() |
// To achieve that aim, remove all the elements from the top document's stack except for the first before |
// calling webkitExitFullscreen(): |
- Vector<RefPtr<Element> > replacementFullscreenElementStack; |
+ WillBeHeapVector<RefPtrWillBeMember<Element> > replacementFullscreenElementStack; |
replacementFullscreenElementStack.append(fullscreenElementFrom(document()->topDocument())); |
FullscreenElementStack& topFullscreenElementStack = from(document()->topDocument()); |
topFullscreenElementStack.m_fullScreenElementStack.swap(replacementFullscreenElementStack); |
@@ -477,14 +477,14 @@ void FullscreenElementStack::fullScreenChangeDelayTimerFired(Timer<FullscreenEle |
// Since we dispatch events in this function, it's possible that the |
// document will be detached and GC'd. We protect it here to make sure we |
// can finish the function successfully. |
- RefPtr<Document> protectDocument(document()); |
- Deque<RefPtr<Node> > changeQueue; |
+ RefPtrWillBeRawPtr<Document> protectDocument(document()); |
+ WillBeHeapDeque<RefPtrWillBeMember<Node> > changeQueue; |
m_fullScreenChangeEventTargetQueue.swap(changeQueue); |
- Deque<RefPtr<Node> > errorQueue; |
+ WillBeHeapDeque<RefPtrWillBeMember<Node> > errorQueue; |
m_fullScreenErrorEventTargetQueue.swap(errorQueue); |
while (!changeQueue.isEmpty()) { |
- RefPtr<Node> node = changeQueue.takeFirst(); |
+ RefPtrWillBeRawPtr<Node> node = changeQueue.takeFirst(); |
if (!node) |
node = document()->documentElement(); |
// The dispatchEvent below may have blown away our documentElement. |
@@ -500,7 +500,7 @@ void FullscreenElementStack::fullScreenChangeDelayTimerFired(Timer<FullscreenEle |
} |
while (!errorQueue.isEmpty()) { |
- RefPtr<Node> node = errorQueue.takeFirst(); |
+ RefPtrWillBeRawPtr<Node> node = errorQueue.takeFirst(); |
if (!node) |
node = document()->documentElement(); |
// The dispatchEvent below may have blown away our documentElement. |
@@ -575,4 +575,12 @@ void FullscreenElementStack::addDocumentToFullScreenChangeEventQueue(Document* d |
m_fullScreenChangeEventTargetQueue.append(target); |
} |
+void FullscreenElementStack::trace(Visitor* visitor) |
+{ |
+ visitor->trace(m_fullScreenElement); |
+ visitor->trace(m_fullScreenElementStack); |
+ visitor->trace(m_fullScreenChangeEventTargetQueue); |
+ visitor->trace(m_fullScreenErrorEventTargetQueue); |
+} |
+ |
} // namespace WebCore |