| Index: Source/core/dom/Document.cpp
|
| diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp
|
| index 5a09d1d367578cc53657d00fa5ce5ccae1876ee8..d96ecfcd17a33a3e5e78ac892f0f82e081d2a847 100644
|
| --- a/Source/core/dom/Document.cpp
|
| +++ b/Source/core/dom/Document.cpp
|
| @@ -5094,9 +5094,13 @@ void Document::removeFromTopLayer(Element* element)
|
|
|
| HTMLDialogElement* Document::activeModalDialog() const
|
| {
|
| - if (m_topLayerElements.isEmpty())
|
| - return 0;
|
| - return toHTMLDialogElement(m_topLayerElements.last().get());
|
| + for (auto it = m_topLayerElements.rbegin(); it != m_topLayerElements.rend(); ++it) {
|
| + Element* currentTopLayerElement = it->get();
|
| + if (isHTMLDialogElement(currentTopLayerElement))
|
| + return toHTMLDialogElement(currentTopLayerElement);
|
| + }
|
| +
|
| + return 0;
|
| }
|
|
|
| void Document::exitPointerLock()
|
|
|