X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fthird_party%2FWebKit%2FSource%2Fcore%2Fhtml%2Fparser%2FHTMLParserOptions.cpp;h=8aabcd127fbdbc2f124e1ecb03e80835c7d23e51;hb=004985e17e624662a4c85c76a7654039dc83f028;hp=150eed25ce8be1025024e6291e0635397054e62a;hpb=2f108dbacb161091e42a3479f4e171339b7e7623;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/third_party/WebKit/Source/core/html/parser/HTMLParserOptions.cpp b/src/third_party/WebKit/Source/core/html/parser/HTMLParserOptions.cpp index 150eed2..8aabcd1 100644 --- a/src/third_party/WebKit/Source/core/html/parser/HTMLParserOptions.cpp +++ b/src/third_party/WebKit/Source/core/html/parser/HTMLParserOptions.cpp @@ -40,10 +40,17 @@ HTMLParserOptions::HTMLParserOptions(Document* document) scriptEnabled = frame && frame->script().canExecuteScripts(NotAboutToExecuteScript); pluginsEnabled = frame && frame->loader().allowPlugins(NotAboutToInstantiatePlugin); + // We force the main-thread parser for about:blank and javascript: + // (which uses about:blank urls) and data: urls for compatibility + // with historical synchronous loading/parsing behavior. + // FIXME: Gecko does not load javascript: urls synchronously, why do we? + // See LayoutTests/loader/iframe-sync-loads.html + // FIXME: threadedHTMLParser() setting should be removed but currently many + // webkit_unit_tests depend on parsing being synchronous. crbug.com/366354 + // FIXME: useThreadedHTMLParserForDataURLs() setting should be removed but + // currently many browser_tests depend on data: urls being synchronous! crbug.com/308321 Settings* settings = document ? document->settings() : 0; - // We force the main-thread parser for about:blank, javascript: and data: urls for compatibility - // with historical synchronous loading/parsing behavior of those schemes. - useThreading = settings && settings->threadedHTMLParser() && !document->url().isBlankURL() + useThreading = settings && settings->threadedHTMLParser() && !document->url().isAboutBlankURL() && (settings->useThreadedHTMLParserForDataURLs() || !document->url().protocolIsData()); }