| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2011 Google Inc. All rights reserved. | 3 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * | 8 * |
| 9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 Frame* frame() const { return m_frame; } | 78 Frame* frame() const { return m_frame; } |
| 79 | 79 |
| 80 void detachFromFrame(); | 80 void detachFromFrame(); |
| 81 | 81 |
| 82 FrameLoader* frameLoader() const; | 82 FrameLoader* frameLoader() const; |
| 83 | 83 |
| 84 unsigned long mainResourceIdentifier() const; | 84 unsigned long mainResourceIdentifier() const; |
| 85 | 85 |
| 86 void replaceDocument(const String& source, Document*); | 86 void replaceDocument(const String& source, Document*); |
| 87 DocumentWriter* beginWriting(const String& mimeType, const String& encod
ing, const KURL& = KURL()); | 87 DocumentWriter* beginWriting(const String& mimeType, const String& encod
ing, const KURL& = KURL()); |
| 88 void endWriting(DocumentWriter*); |
| 89 |
| 88 String mimeType() const; | 90 String mimeType() const; |
| 89 | 91 |
| 90 const ResourceRequest& originalRequest() const; | 92 const ResourceRequest& originalRequest() const; |
| 91 const ResourceRequest& originalRequestCopy() const; | 93 const ResourceRequest& originalRequestCopy() const; |
| 92 | 94 |
| 93 const ResourceRequest& request() const; | 95 const ResourceRequest& request() const; |
| 94 ResourceRequest& request(); | 96 ResourceRequest& request(); |
| 95 | 97 |
| 96 CachedResourceLoader* cachedResourceLoader() const { return m_cachedReso
urceLoader.get(); } | 98 CachedResourceLoader* cachedResourceLoader() const { return m_cachedReso
urceLoader.get(); } |
| 97 | 99 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 155 | 157 |
| 156 virtual void reportMemoryUsage(MemoryObjectInfo*) const; | 158 virtual void reportMemoryUsage(MemoryObjectInfo*) const; |
| 157 void checkLoadComplete(); | 159 void checkLoadComplete(); |
| 158 | 160 |
| 159 protected: | 161 protected: |
| 160 DocumentLoader(const ResourceRequest&, const SubstituteData&); | 162 DocumentLoader(const ResourceRequest&, const SubstituteData&); |
| 161 | 163 |
| 162 bool m_deferMainResourceDataLoad; | 164 bool m_deferMainResourceDataLoad; |
| 163 | 165 |
| 164 private: | 166 private: |
| 167 static PassRefPtr<DocumentWriter> createWriterFor(Frame*, const Document
* ownerDocument, const KURL&, const String& mimeType, const String& encoding, bo
ol userChosen, bool dispatch); |
| 168 |
| 169 void ensureWriter(); |
| 170 void ensureWriter(const String& mimeType, const KURL& overridingURL = KU
RL()); |
| 165 | 171 |
| 166 // The URL of the document resulting from this DocumentLoader. | 172 // The URL of the document resulting from this DocumentLoader. |
| 167 KURL documentURL() const; | 173 KURL documentURL() const; |
| 168 Document* document() const; | 174 Document* document() const; |
| 169 | 175 |
| 170 void setRequest(const ResourceRequest&); | 176 void setRequest(const ResourceRequest&); |
| 171 | 177 |
| 172 void commitIfReady(); | 178 void commitIfReady(); |
| 173 void commitData(const char* bytes, size_t length); | 179 void commitData(const char* bytes, size_t length); |
| 174 void setMainDocumentError(const ResourceError&); | 180 void setMainDocumentError(const ResourceError&); |
| 175 void clearMainResourceLoader(); | 181 void clearMainResourceLoader(); |
| 176 ResourceLoader* mainResourceLoader() const; | 182 ResourceLoader* mainResourceLoader() const; |
| 177 void clearMainResourceHandle(); | 183 void clearMainResourceHandle(); |
| 178 PassRefPtr<SharedBuffer> mainResourceData() const; | 184 PassRefPtr<SharedBuffer> mainResourceData() const; |
| 179 | 185 |
| 180 bool maybeCreateArchive(); | 186 void createArchive(); |
| 181 void clearArchiveResources(); | 187 void clearArchiveResources(); |
| 182 | 188 |
| 183 void prepareSubframeArchiveLoadIfNeeded(); | 189 void prepareSubframeArchiveLoadIfNeeded(); |
| 184 void addAllArchiveResources(MHTMLArchive*); | 190 void addAllArchiveResources(MHTMLArchive*); |
| 185 | 191 |
| 186 void willSendRequest(ResourceRequest&, const ResourceResponse&); | 192 void willSendRequest(ResourceRequest&, const ResourceResponse&); |
| 187 void finishedLoading(double finishTime); | 193 void finishedLoading(double finishTime); |
| 188 void mainReceivedError(const ResourceError&); | 194 void mainReceivedError(const ResourceError&); |
| 189 virtual void redirectReceived(CachedResource*, ResourceRequest&, const R
esourceResponse&) OVERRIDE; | 195 virtual void redirectReceived(CachedResource*, ResourceRequest&, const R
esourceResponse&) OVERRIDE; |
| 190 virtual void responseReceived(CachedResource*, const ResourceResponse&)
OVERRIDE; | 196 virtual void responseReceived(CachedResource*, const ResourceResponse&)
OVERRIDE; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 205 void handleSubstituteDataLoadNow(DocumentLoaderTimer*); | 211 void handleSubstituteDataLoadNow(DocumentLoaderTimer*); |
| 206 void startDataLoadTimer(); | 212 void startDataLoadTimer(); |
| 207 | 213 |
| 208 Frame* m_frame; | 214 Frame* m_frame; |
| 209 RefPtr<CachedResourceLoader> m_cachedResourceLoader; | 215 RefPtr<CachedResourceLoader> m_cachedResourceLoader; |
| 210 | 216 |
| 211 CachedResourceHandle<CachedRawResource> m_mainResource; | 217 CachedResourceHandle<CachedRawResource> m_mainResource; |
| 212 ResourceLoaderSet m_resourceLoaders; | 218 ResourceLoaderSet m_resourceLoaders; |
| 213 ResourceLoaderSet m_multipartResourceLoaders; | 219 ResourceLoaderSet m_multipartResourceLoaders; |
| 214 | 220 |
| 215 mutable DocumentWriter m_writer; | 221 RefPtr<DocumentWriter> m_writer; |
| 216 | 222 |
| 217 // A reference to actual request used to create the data source. | 223 // A reference to actual request used to create the data source. |
| 218 // This should only be used by the resourceLoadDelegate's | 224 // This should only be used by the resourceLoadDelegate's |
| 219 // identifierForInitialRequest:fromDatasource: method. It is | 225 // identifierForInitialRequest:fromDatasource: method. It is |
| 220 // not guaranteed to remain unchanged, as requests are mutable. | 226 // not guaranteed to remain unchanged, as requests are mutable. |
| 221 ResourceRequest m_originalRequest; | 227 ResourceRequest m_originalRequest; |
| 222 | 228 |
| 223 SubstituteData m_substituteData; | 229 SubstituteData m_substituteData; |
| 224 | 230 |
| 225 // A copy of the original request used to create the data source. | 231 // A copy of the original request used to create the data source. |
| 226 // We have to copy the request because requests are mutable. | 232 // We have to copy the request because requests are mutable. |
| 227 ResourceRequest m_originalRequestCopy; | 233 ResourceRequest m_originalRequestCopy; |
| 228 | 234 |
| 229 // The 'working' request. It may be mutated | 235 // The 'working' request. It may be mutated |
| 230 // several times from the original request to include additional | 236 // several times from the original request to include additional |
| 231 // headers, cookie information, canonicalization and redirects. | 237 // headers, cookie information, canonicalization and redirects. |
| 232 ResourceRequest m_request; | 238 ResourceRequest m_request; |
| 233 | 239 |
| 234 ResourceResponse m_response; | 240 ResourceResponse m_response; |
| 235 | 241 |
| 236 ResourceError m_mainDocumentError; | 242 ResourceError m_mainDocumentError; |
| 237 | 243 |
| 238 bool m_committed; | 244 bool m_committed; |
| 239 bool m_isStopping; | 245 bool m_isStopping; |
| 240 bool m_gotFirstByte; | |
| 241 bool m_isClientRedirect; | 246 bool m_isClientRedirect; |
| 242 | 247 |
| 243 // FIXME: Document::m_processingLoadEvent and DocumentLoader::m_wasOnloa
dHandled are roughly the same | 248 // FIXME: Document::m_processingLoadEvent and DocumentLoader::m_wasOnloa
dHandled are roughly the same |
| 244 // and should be merged. | 249 // and should be merged. |
| 245 bool m_wasOnloadHandled; | 250 bool m_wasOnloadHandled; |
| 246 | 251 |
| 247 StringWithDirection m_pageTitle; | 252 StringWithDirection m_pageTitle; |
| 248 | 253 |
| 249 String m_overrideEncoding; | 254 String m_overrideEncoding; |
| 250 | 255 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 262 unsigned long m_identifierForLoadWithoutResourceLoader; | 267 unsigned long m_identifierForLoadWithoutResourceLoader; |
| 263 | 268 |
| 264 DocumentLoaderTimer m_dataLoadTimer; | 269 DocumentLoaderTimer m_dataLoadTimer; |
| 265 | 270 |
| 266 friend class ApplicationCacheHost; // for substitute resource delivery | 271 friend class ApplicationCacheHost; // for substitute resource delivery |
| 267 OwnPtr<ApplicationCacheHost> m_applicationCacheHost; | 272 OwnPtr<ApplicationCacheHost> m_applicationCacheHost; |
| 268 }; | 273 }; |
| 269 } | 274 } |
| 270 | 275 |
| 271 #endif // DocumentLoader_h | 276 #endif // DocumentLoader_h |
| OLD | NEW |