Index: Source/core/html/parser/HTMLDocumentParser.cpp |
diff --git a/Source/core/html/parser/HTMLDocumentParser.cpp b/Source/core/html/parser/HTMLDocumentParser.cpp |
index 6550314ea84dcfcda1d5c7d343b5027dd2216d9a..76d8efef8fb290ea77ac132852d1e7e9340a5899 100644 |
--- a/Source/core/html/parser/HTMLDocumentParser.cpp |
+++ b/Source/core/html/parser/HTMLDocumentParser.cpp |
@@ -239,6 +239,17 @@ void HTMLDocumentParser::prepareToStopParsing() |
if (isDetached()) |
return; |
+#if ENABLE(OILPAN) |
+ // The Oilpan sub-variant of the above; the document (parser) may |
+ // only have stopped by this stage, but the parser hasn't been cancelled |
+ // and detached. With Oilpan, parser cancellation won't happen when |
+ // the LocalFrame is finalized. Hence, a stopped parser is the strongest |
+ // condition we can test for here. Bail, if so. |
+ if (isStopped()) |
+ return; |
+#endif |
+ |
+ |
attemptToRunDeferredScriptsAndEnd(); |
} |