| Index: third_party/WebKit/Source/core/loader/FrameLoader.cpp
|
| diff --git a/third_party/WebKit/Source/core/loader/FrameLoader.cpp b/third_party/WebKit/Source/core/loader/FrameLoader.cpp
|
| index 79fd95656d74720228d4a485bd693f839b8f5eac..729ab6c02bc0c45d16ee64cae4dd100037f22619 100644
|
| --- a/third_party/WebKit/Source/core/loader/FrameLoader.cpp
|
| +++ b/third_party/WebKit/Source/core/loader/FrameLoader.cpp
|
| @@ -84,6 +84,7 @@
|
| #include "core/xml/parser/XMLDocumentParser.h"
|
| #include "platform/Logging.h"
|
| #include "platform/PluginScriptForbiddenScope.h"
|
| +#include "platform/ScriptForbiddenScope.h"
|
| #include "platform/UserGestureIndicator.h"
|
| #include "platform/network/HTTPParsers.h"
|
| #include "platform/network/ResourceRequest.h"
|
| @@ -494,8 +495,13 @@ void FrameLoader::finishedParsing()
|
|
|
| m_progressTracker->finishedParsing();
|
|
|
| - if (client())
|
| + if (client()) {
|
| + ScriptForbiddenScope forbidScripts;
|
| client()->dispatchDidFinishDocumentLoad(m_documentLoader ? m_documentLoader->isCommittedButEmpty() : true);
|
| + }
|
| +
|
| + if (client())
|
| + client()->runScriptsAtDocumentReady();
|
|
|
| checkCompleted();
|
|
|
| @@ -1498,9 +1504,16 @@ bool FrameLoader::shouldTreatURLAsSrcdocDocument(const KURL& url) const
|
|
|
| void FrameLoader::dispatchDocumentElementAvailable()
|
| {
|
| + ScriptForbiddenScope forbidScripts;
|
| client()->documentElementAvailable();
|
| }
|
|
|
| +void FrameLoader::runScriptsAtDocumentElementAvailable()
|
| +{
|
| + client()->runScriptsAtDocumentElementAvailable();
|
| + // The frame might be detached at this point.
|
| +}
|
| +
|
| void FrameLoader::dispatchDidClearDocumentOfWindowObject()
|
| {
|
| if (!m_frame->script().canExecuteScripts(NotAboutToExecuteScript))
|
|
|