OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google, Inc. All Rights Reserved. | 2 * Copyright (C) 2010 Google, Inc. All Rights Reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 24 matching lines...) Expand all Loading... |
35 | 35 |
36 class DecodedDataDocumentParser : public DocumentParser { | 36 class DecodedDataDocumentParser : public DocumentParser { |
37 public: | 37 public: |
38 // Only used by the XMLDocumentParser to communicate back to | 38 // Only used by the XMLDocumentParser to communicate back to |
39 // XMLHttpRequest if the responseXML was well formed. | 39 // XMLHttpRequest if the responseXML was well formed. |
40 virtual bool wellFormed() const { return true; } | 40 virtual bool wellFormed() const { return true; } |
41 | 41 |
42 // The below functions are used by DocumentWriter (the loader). | 42 // The below functions are used by DocumentWriter (the loader). |
43 virtual void appendBytes(const char* bytes, size_t length) OVERRIDE; | 43 virtual void appendBytes(const char* bytes, size_t length) OVERRIDE; |
44 virtual void flush() OVERRIDE; | 44 virtual void flush() OVERRIDE; |
45 virtual bool needsDecoder() const OVERRIDE FINAL { return !m_decoder; } | 45 virtual bool needsDecoder() const OVERRIDE FINAL { return m_needsDecoder; } |
46 virtual void setDecoder(PassOwnPtr<TextResourceDecoder>) OVERRIDE FINAL; | 46 virtual void setDecoder(PassOwnPtr<TextResourceDecoder>) OVERRIDE; |
47 virtual TextResourceDecoder* decoder() OVERRIDE FINAL; | 47 virtual TextResourceDecoder* decoder() OVERRIDE FINAL; |
48 virtual void setHasAppendedData() OVERRIDE FINAL; | 48 |
| 49 PassOwnPtr<TextResourceDecoder> takeDecoder(); |
49 | 50 |
50 protected: | 51 protected: |
51 explicit DecodedDataDocumentParser(Document*); | 52 explicit DecodedDataDocumentParser(Document*); |
52 virtual ~DecodedDataDocumentParser(); | 53 virtual ~DecodedDataDocumentParser(); |
53 | 54 |
54 private: | 55 private: |
55 // append is used by DocumentWriter::replaceDocument. | 56 // append is used by DocumentWriter::replaceDocument. |
56 virtual void append(PassRefPtr<StringImpl>) = 0; | 57 virtual void append(PassRefPtr<StringImpl>) = 0; |
57 | 58 |
58 void updateDocument(String& decodedData); | 59 void updateDocument(String& decodedData); |
59 | 60 |
60 bool m_hasAppendedData; | 61 bool m_needsDecoder; |
61 OwnPtr<TextResourceDecoder> m_decoder; | 62 OwnPtr<TextResourceDecoder> m_decoder; |
62 }; | 63 }; |
63 | 64 |
64 } | 65 } |
65 | 66 |
66 #endif // DecodedDataDocumentParser_h | 67 #endif // DecodedDataDocumentParser_h |
OLD | NEW |