Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Side by Side Diff: Source/core/loader/DocumentWriter.h

Issue 779393002: Turn DocumentParser::pinToMainThread into a cleaner api (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010. Adam Barth. All rights reserved. 2 * Copyright (C) 2010. Adam Barth. 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 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 11 matching lines...) Expand all
22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */ 27 */
28 28
29 #ifndef DocumentWriter_h 29 #ifndef DocumentWriter_h
30 #define DocumentWriter_h 30 #define DocumentWriter_h
31 31
32 #include "core/html/parser/ParserSynchronizationPolicy.h"
32 #include "core/loader/TextResourceDecoderBuilder.h" 33 #include "core/loader/TextResourceDecoderBuilder.h"
33 #include "platform/heap/Handle.h" 34 #include "platform/heap/Handle.h"
34 #include "wtf/RefCounted.h" 35 #include "wtf/RefCounted.h"
35 #include "wtf/text/WTFString.h" 36 #include "wtf/text/WTFString.h"
36 37
37 namespace blink { 38 namespace blink {
38 39
39 class Document; 40 class Document;
40 class DocumentParser; 41 class DocumentParser;
41 42
42 class DocumentWriter : public RefCountedWillBeGarbageCollectedFinalized<Document Writer> { 43 class DocumentWriter : public RefCountedWillBeGarbageCollectedFinalized<Document Writer> {
43 WTF_MAKE_NONCOPYABLE(DocumentWriter); 44 WTF_MAKE_NONCOPYABLE(DocumentWriter);
44 public: 45 public:
45 static PassRefPtrWillBeRawPtr<DocumentWriter> create(Document*, const Atomic String& mimeType = emptyAtom, const AtomicString& encoding = emptyAtom); 46 static PassRefPtrWillBeRawPtr<DocumentWriter> create(Document*, ParserSynchr onizationPolicy, const AtomicString& mimeType = emptyAtom, const AtomicString& e ncoding = emptyAtom);
46 47
47 ~DocumentWriter(); 48 ~DocumentWriter();
48 void trace(Visitor*); 49 void trace(Visitor*);
49 50
50 void end(); 51 void end();
51 52
52 void forceSynchronousParse();
53 void addData(const char* bytes, size_t length); 53 void addData(const char* bytes, size_t length);
54 54
55 const AtomicString& mimeType() const { return m_decoderBuilder.mimeType(); } 55 const AtomicString& mimeType() const { return m_decoderBuilder.mimeType(); }
56 const AtomicString& encoding() const { return m_decoderBuilder.encoding(); } 56 const AtomicString& encoding() const { return m_decoderBuilder.encoding(); }
57 57
58 // Exposed for DocumentLoader::replaceDocumentWhileExecutingJavaScriptURL. 58 // Exposed for DocumentLoader::replaceDocumentWhileExecutingJavaScriptURL.
59 void appendReplacingData(const String&); 59 void appendReplacingData(const String&);
60 60
61 void setUserChosenEncoding(const String& charset); 61 void setUserChosenEncoding(const String& charset);
62 62
63 void setDocumentWasLoadedAsPartOfNavigation(); 63 void setDocumentWasLoadedAsPartOfNavigation();
64 64
65 private: 65 private:
66 DocumentWriter(Document*, const AtomicString& mimeType, const AtomicString& encoding); 66 DocumentWriter(Document*, ParserSynchronizationPolicy, const AtomicString& m imeType, const AtomicString& encoding);
67 67
68 RawPtrWillBeMember<Document> m_document; 68 RawPtrWillBeMember<Document> m_document;
69 TextResourceDecoderBuilder m_decoderBuilder; 69 TextResourceDecoderBuilder m_decoderBuilder;
70 70
71 RefPtrWillBeMember<DocumentParser> m_parser; 71 RefPtrWillBeMember<DocumentParser> m_parser;
72 bool m_forcedSynchronousParse; 72 bool m_forcedSynchronousParse;
73 }; 73 };
74 74
75 } // namespace blink 75 } // namespace blink
76 76
77 #endif // DocumentWriter_h 77 #endif // DocumentWriter_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698