OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google, Inc. All Rights Reserved. | 2 * Copyright (C) 2013 Google, Inc. All Rights Reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 22 matching lines...) Expand all Loading... |
33 #include "core/loader/FrameLoader.h" | 33 #include "core/loader/FrameLoader.h" |
34 | 34 |
35 namespace blink { | 35 namespace blink { |
36 | 36 |
37 HTMLParserOptions::HTMLParserOptions(Document* document) | 37 HTMLParserOptions::HTMLParserOptions(Document* document) |
38 { | 38 { |
39 LocalFrame* frame = document ? document->frame() : 0; | 39 LocalFrame* frame = document ? document->frame() : 0; |
40 scriptEnabled = frame && frame->script().canExecuteScripts(NotAboutToExecute
Script); | 40 scriptEnabled = frame && frame->script().canExecuteScripts(NotAboutToExecute
Script); |
41 pluginsEnabled = frame && frame->loader().allowPlugins(NotAboutToInstantiate
Plugin); | 41 pluginsEnabled = frame && frame->loader().allowPlugins(NotAboutToInstantiate
Plugin); |
42 | 42 |
43 // We force the main-thread parser for two cases: | 43 // We force the main-thread parser for three cases: |
44 // - about:blank and javascript (which uses about:blank) for compatibility | 44 // - about:blank and javascript (which uses about:blank) for compatibility |
45 // with historical synchronous loading/parsing behavior. | 45 // with historical synchronous loading/parsing behavior. |
46 // - instances where the Document has no Frame (this happens sometimes for | 46 // - HTML imports (FIXME: enable off-thread parser for this case) |
47 // HTML imports, and possibly other cases). | 47 // - inspector/DOMPatchSupport replacing the whole document. |
48 // FIXME: We want to use the threaded parser for XHRs (where there is no | 48 // (DOMPatchSupport calls in |DocumentParser::pinToMainThread()| for this
case) |
49 // frame) so the second case should go away eventually. | |
50 // FIXME: Gecko does not load javascript: urls synchronously, why do we? | 49 // FIXME: Gecko does not load javascript: urls synchronously, why do we? |
51 // See LayoutTests/loader/iframe-sync-loads.html | 50 // See LayoutTests/loader/iframe-sync-loads.html |
52 useThreading = document && document->frame() && !document->url().isAboutBlan
kURL(); | 51 useThreading = document && !document->importsController() && !document->url(
).isAboutBlankURL(); |
53 } | 52 } |
54 | 53 |
55 } | 54 } |
OLD | NEW |