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

Side by Side Diff: chrome/browser/resource_request_details.h

Issue 20066: Move resource_message_filter and resource_request_details to the renderer_hos... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 10 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
(Empty)
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // The ResourceRequestDetails object contains additional details about a
6 // resource request. It copies many of the publicly accessible member variables
7 // of URLRequest, but exists on the UI thread.
8
9 #ifndef CHROME_BROWSER_RESOURCE_REQUEST_DETAILS_H__
10 #define CHROME_BROWSER_RESOURCE_REQUEST_DETAILS_H__
11
12 #include <string>
13
14 #include "base/basictypes.h"
15 #include "chrome/browser/cert_store.h"
16 #include "chrome/browser/renderer_host/resource_dispatcher_host.h"
17 #include "googleurl/src/gurl.h"
18 #include "net/url_request/url_request.h"
19 #include "net/url_request/url_request_status.h"
20
21 // Details about a resource request notification.
22 class ResourceRequestDetails {
23 public:
24 ResourceRequestDetails(const URLRequest* request, int cert_id)
25 : url_(request->url()),
26 original_url_(request->original_url()),
27 method_(request->method()),
28 referrer_(request->referrer()),
29 has_upload_(request->has_upload()),
30 load_flags_(request->load_flags()),
31 origin_pid_(request->origin_pid()),
32 status_(request->status()),
33 ssl_cert_id_(cert_id),
34 ssl_cert_status_(request->ssl_info().cert_status) {
35 const ResourceDispatcherHost::ExtraRequestInfo* info =
36 ResourceDispatcherHost::ExtraInfoForRequest(request);
37 DCHECK(info);
38 resource_type_ = info->resource_type;
39 }
40
41 ~ResourceRequestDetails() { }
42
43 const GURL& url() const { return url_; }
44 const GURL& original_url() const { return original_url_; }
45 const std::string& method() const { return method_; }
46 const std::string& referrer() const { return referrer_; }
47 bool has_upload() const { return has_upload_; }
48 int load_flags() const { return load_flags_; }
49 int origin_pid() const { return origin_pid_; }
50 const URLRequestStatus& status() const { return status_; }
51 int ssl_cert_id() const { return ssl_cert_id_; }
52 int ssl_cert_status() const { return ssl_cert_status_; }
53 ResourceType::Type resource_type() const { return resource_type_; }
54 private:
55 GURL url_;
56 GURL original_url_;
57 std::string method_;
58 std::string referrer_;
59 bool has_upload_;
60 int load_flags_;
61 int origin_pid_;
62 URLRequestStatus status_;
63 int ssl_cert_id_;
64 int ssl_cert_status_;
65 ResourceType::Type resource_type_;
66
67 DISALLOW_EVIL_CONSTRUCTORS(ResourceRequestDetails);
68 };
69
70 // Details about a redirection of a resource request.
71 class ResourceRedirectDetails : public ResourceRequestDetails {
72 public:
73 ResourceRedirectDetails(const URLRequest* request,
74 int cert_id,
75 const GURL& new_url)
76 : ResourceRequestDetails(request, cert_id),
77 new_url_(new_url) { }
78
79 // The URL to which we are being redirected.
80 const GURL& new_url() const { return new_url_; }
81
82 private:
83 GURL new_url_;
84 };
85
86 #endif // CHROME_BROWSER_RESOURCE_REQUEST_DETAILS_H__
87
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698