| Index: Source/core/loader/DocumentWriter.cpp
|
| diff --git a/Source/core/loader/DocumentWriter.cpp b/Source/core/loader/DocumentWriter.cpp
|
| index 567889a50b66cee430346cf23e60ef645496357c..9767ca8078e952b51d34f8a2653cd7803c65df60 100644
|
| --- a/Source/core/loader/DocumentWriter.cpp
|
| +++ b/Source/core/loader/DocumentWriter.cpp
|
| @@ -86,8 +86,8 @@ void DocumentWriter::addData(const char* bytes, size_t length)
|
| {
|
| ASSERT(m_parser);
|
| if (m_parser->needsDecoder() && 0 < length) {
|
| - RefPtr<TextResourceDecoder> decoder = m_decoderBuilder.buildFor(m_document);
|
| - m_parser->setDecoder(decoder);
|
| + OwnPtr<TextResourceDecoder> decoder = m_decoderBuilder.buildFor(m_document);
|
| + m_parser->setDecoder(decoder.release());
|
| }
|
| // appendBytes() can result replacing DocumentLoader::m_writer.
|
| RefPtr<DocumentWriter> protectingThis(this);
|
| @@ -107,8 +107,8 @@ void DocumentWriter::end()
|
| return;
|
|
|
| if (m_parser->needsDecoder()) {
|
| - RefPtr<TextResourceDecoder> decoder = m_decoderBuilder.buildFor(m_document);
|
| - m_parser->setDecoder(decoder);
|
| + OwnPtr<TextResourceDecoder> decoder = m_decoderBuilder.buildFor(m_document);
|
| + m_parser->setDecoder(decoder.release());
|
| }
|
| // flush() can result replacing DocumentLoader::m_writer.
|
| RefPtr<DocumentWriter> protectingThis(this);
|
| @@ -124,7 +124,7 @@ void DocumentWriter::end()
|
|
|
| void DocumentWriter::setUserChosenEncoding(const String& charset)
|
| {
|
| - RefPtr<TextResourceDecoder> decoder = m_parser->decoder();
|
| + TextResourceDecoder* decoder = m_parser->decoder();
|
| if (decoder)
|
| decoder->setEncoding(charset, TextResourceDecoder::UserChosenEncoding);
|
| }
|
|
|