diff options
Diffstat (limited to 'WebCore/loader/TextResourceDecoder.h')
-rw-r--r-- | WebCore/loader/TextResourceDecoder.h | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/WebCore/loader/TextResourceDecoder.h b/WebCore/loader/TextResourceDecoder.h deleted file mode 100644 index 8bbe85e..0000000 --- a/WebCore/loader/TextResourceDecoder.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - Copyright (C) 1999 Lars Knoll (knoll@mpi-hd.mpg.de) - Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com) - Copyright (C) 2006, 2008 Apple Inc. All rights reserved. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. - -*/ - -#ifndef TextResourceDecoder_h -#define TextResourceDecoder_h - -#include "TextDecoder.h" - -namespace WebCore { - -class TextResourceDecoder : public RefCounted<TextResourceDecoder> { -public: - enum EncodingSource { - DefaultEncoding, - AutoDetectedEncoding, - EncodingFromXMLHeader, - EncodingFromMetaTag, - EncodingFromCSSCharset, - EncodingFromHTTPHeader, - UserChosenEncoding - }; - - static PassRefPtr<TextResourceDecoder> create(const String& mimeType, const TextEncoding& defaultEncoding = TextEncoding()) - { - return adoptRef(new TextResourceDecoder(mimeType, defaultEncoding)); - } - ~TextResourceDecoder(); - - void setEncoding(const TextEncoding&, EncodingSource); - const TextEncoding& encoding() const { return m_decoder.encoding(); } - - String decode(const char* data, size_t length); - String flush(); - - bool sawError() const { return m_sawError; } - -private: - TextResourceDecoder(const String& mimeType, const TextEncoding& defaultEncoding); - - enum ContentType { PlainText, HTML, XML, CSS }; // PlainText is equivalent to directly using TextDecoder. - static ContentType determineContentType(const String& mimeType); - static const TextEncoding& defaultEncoding(ContentType, const TextEncoding& defaultEncoding); - - void checkForBOM(const char*, size_t); - bool checkForCSSCharset(const char*, size_t, bool& movedDataToBuffer); - bool checkForHeadCharset(const char*, size_t, bool& movedDataToBuffer); - void detectJapaneseEncoding(const char*, size_t); - - ContentType m_contentType; - TextDecoder m_decoder; - EncodingSource m_source; - Vector<char> m_buffer; - bool m_checkedForBOM; - bool m_checkedForCSSCharset; - bool m_checkedForHeadCharset; - bool m_sawError; -}; - -} - -#endif |