OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google, Inc. All Rights Reserved. | 2 * Copyright (C) 2010 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 |
11 * documentation and/or other materials provided with the distribution. | 11 * documentation and/or other materials provided with the distribution. |
12 * | 12 * |
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY | 13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY |
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR | 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR |
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | 17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | 18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | 20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
24 */ | 24 */ |
25 | 25 |
26 #include "config.h" | 26 #include "config.h" |
27 #include "core/html/parser/HTMLDocumentParser.h" | 27 #include "core/html/parser/HTMLDocumentParser.h" |
28 | 28 |
29 #include "HTMLNames.h" | 29 #include "HTMLNames.h" |
30 #include "core/css/MediaValues.h" | 30 #include "core/css/MediaValuesCached.h" |
31 #include "core/dom/DocumentFragment.h" | 31 #include "core/dom/DocumentFragment.h" |
32 #include "core/dom/Element.h" | 32 #include "core/dom/Element.h" |
33 #include "core/frame/LocalFrame.h" | 33 #include "core/frame/LocalFrame.h" |
34 #include "core/html/HTMLDocument.h" | 34 #include "core/html/HTMLDocument.h" |
35 #include "core/html/parser/AtomicHTMLToken.h" | 35 #include "core/html/parser/AtomicHTMLToken.h" |
36 #include "core/html/parser/BackgroundHTMLParser.h" | 36 #include "core/html/parser/BackgroundHTMLParser.h" |
37 #include "core/html/parser/HTMLParserScheduler.h" | 37 #include "core/html/parser/HTMLParserScheduler.h" |
38 #include "core/html/parser/HTMLParserThread.h" | 38 #include "core/html/parser/HTMLParserThread.h" |
39 #include "core/html/parser/HTMLScriptRunner.h" | 39 #include "core/html/parser/HTMLScriptRunner.h" |
40 #include "core/html/parser/HTMLTreeBuilder.h" | 40 #include "core/html/parser/HTMLTreeBuilder.h" |
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
533 { | 533 { |
534 // The parsing session should interact with the document only when parsing | 534 // The parsing session should interact with the document only when parsing |
535 // non-fragments. Otherwise, we might delay the load event mistakenly. | 535 // non-fragments. Otherwise, we might delay the load event mistakenly. |
536 if (isParsingFragment()) | 536 if (isParsingFragment()) |
537 return 0; | 537 return 0; |
538 return document(); | 538 return document(); |
539 } | 539 } |
540 | 540 |
541 static PassRefPtr<MediaValues> createMediaValues(Document* document) | 541 static PassRefPtr<MediaValues> createMediaValues(Document* document) |
542 { | 542 { |
543 RefPtr<MediaValues> mediaValues = MediaValues::create(document, MediaValues:
:CachingMode); | 543 ASSERT(document); |
| 544 RefPtr<MediaValues> mediaValues = MediaValuesCached::create(*document); |
544 ASSERT(mediaValues->isSafeToSendToAnotherThread()); | 545 ASSERT(mediaValues->isSafeToSendToAnotherThread()); |
545 return mediaValues; | 546 return mediaValues; |
546 } | 547 } |
547 | 548 |
548 void HTMLDocumentParser::pumpTokenizer(SynchronousMode mode) | 549 void HTMLDocumentParser::pumpTokenizer(SynchronousMode mode) |
549 { | 550 { |
550 ASSERT(!isStopped()); | 551 ASSERT(!isStopped()); |
551 ASSERT(!isScheduledForResume()); | 552 ASSERT(!isScheduledForResume()); |
552 // ASSERT that this object is both attached to the Document and protected. | 553 // ASSERT that this object is both attached to the Document and protected. |
553 ASSERT(refCount() >= 2); | 554 ASSERT(refCount() >= 2); |
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1034 void HTMLDocumentParser::setDecoder(PassOwnPtr<TextResourceDecoder> decoder) | 1035 void HTMLDocumentParser::setDecoder(PassOwnPtr<TextResourceDecoder> decoder) |
1035 { | 1036 { |
1036 ASSERT(decoder); | 1037 ASSERT(decoder); |
1037 DecodedDataDocumentParser::setDecoder(decoder); | 1038 DecodedDataDocumentParser::setDecoder(decoder); |
1038 | 1039 |
1039 if (m_haveBackgroundParser) | 1040 if (m_haveBackgroundParser) |
1040 HTMLParserThread::shared()->postTask(bind(&BackgroundHTMLParser::setDeco
der, m_backgroundParser, takeDecoder())); | 1041 HTMLParserThread::shared()->postTask(bind(&BackgroundHTMLParser::setDeco
der, m_backgroundParser, takeDecoder())); |
1041 } | 1042 } |
1042 | 1043 |
1043 } | 1044 } |
OLD | NEW |