Chromium Code Reviews| Index: Source/core/dom/Document.cpp |
| diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp |
| index 5a09d1d367578cc53657d00fa5ce5ccae1876ee8..abd5e8b85a29630ae357eb61eaa183f492f005b5 100644 |
| --- a/Source/core/dom/Document.cpp |
| +++ b/Source/core/dom/Document.cpp |
| @@ -5094,9 +5094,15 @@ void Document::removeFromTopLayer(Element* element) |
| HTMLDialogElement* Document::activeModalDialog() const |
| { |
| - if (m_topLayerElements.isEmpty()) |
| - return 0; |
| - return toHTMLDialogElement(m_topLayerElements.last().get()); |
| + WillBeHeapVector<RefPtrWillBeMember<Element>>::const_reverse_iterator end = m_topLayerElements.rend(); |
| + WillBeHeapVector<RefPtrWillBeMember<Element>>::const_reverse_iterator it = m_topLayerElements.rbegin(); |
| + for (; it != end; ++it) { |
|
esprehn
2014/12/15 09:45:32
Use C++11 for loop.
Julien - ping for review
2014/12/15 17:02:53
Done
Julien - ping for review
2014/12/15 21:32:03
Actually I probably didn't do what asked for: we c
|
| + Element* currentTopLayerElement = it->get(); |
| + if (isHTMLDialogElement(currentTopLayerElement)) |
| + return toHTMLDialogElement(currentTopLayerElement); |
| + } |
| + |
| + return 0; |
| } |
| void Document::exitPointerLock() |