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

Side by Side Diff: Source/core/html/imports/HTMLImportLoader.h

Issue 296703009: Oilpan: move custom element objects to the heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Use LinkedHashSet for ElementSet instead. Created 6 years, 7 months 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) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * 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 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 15 matching lines...) Expand all
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #ifndef HTMLImportLoader_h 31 #ifndef HTMLImportLoader_h
32 #define HTMLImportLoader_h 32 #define HTMLImportLoader_h
33 33
34 #include "core/fetch/RawResource.h" 34 #include "core/fetch/RawResource.h"
35 #include "core/fetch/ResourceOwner.h" 35 #include "core/fetch/ResourceOwner.h"
36 #include "platform/heap/Handle.h"
36 #include "wtf/OwnPtr.h" 37 #include "wtf/OwnPtr.h"
37 #include "wtf/PassOwnPtr.h" 38 #include "wtf/PassOwnPtr.h"
38 #include "wtf/Vector.h" 39 #include "wtf/Vector.h"
39 40
40 namespace WebCore { 41 namespace WebCore {
41 42
42 class CustomElementMicrotaskQueue; 43 class CustomElementMicrotaskQueue;
43 class Document; 44 class Document;
44 class DocumentWriter; 45 class DocumentWriter;
45 class HTMLImportChild; 46 class HTMLImportChild;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 80
80 bool isDone() const { return m_state == StateLoaded || m_state == StateError ; } 81 bool isDone() const { return m_state == StateLoaded || m_state == StateError ; }
81 bool hasError() const { return m_state == StateError; } 82 bool hasError() const { return m_state == StateError; }
82 bool shouldBlockScriptExecution() const; 83 bool shouldBlockScriptExecution() const;
83 84
84 void importDestroyed(); 85 void importDestroyed();
85 void startLoading(const ResourcePtr<RawResource>&); 86 void startLoading(const ResourcePtr<RawResource>&);
86 void didFinishParsing(); 87 void didFinishParsing();
87 void didRemoveAllPendingStylesheet(); 88 void didRemoveAllPendingStylesheet();
88 89
89 PassRefPtr<CustomElementMicrotaskQueue> microtaskQueue() const; 90 PassRefPtrWillBeRawPtr<CustomElementMicrotaskQueue> microtaskQueue() const;
90 91
91 private: 92 private:
92 HTMLImportLoader(HTMLImportsController*); 93 HTMLImportLoader(HTMLImportsController*);
93 94
94 // RawResourceClient 95 // RawResourceClient
95 virtual void responseReceived(Resource*, const ResourceResponse&) OVERRIDE; 96 virtual void responseReceived(Resource*, const ResourceResponse&) OVERRIDE;
96 virtual void dataReceived(Resource*, const char* data, int length) OVERRIDE; 97 virtual void dataReceived(Resource*, const char* data, int length) OVERRIDE;
97 virtual void notifyFinished(Resource*) OVERRIDE; 98 virtual void notifyFinished(Resource*) OVERRIDE;
98 99
99 State startWritingAndParsing(const ResourceResponse&); 100 State startWritingAndParsing(const ResourceResponse&);
100 State finishWriting(); 101 State finishWriting();
101 State finishParsing(); 102 State finishParsing();
102 State finishLoading(); 103 State finishLoading();
103 104
104 void setState(State); 105 void setState(State);
105 void didFinishLoading(); 106 void didFinishLoading();
106 bool hasPendingResources() const; 107 bool hasPendingResources() const;
107 void clear(); 108 void clear();
108 109
109 HTMLImportsController* m_controller; 110 HTMLImportsController* m_controller;
110 Vector<HTMLImportChild*> m_imports; 111 Vector<HTMLImportChild*> m_imports;
111 State m_state; 112 State m_state;
112 RefPtr<Document> m_importedDocument; 113 RefPtr<Document> m_importedDocument;
113 RefPtr<DocumentWriter> m_writer; 114 RefPtr<DocumentWriter> m_writer;
114 RefPtr<CustomElementMicrotaskQueue> m_microtaskQueue; 115 RefPtrWillBePersistent<CustomElementMicrotaskQueue> m_microtaskQueue;
115 }; 116 };
116 117
117 } // namespace WebCore 118 } // namespace WebCore
118 119
119 #endif // HTMLImportLoader_h 120 #endif // HTMLImportLoader_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698