1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "config.h" 6#include "core/fetch/TextResource.h" 7 8#include "core/html/parser/TextResourceDecoder.h" 9#include "platform/SharedBuffer.h" 10 11namespace blink { 12 13TextResource::TextResource(const ResourceRequest& resourceRequest, Resource::Type type, const String& mimeType, const String& charset) 14 : Resource(resourceRequest, type) 15 , m_decoder(TextResourceDecoder::create(mimeType, charset)) 16{ 17} 18 19TextResource::~TextResource() 20{ 21} 22 23void TextResource::setEncoding(const String& chs) 24{ 25 m_decoder->setEncoding(chs, TextResourceDecoder::EncodingFromHTTPHeader); 26} 27 28String TextResource::encoding() const 29{ 30 return m_decoder->encoding().name(); 31} 32 33String TextResource::decodedText() const 34{ 35 ASSERT(m_data); 36 37 String text = m_decoder->decode(m_data->data(), encodedSize()); 38 text = text + m_decoder->flush(); 39 40 return text; 41} 42 43} // namespace blink 44