| Index: Source/core/html/parser/HTMLParserOptions.cpp
|
| diff --git a/Source/core/html/parser/HTMLParserOptions.cpp b/Source/core/html/parser/HTMLParserOptions.cpp
|
| index 64a3f4d8aa74308f684b9dbac02f3b3bffae584e..d4c925578daadd1383230f89d6667eea6c8aa6b0 100644
|
| --- a/Source/core/html/parser/HTMLParserOptions.cpp
|
| +++ b/Source/core/html/parser/HTMLParserOptions.cpp
|
| @@ -40,16 +40,15 @@ HTMLParserOptions::HTMLParserOptions(Document* document)
|
| scriptEnabled = frame && frame->script().canExecuteScripts(NotAboutToExecuteScript);
|
| pluginsEnabled = frame && frame->loader().allowPlugins(NotAboutToInstantiatePlugin);
|
|
|
| - // We force the main-thread parser for two cases:
|
| + // We force the main-thread parser for three cases:
|
| // - about:blank and javascript (which uses about:blank) for compatibility
|
| // with historical synchronous loading/parsing behavior.
|
| - // - instances where the Document has no Frame (this happens sometimes for
|
| - // HTML imports, and possibly other cases).
|
| - // FIXME: We want to use the threaded parser for XHRs (where there is no
|
| - // frame) so the second case should go away eventually.
|
| + // - HTML imports (FIXME: enable off-thread parser for this case)
|
| + // - inspector/DOMPatchSupport replacing the whole document.
|
| + // (DOMPatchSupport calls in |DocumentParser::pinToMainThread()| for this case)
|
| // FIXME: Gecko does not load javascript: urls synchronously, why do we?
|
| // See LayoutTests/loader/iframe-sync-loads.html
|
| - useThreading = document && document->frame() && !document->url().isAboutBlankURL();
|
| + useThreading = document && !document->importsController() && !document->url().isAboutBlankURL();
|
| }
|
|
|
| }
|
|
|