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

Side by Side Diff: Source/core/fetch/ResourceLoader.h

Issue 1154413002: Make multipart image documents work again. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix excessive clumsiness Created 5 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/fetch/ImageResourceTest.cpp ('k') | Source/core/fetch/ResourceLoader.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2005, 2006, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2005, 2006, 2011 Apple 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 * 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 ResourceLoader_h 29 #ifndef ResourceLoader_h
30 #define ResourceLoader_h 30 #define ResourceLoader_h
31 31
32 #include "core/CoreExport.h"
32 #include "core/fetch/ResourceLoaderOptions.h" 33 #include "core/fetch/ResourceLoaderOptions.h"
33 #include "platform/network/ResourceRequest.h" 34 #include "platform/network/ResourceRequest.h"
34 #include "public/platform/WebURLLoader.h" 35 #include "public/platform/WebURLLoader.h"
35 #include "public/platform/WebURLLoaderClient.h" 36 #include "public/platform/WebURLLoaderClient.h"
36 #include "wtf/Forward.h" 37 #include "wtf/Forward.h"
37 #include "wtf/RefCounted.h" 38 #include "wtf/RefCounted.h"
38 39
39 namespace blink { 40 namespace blink {
40 41
41 class Resource; 42 class Resource;
42 class KURL; 43 class KURL;
43 class ResourceError; 44 class ResourceError;
44 class ResourceFetcher; 45 class ResourceFetcher;
45 class ThreadedDataReceiver; 46 class ThreadedDataReceiver;
46 47
47 class ResourceLoader final : public RefCountedWillBeGarbageCollectedFinalized<Re sourceLoader>, protected WebURLLoaderClient { 48 class CORE_EXPORT ResourceLoader final : public RefCountedWillBeGarbageCollected Finalized<ResourceLoader>, protected WebURLLoaderClient {
48 public: 49 public:
49 static PassRefPtrWillBeRawPtr<ResourceLoader> create(ResourceFetcher*, Resou rce*, const ResourceRequest&, const ResourceLoaderOptions&); 50 static PassRefPtrWillBeRawPtr<ResourceLoader> create(ResourceFetcher*, Resou rce*, const ResourceRequest&, const ResourceLoaderOptions&);
50 virtual ~ResourceLoader(); 51 virtual ~ResourceLoader();
51 DECLARE_TRACE(); 52 DECLARE_TRACE();
52 53
53 void start(); 54 void start();
54 void changeToSynchronous(); 55 void changeToSynchronous();
55 56
56 void cancel(); 57 void cancel();
57 void cancel(const ResourceError&); 58 void cancel(const ResourceError&);
(...skipping 21 matching lines...) Expand all
79 void didFinishLoading(WebURLLoader*, double finishTime, int64_t encodedDataL ength) override; 80 void didFinishLoading(WebURLLoader*, double finishTime, int64_t encodedDataL ength) override;
80 void didFail(WebURLLoader*, const WebURLError&) override; 81 void didFail(WebURLLoader*, const WebURLError&) override;
81 void didDownloadData(WebURLLoader*, int, int) override; 82 void didDownloadData(WebURLLoader*, int, int) override;
82 83
83 const KURL& url() const { return m_request.url(); } 84 const KURL& url() const { return m_request.url(); }
84 bool isLoadedBy(ResourceFetcher*) const; 85 bool isLoadedBy(ResourceFetcher*) const;
85 86
86 bool reachedTerminalState() const { return m_state == Terminated; } 87 bool reachedTerminalState() const { return m_state == Terminated; }
87 const ResourceRequest& request() const { return m_request; } 88 const ResourceRequest& request() const { return m_request; }
88 89
90 bool loadingMultipartContent() const { return m_loadingMultipartContent; }
91
89 private: 92 private:
90 ResourceLoader(ResourceFetcher*, Resource*, const ResourceLoaderOptions&); 93 ResourceLoader(ResourceFetcher*, Resource*, const ResourceLoaderOptions&);
91 94
92 void init(const ResourceRequest&); 95 void init(const ResourceRequest&);
93 void requestSynchronously(); 96 void requestSynchronously();
94 97
95 void didFinishLoadingOnePart(double finishTime, int64_t encodedDataLength); 98 void didFinishLoadingOnePart(double finishTime, int64_t encodedDataLength);
96 99
97 bool responseNeedsAccessControlCheck() const; 100 bool responseNeedsAccessControlCheck() const;
98 101
99 ResourceRequest& applyOptions(ResourceRequest&) const; 102 ResourceRequest& applyOptions(ResourceRequest&) const;
100 103
101 OwnPtr<WebURLLoader> m_loader; 104 OwnPtr<WebURLLoader> m_loader;
102 RefPtrWillBeMember<ResourceFetcher> m_fetcher; 105 RefPtrWillBeMember<ResourceFetcher> m_fetcher;
103 106
104 ResourceRequest m_request; 107 ResourceRequest m_request;
105 ResourceRequest m_originalRequest; // Before redirects. 108 ResourceRequest m_originalRequest; // Before redirects.
106 109
107 bool m_notifiedLoadComplete; 110 bool m_notifiedLoadComplete;
108 111
109 bool m_defersLoading; 112 bool m_defersLoading;
113 bool m_loadingMultipartContent;
110 OwnPtr<ResourceRequest> m_fallbackRequestForServiceWorker; 114 OwnPtr<ResourceRequest> m_fallbackRequestForServiceWorker;
111 ResourceRequest m_deferredRequest; 115 ResourceRequest m_deferredRequest;
112 ResourceLoaderOptions m_options; 116 ResourceLoaderOptions m_options;
113 117
114 enum ResourceLoaderState { 118 enum ResourceLoaderState {
115 Initialized, 119 Initialized,
116 Finishing, 120 Finishing,
117 Terminated 121 Terminated
118 }; 122 };
119 123
(...skipping 11 matching lines...) Expand all
131 ResourceLoaderState m_state; 135 ResourceLoaderState m_state;
132 136
133 // Used for sanity checking to make sure we don't experience illegal state 137 // Used for sanity checking to make sure we don't experience illegal state
134 // transitions. 138 // transitions.
135 ConnectionState m_connectionState; 139 ConnectionState m_connectionState;
136 }; 140 };
137 141
138 } 142 }
139 143
140 #endif 144 #endif
OLDNEW
« no previous file with comments | « Source/core/fetch/ImageResourceTest.cpp ('k') | Source/core/fetch/ResourceLoader.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698