Chromium Code Reviews| 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 26bd2f95c92e404ed37be2e1c80177c58efb2a69..7716e68f40964cec32bcf4776d60a1c3f1cfef5a 100644 |
| --- a/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
| +++ b/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
| @@ -716,6 +716,15 @@ void FrameLoader::checkCompleted() { |
| if (!shouldComplete(m_frame->document())) |
| return; |
| + if (client()) { |
| + client()->runScriptsAtDocumentIdle(); |
| + |
| + // Check again, because runScriptsAtDocumentIdle() may have delayed the load |
| + // event. |
| + if (!shouldComplete(m_frame->document())) |
|
Devlin
2017/02/21 18:56:26
m_frame may be deleted at this point.
Kunihiko Sakamoto
2017/02/23 09:49:01
Check added.
|
| + return; |
| + } |
| + |
| // OK, completed. |
| m_frame->document()->setReadyState(Document::Complete); |
| if (m_frame->document()->loadEventStillNeeded()) |