1d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)// found in the LICENSE file. 4d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) 5d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)#ifndef TextResource_h 6d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)#define TextResource_h 7d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) 8d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)#include "core/fetch/ResourcePtr.h" 9d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) 10c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink { 11d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) 12d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)class ResourceFetcher; 13d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)class TextResourceDecoder; 14d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) 15d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)class TextResource : public Resource { 16d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)public: 17d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) // Returns the decoded data in text form. The data has to be available at 18d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) // call time. 19d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) String decodedText() const; 20d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) 21d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) virtual void setEncoding(const String&) OVERRIDE; 22d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) virtual String encoding() const OVERRIDE; 23d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) 24d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)protected: 25d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) TextResource(const ResourceRequest&, Type, const String& mimeType, const String& charset); 26d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) virtual ~TextResource(); 27d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) 28d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)private: 29d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) OwnPtr<TextResourceDecoder> m_decoder; 30d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)}; 31d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) 32d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)} 33d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) 34d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles)#endif // TextResource_h 35