| Index: Source/core/html/HTMLDialogElement.cpp
|
| diff --git a/Source/core/html/HTMLDialogElement.cpp b/Source/core/html/HTMLDialogElement.cpp
|
| index 42a503d30dcea95d4081a5174ac472d31f69eeed..d77ceb666f0bc692988e0eda70ddde53bd6c838f 100644
|
| --- a/Source/core/html/HTMLDialogElement.cpp
|
| +++ b/Source/core/html/HTMLDialogElement.cpp
|
| @@ -95,6 +95,7 @@ HTMLDialogElement::HTMLDialogElement(Document& document)
|
| , m_centeringMode(Uninitialized)
|
| , m_centeredPosition(0)
|
| , m_returnValue("")
|
| + , m_modal(false)
|
| {
|
| ScriptWrappable::init(this);
|
| }
|
| @@ -113,6 +114,12 @@ void HTMLDialogElement::close(const String& returnValue, ExceptionState& excepti
|
| closeDialog(returnValue);
|
| }
|
|
|
| +void HTMLDialogElement::removedFrom(ContainerNode* insertionPoint)
|
| +{
|
| + document().removeFromModalDialogStack(this);
|
| + HTMLElement::removedFrom(insertionPoint);
|
| +}
|
| +
|
| void HTMLDialogElement::closeDialog(const String& returnValue)
|
| {
|
| if (!fastHasAttribute(openAttr))
|
| @@ -120,7 +127,7 @@ void HTMLDialogElement::closeDialog(const String& returnValue)
|
| setBooleanAttribute(openAttr, false);
|
|
|
| HTMLDialogElement* activeModalDialog = document().activeModalDialog();
|
| - document().removeFromTopLayer(this);
|
| + document().removeFromModalDialogStack(this);
|
| if (activeModalDialog == this)
|
| inertSubtreesChanged(document());
|
|
|
| @@ -157,7 +164,7 @@ void HTMLDialogElement::showModal(ExceptionState& exceptionState)
|
| return;
|
| }
|
|
|
| - document().addToTopLayer(this);
|
| + document().addToModalDialogStack(this);
|
| setBooleanAttribute(openAttr, true);
|
|
|
| // Throw away the AX cache first, so the subsequent steps don't have a chance of queuing up
|
|
|