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

Side by Side Diff: webkit/child/resource_loader_bridge.h

Issue 20003004: reland crrev.com/212927 Move webkitplatformsupport_impl and related from glue to child (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase & allocator dep for components_unittests in shared_library2 Created 7 years, 5 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // The intent of this file is to provide a type-neutral abstraction between 5 // The intent of this file is to provide a type-neutral abstraction between
6 // Chrome and WebKit for resource loading. This pure-virtual interface is 6 // Chrome and WebKit for resource loading. This pure-virtual interface is
7 // implemented by the embedder. 7 // implemented by the embedder.
8 // 8 //
9 // One of these objects will be created by WebKit for each request. WebKit 9 // One of these objects will be created by WebKit for each request. WebKit
10 // will own the pointer to the bridge, and will delete it when the request is 10 // will own the pointer to the bridge, and will delete it when the request is
11 // no longer needed. 11 // no longer needed.
12 // 12 //
13 // In turn, the bridge's owner on the WebKit end will implement the Peer 13 // In turn, the bridge's owner on the WebKit end will implement the Peer
14 // interface, which we will use to communicate notifications back. 14 // interface, which we will use to communicate notifications back.
15 15
16 #ifndef WEBKIT_GLUE_RESOURCE_LOADER_BRIDGE_H_ 16 #ifndef WEBKIT_CHILD_RESOURCE_LOADER_BRIDGE_H_
17 #define WEBKIT_GLUE_RESOURCE_LOADER_BRIDGE_H_ 17 #define WEBKIT_CHILD_RESOURCE_LOADER_BRIDGE_H_
18 18
19 #include <utility> 19 #include <utility>
20 20
21 #include "build/build_config.h" 21 #include "build/build_config.h"
22 #if defined(OS_POSIX) 22 #if defined(OS_POSIX)
23 #include "base/file_descriptor_posix.h" 23 #include "base/file_descriptor_posix.h"
24 #endif 24 #endif
25 #include "base/memory/ref_counted.h" 25 #include "base/memory/ref_counted.h"
26 #include "base/platform_file.h" 26 #include "base/platform_file.h"
27 #include "base/values.h" 27 #include "base/values.h"
28 #include "net/base/request_priority.h" 28 #include "net/base/request_priority.h"
29 #include "third_party/WebKit/public/platform/WebReferrerPolicy.h" 29 #include "third_party/WebKit/public/platform/WebReferrerPolicy.h"
30 #include "third_party/WebKit/public/platform/WebURLRequest.h" 30 #include "third_party/WebKit/public/platform/WebURLRequest.h"
31 #include "url/gurl.h" 31 #include "url/gurl.h"
32 #include "webkit/child/webkit_child_export.h"
32 #include "webkit/common/resource_response_info.h" 33 #include "webkit/common/resource_response_info.h"
33 #include "webkit/glue/resource_type.h" 34 #include "webkit/common/resource_type.h"
34 #include "webkit/glue/webkit_glue_export.h"
35 35
36 namespace webkit_glue { 36 namespace webkit_glue {
37 class ResourceRequestBody; 37 class ResourceRequestBody;
38 38
39 class ResourceLoaderBridge { 39 class ResourceLoaderBridge {
40 public: 40 public:
41 // Structure used when calling 41 // Structure used when calling
42 // WebKitPlatformSupportImpl::CreateResourceLoader(). 42 // WebKitPlatformSupportImpl::CreateResourceLoader().
43 struct WEBKIT_GLUE_EXPORT RequestInfo { 43 struct WEBKIT_CHILD_EXPORT RequestInfo {
44 RequestInfo(); 44 RequestInfo();
45 ~RequestInfo(); 45 ~RequestInfo();
46 46
47 // HTTP-style method name (e.g., "GET" or "POST"). 47 // HTTP-style method name (e.g., "GET" or "POST").
48 std::string method; 48 std::string method;
49 49
50 // Absolute URL encoded in ASCII per the rules of RFC-2396. 50 // Absolute URL encoded in ASCII per the rules of RFC-2396.
51 GURL url; 51 GURL url;
52 52
53 // URL of the document in the top-level window, which may be checked by the 53 // URL of the document in the top-level window, which may be checked by the
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 // Extra data associated with this request. We do not own this pointer. 99 // Extra data associated with this request. We do not own this pointer.
100 WebKit::WebURLRequest::ExtraData* extra_data; 100 WebKit::WebURLRequest::ExtraData* extra_data;
101 101
102 private: 102 private:
103 DISALLOW_COPY_AND_ASSIGN(RequestInfo); 103 DISALLOW_COPY_AND_ASSIGN(RequestInfo);
104 }; 104 };
105 105
106 // See the SyncLoad method declared below. (The name of this struct is not 106 // See the SyncLoad method declared below. (The name of this struct is not
107 // suffixed with "Info" because it also contains the response data.) 107 // suffixed with "Info" because it also contains the response data.)
108 struct SyncLoadResponse : ResourceResponseInfo { 108 struct SyncLoadResponse : ResourceResponseInfo {
109 SyncLoadResponse(); 109 WEBKIT_CHILD_EXPORT SyncLoadResponse();
110 ~SyncLoadResponse(); 110 WEBKIT_CHILD_EXPORT ~SyncLoadResponse();
111 111
112 // The response error code. 112 // The response error code.
113 int error_code; 113 int error_code;
114 114
115 // The final URL of the response. This may differ from the request URL in 115 // The final URL of the response. This may differ from the request URL in
116 // the case of a server redirect. 116 // the case of a server redirect.
117 GURL url; 117 GURL url;
118 118
119 // The response data. 119 // The response data.
120 std::string data; 120 std::string data;
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 bool was_ignored_by_handler, 175 bool was_ignored_by_handler,
176 const std::string& security_info, 176 const std::string& security_info,
177 const base::TimeTicks& completion_time) = 0; 177 const base::TimeTicks& completion_time) = 0;
178 178
179 protected: 179 protected:
180 virtual ~Peer() {} 180 virtual ~Peer() {}
181 }; 181 };
182 182
183 // use WebKitPlatformSupportImpl::CreateResourceLoader() for construction, but 183 // use WebKitPlatformSupportImpl::CreateResourceLoader() for construction, but
184 // anybody can delete at any time, INCLUDING during processing of callbacks. 184 // anybody can delete at any time, INCLUDING during processing of callbacks.
185 WEBKIT_GLUE_EXPORT virtual ~ResourceLoaderBridge(); 185 WEBKIT_CHILD_EXPORT virtual ~ResourceLoaderBridge();
186 186
187 // Call this method before calling Start() to set the request body. 187 // Call this method before calling Start() to set the request body.
188 // May only be used with HTTP(S) POST requests. 188 // May only be used with HTTP(S) POST requests.
189 virtual void SetRequestBody(ResourceRequestBody* request_body) = 0; 189 virtual void SetRequestBody(ResourceRequestBody* request_body) = 0;
190 190
191 // Call this method to initiate the request. If this method succeeds, then 191 // Call this method to initiate the request. If this method succeeds, then
192 // the peer's methods will be called asynchronously to report various events. 192 // the peer's methods will be called asynchronously to report various events.
193 virtual bool Start(Peer* peer) = 0; 193 virtual bool Start(Peer* peer) = 0;
194 194
195 // Call this method to cancel a request that is in progress. This method 195 // Call this method to cancel a request that is in progress. This method
(...skipping 18 matching lines...) Expand all
214 // use this if you really need it! There is also no way for the caller to 214 // use this if you really need it! There is also no way for the caller to
215 // interrupt this method. Errors are reported via the status field of the 215 // interrupt this method. Errors are reported via the status field of the
216 // response parameter. 216 // response parameter.
217 virtual void SyncLoad(SyncLoadResponse* response) = 0; 217 virtual void SyncLoad(SyncLoadResponse* response) = 0;
218 218
219 protected: 219 protected:
220 // Construction must go through 220 // Construction must go through
221 // WebKitPlatformSupportImpl::CreateResourceLoader() 221 // WebKitPlatformSupportImpl::CreateResourceLoader()
222 // For HTTP(S) POST requests, the AppendDataToUpload and AppendFileToUpload 222 // For HTTP(S) POST requests, the AppendDataToUpload and AppendFileToUpload
223 // methods may be called to construct the body of the request. 223 // methods may be called to construct the body of the request.
224 WEBKIT_GLUE_EXPORT ResourceLoaderBridge(); 224 WEBKIT_CHILD_EXPORT ResourceLoaderBridge();
225 225
226 private: 226 private:
227 DISALLOW_COPY_AND_ASSIGN(ResourceLoaderBridge); 227 DISALLOW_COPY_AND_ASSIGN(ResourceLoaderBridge);
228 }; 228 };
229 229
230 } // namespace webkit_glue 230 } // namespace webkit_glue
231 231
232 #endif // WEBKIT_GLUE_RESOURCE_LOADER_BRIDGE_H_ 232 #endif // WEBKIT_CHILD_RESOURCE_LOADER_BRIDGE_H_
OLDNEW
« no previous file with comments | « webkit/child/multipart_response_delegate_unittest.cc ('k') | webkit/child/resource_loader_bridge.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698