| OLD | NEW |
| (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 | |
| OLD | NEW |