| Index: Source/core/loader/FrameLoader.cpp
|
| diff --git a/Source/core/loader/FrameLoader.cpp b/Source/core/loader/FrameLoader.cpp
|
| index df7b71458088ae0c1e25bcdf259046383eddf752..fe466c5fff918ee2c71191c186ea507d8a1da966 100644
|
| --- a/Source/core/loader/FrameLoader.cpp
|
| +++ b/Source/core/loader/FrameLoader.cpp
|
| @@ -117,6 +117,7 @@ FrameLoader::FrameLoader(LocalFrame* frame)
|
| , m_didAccessInitialDocument(false)
|
| , m_didAccessInitialDocumentTimer(this, &FrameLoader::didAccessInitialDocumentTimerFired)
|
| , m_forcedSandboxFlags(SandboxNone)
|
| + , m_dispatchingDidClearWindowObjectInMainWorld(false)
|
| {
|
| }
|
|
|
| @@ -1375,6 +1376,10 @@ void FrameLoader::dispatchDidClearWindowObjectInMainWorld()
|
| if (!m_frame->script().canExecuteScripts(NotAboutToExecuteScript))
|
| return;
|
|
|
| + if (m_dispatchingDidClearWindowObjectInMainWorld)
|
| + return;
|
| + TemporaryChange<bool>
|
| + inDidClearWindowObject(m_dispatchingDidClearWindowObjectInMainWorld, true);
|
| client()->dispatchDidClearWindowObjectInMainWorld();
|
| }
|
|
|
|
|