• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
11 namespace blink {
12 
TextResource(const ResourceRequest & resourceRequest,Resource::Type type,const String & mimeType,const String & charset)13 TextResource::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 
~TextResource()19 TextResource::~TextResource()
20 {
21 }
22 
setEncoding(const String & chs)23 void TextResource::setEncoding(const String& chs)
24 {
25     m_decoder->setEncoding(chs, TextResourceDecoder::EncodingFromHTTPHeader);
26 }
27 
encoding() const28 String TextResource::encoding() const
29 {
30     return m_decoder->encoding().name();
31 }
32 
decodedText() const33 String 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