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

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

Issue 8741006: Add exports needed for glue to build as a component. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase to r112585 Created 9 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 | Annotate | Revision Log
« no previous file with comments | « webkit/glue/resource_fetcher.h ('k') | webkit/glue/resource_type.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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
(...skipping 16 matching lines...) Expand all
27 #include "base/memory/ref_counted.h" 27 #include "base/memory/ref_counted.h"
28 #include "base/memory/scoped_ptr.h" 28 #include "base/memory/scoped_ptr.h"
29 #include "base/platform_file.h" 29 #include "base/platform_file.h"
30 #include "base/time.h" 30 #include "base/time.h"
31 #include "base/values.h" 31 #include "base/values.h"
32 #include "googleurl/src/gurl.h" 32 #include "googleurl/src/gurl.h"
33 #include "net/base/host_port_pair.h" 33 #include "net/base/host_port_pair.h"
34 #include "net/url_request/url_request_status.h" 34 #include "net/url_request/url_request_status.h"
35 #include "third_party/WebKit/Source/WebKit/chromium/public/WebURLRequest.h" 35 #include "third_party/WebKit/Source/WebKit/chromium/public/WebURLRequest.h"
36 #include "webkit/glue/resource_type.h" 36 #include "webkit/glue/resource_type.h"
37 #include "webkit/glue/webkit_glue_export.h"
37 38
38 namespace net { 39 namespace net {
39 class HttpResponseHeaders; 40 class HttpResponseHeaders;
40 } 41 }
41 42
42 namespace webkit_glue { 43 namespace webkit_glue {
43 44
44 // Structure containing timing information for the request. It addresses 45 // Structure containing timing information for the request. It addresses
45 // http://groups.google.com/group/http-archive-specification/web/har-1-1-spec 46 // http://groups.google.com/group/http-archive-specification/web/har-1-1-spec
46 // and http://dev.w3.org/2006/webapi/WebTiming/ needs. 47 // and http://dev.w3.org/2006/webapi/WebTiming/ needs.
47 // 48 //
48 // All the values for starts and ends are given in milliseconds and are 49 // All the values for starts and ends are given in milliseconds and are
49 // offsets with respect to the given base time. 50 // offsets with respect to the given base time.
50 struct ResourceLoadTimingInfo { 51 struct ResourceLoadTimingInfo {
51 ResourceLoadTimingInfo(); 52 WEBKIT_GLUE_EXPORT ResourceLoadTimingInfo();
52 ~ResourceLoadTimingInfo(); 53 WEBKIT_GLUE_EXPORT ~ResourceLoadTimingInfo();
53 54
54 // All the values in this struct are given as offsets in milliseconds wrt 55 // All the values in this struct are given as offsets in milliseconds wrt
55 // this base time. 56 // this base time.
56 base::Time base_time; 57 base::Time base_time;
57 58
58 // The time that proxy processing started. For requests with no proxy phase, 59 // The time that proxy processing started. For requests with no proxy phase,
59 // this time is -1. 60 // this time is -1.
60 int32 proxy_start; 61 int32 proxy_start;
61 62
62 // The time that proxy processing ended. For reused sockets this time 63 // The time that proxy processing ended. For reused sockets this time
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 97
97 // The time at which receiving HTTP headers ended. For non-HTTP requests 98 // The time at which receiving HTTP headers ended. For non-HTTP requests
98 // this is 0. 99 // this is 0.
99 int32 receive_headers_end; 100 int32 receive_headers_end;
100 }; 101 };
101 102
102 struct ResourceDevToolsInfo : base::RefCounted<ResourceDevToolsInfo> { 103 struct ResourceDevToolsInfo : base::RefCounted<ResourceDevToolsInfo> {
103 typedef std::vector<std::pair<std::string, std::string> > 104 typedef std::vector<std::pair<std::string, std::string> >
104 HeadersVector; 105 HeadersVector;
105 106
106 ResourceDevToolsInfo(); 107 WEBKIT_GLUE_EXPORT ResourceDevToolsInfo();
107 ~ResourceDevToolsInfo(); 108 WEBKIT_GLUE_EXPORT ~ResourceDevToolsInfo();
108 109
109 int32 http_status_code; 110 int32 http_status_code;
110 std::string http_status_text; 111 std::string http_status_text;
111 HeadersVector request_headers; 112 HeadersVector request_headers;
112 HeadersVector response_headers; 113 HeadersVector response_headers;
113 std::string request_headers_text; 114 std::string request_headers_text;
114 std::string response_headers_text; 115 std::string response_headers_text;
115 }; 116 };
116 117
117 struct ResourceResponseInfo { 118 struct ResourceResponseInfo {
118 ResourceResponseInfo(); 119 WEBKIT_GLUE_EXPORT ResourceResponseInfo();
119 ~ResourceResponseInfo(); 120 WEBKIT_GLUE_EXPORT ~ResourceResponseInfo();
120 121
121 // The time at which the request was made that resulted in this response. 122 // The time at which the request was made that resulted in this response.
122 // For cached responses, this time could be "far" in the past. 123 // For cached responses, this time could be "far" in the past.
123 base::Time request_time; 124 base::Time request_time;
124 125
125 // The time at which the response headers were received. For cached 126 // The time at which the response headers were received. For cached
126 // responses, this time could be "far" in the past. 127 // responses, this time could be "far" in the past.
127 base::Time response_time; 128 base::Time response_time;
128 129
129 // The response headers or NULL if the URL type does not support headers. 130 // The response headers or NULL if the URL type does not support headers.
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 bool was_fetched_via_proxy; 192 bool was_fetched_via_proxy;
192 193
193 // Remote address of the socket which fetched this resource. 194 // Remote address of the socket which fetched this resource.
194 net::HostPortPair socket_address; 195 net::HostPortPair socket_address;
195 }; 196 };
196 197
197 class ResourceLoaderBridge { 198 class ResourceLoaderBridge {
198 public: 199 public:
199 // Structure used when calling 200 // Structure used when calling
200 // WebKitPlatformSupportImpl::CreateResourceLoader(). 201 // WebKitPlatformSupportImpl::CreateResourceLoader().
201 struct RequestInfo { 202 struct WEBKIT_GLUE_EXPORT RequestInfo {
202 RequestInfo(); 203 RequestInfo();
203 ~RequestInfo(); 204 ~RequestInfo();
204 205
205 // HTTP-style method name (e.g., "GET" or "POST"). 206 // HTTP-style method name (e.g., "GET" or "POST").
206 std::string method; 207 std::string method;
207 208
208 // Absolute URL encoded in ASCII per the rules of RFC-2396. 209 // Absolute URL encoded in ASCII per the rules of RFC-2396.
209 GURL url; 210 GURL url;
210 211
211 // URL of the document in the top-level window, which may be checked by the 212 // URL of the document in the top-level window, which may be checked by the
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 325
325 // Called when the response is complete. This method signals completion of 326 // Called when the response is complete. This method signals completion of
326 // the resource load.ff 327 // the resource load.ff
327 virtual void OnCompletedRequest(const net::URLRequestStatus& status, 328 virtual void OnCompletedRequest(const net::URLRequestStatus& status,
328 const std::string& security_info, 329 const std::string& security_info,
329 const base::Time& completion_time) = 0; 330 const base::Time& completion_time) = 0;
330 }; 331 };
331 332
332 // use WebKitPlatformSupportImpl::CreateResourceLoader() for construction, but 333 // use WebKitPlatformSupportImpl::CreateResourceLoader() for construction, but
333 // anybody can delete at any time, INCLUDING during processing of callbacks. 334 // anybody can delete at any time, INCLUDING during processing of callbacks.
334 virtual ~ResourceLoaderBridge(); 335 WEBKIT_GLUE_EXPORT virtual ~ResourceLoaderBridge();
335 336
336 // Call this method before calling Start() to append a chunk of binary data 337 // Call this method before calling Start() to append a chunk of binary data
337 // to the request body. May only be used with HTTP(S) POST requests. 338 // to the request body. May only be used with HTTP(S) POST requests.
338 virtual void AppendDataToUpload(const char* data, int data_len) = 0; 339 virtual void AppendDataToUpload(const char* data, int data_len) = 0;
339 340
340 // Call this method before calling Start() to append the contents of a file 341 // Call this method before calling Start() to append the contents of a file
341 // to the request body. May only be used with HTTP(S) POST requests. 342 // to the request body. May only be used with HTTP(S) POST requests.
342 void AppendFileToUpload(const FilePath& file_path) { 343 void AppendFileToUpload(const FilePath& file_path) {
343 AppendFileRangeToUpload(file_path, 0, kuint64max, base::Time()); 344 AppendFileRangeToUpload(file_path, 0, kuint64max, base::Time());
344 } 345 }
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 386
386 // When loader is transferred from one page to another, the IPC routing id 387 // When loader is transferred from one page to another, the IPC routing id
387 // can change (they are associated with pages). 388 // can change (they are associated with pages).
388 virtual void UpdateRoutingId(int new_routing_id) = 0; 389 virtual void UpdateRoutingId(int new_routing_id) = 0;
389 390
390 protected: 391 protected:
391 // Construction must go through 392 // Construction must go through
392 // WebKitPlatformSupportImpl::CreateResourceLoader() 393 // WebKitPlatformSupportImpl::CreateResourceLoader()
393 // For HTTP(S) POST requests, the AppendDataToUpload and AppendFileToUpload 394 // For HTTP(S) POST requests, the AppendDataToUpload and AppendFileToUpload
394 // methods may be called to construct the body of the request. 395 // methods may be called to construct the body of the request.
395 ResourceLoaderBridge(); 396 WEBKIT_GLUE_EXPORT ResourceLoaderBridge();
396 397
397 private: 398 private:
398 DISALLOW_COPY_AND_ASSIGN(ResourceLoaderBridge); 399 DISALLOW_COPY_AND_ASSIGN(ResourceLoaderBridge);
399 }; 400 };
400 401
401 } // namespace webkit_glue 402 } // namespace webkit_glue
402 403
403 #endif // WEBKIT_GLUE_RESOURCE_LOADER_BRIDGE_H_ 404 #endif // WEBKIT_GLUE_RESOURCE_LOADER_BRIDGE_H_
OLDNEW
« no previous file with comments | « webkit/glue/resource_fetcher.h ('k') | webkit/glue/resource_type.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698