| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010. Adam Barth. All rights reserved. | 2 * Copyright (C) 2010. Adam Barth. 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 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 72 visitor->trace(m_document); | 72 visitor->trace(m_document); |
| 73 visitor->trace(m_parser); | 73 visitor->trace(m_parser); |
| 74 } | 74 } |
| 75 | 75 |
| 76 void DocumentWriter::appendReplacingData(const String& source) | 76 void DocumentWriter::appendReplacingData(const String& source) |
| 77 { | 77 { |
| 78 m_document->setCompatibilityMode(Document::NoQuirksMode); | 78 m_document->setCompatibilityMode(Document::NoQuirksMode); |
| 79 | 79 |
| 80 // FIXME: This should call DocumentParser::appendBytes instead of append | 80 // FIXME: This should call DocumentParser::appendBytes instead of append |
| 81 // to support RawDataDocumentParsers. | 81 // to support RawDataDocumentParsers. |
| 82 if (DocumentParser* parser = m_document->parser()) { | 82 if (DocumentParser* parser = m_document->parser()) |
| 83 // Because the parser is pinned to the main thread we don't need to worr
y about | 83 parser->append(source); |
| 84 // passing ownership of the source string. | |
| 85 parser->append(source.impl()); | |
| 86 } | |
| 87 } | 84 } |
| 88 | 85 |
| 89 void DocumentWriter::addData(const char* bytes, size_t length) | 86 void DocumentWriter::addData(const char* bytes, size_t length) |
| 90 { | 87 { |
| 91 ASSERT(m_parser); | 88 ASSERT(m_parser); |
| 92 if (m_parser->needsDecoder() && 0 < length) { | 89 if (m_parser->needsDecoder() && 0 < length) { |
| 93 OwnPtr<TextResourceDecoder> decoder = m_decoderBuilder.buildFor(m_docume
nt); | 90 OwnPtr<TextResourceDecoder> decoder = m_decoderBuilder.buildFor(m_docume
nt); |
| 94 m_parser->setDecoder(decoder.release()); | 91 m_parser->setDecoder(decoder.release()); |
| 95 } | 92 } |
| 96 // appendBytes() can result replacing DocumentLoader::m_writer. | 93 // appendBytes() can result replacing DocumentLoader::m_writer. |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 decoder->setEncoding(charset, TextResourceDecoder::UserChosenEncoding); | 126 decoder->setEncoding(charset, TextResourceDecoder::UserChosenEncoding); |
| 130 } | 127 } |
| 131 | 128 |
| 132 void DocumentWriter::setDocumentWasLoadedAsPartOfNavigation() | 129 void DocumentWriter::setDocumentWasLoadedAsPartOfNavigation() |
| 133 { | 130 { |
| 134 ASSERT(m_parser && !m_parser->isStopped()); | 131 ASSERT(m_parser && !m_parser->isStopped()); |
| 135 m_parser->setDocumentWasLoadedAsPartOfNavigation(); | 132 m_parser->setDocumentWasLoadedAsPartOfNavigation(); |
| 136 } | 133 } |
| 137 | 134 |
| 138 } // namespace blink | 135 } // namespace blink |
| OLD | NEW |