OLD | NEW |
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 #include "content/browser/renderer_host/sync_resource_handler.h" | 5 #include "content/browser/renderer_host/sync_resource_handler.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "content/browser/debugger/devtools_netlog_observer.h" | 8 #include "content/browser/debugger/devtools_netlog_observer.h" |
9 #include "content/browser/renderer_host/resource_dispatcher_host_impl.h" | 9 #include "content/browser/renderer_host/resource_dispatcher_host_impl.h" |
10 #include "content/browser/renderer_host/resource_message_filter.h" | 10 #include "content/browser/renderer_host/resource_message_filter.h" |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 } | 42 } |
43 | 43 |
44 bool SyncResourceHandler::OnRequestRedirected( | 44 bool SyncResourceHandler::OnRequestRedirected( |
45 int request_id, | 45 int request_id, |
46 const GURL& new_url, | 46 const GURL& new_url, |
47 ResourceResponse* response, | 47 ResourceResponse* response, |
48 bool* defer) { | 48 bool* defer) { |
49 net::URLRequest* request = rdh_->GetURLRequest( | 49 net::URLRequest* request = rdh_->GetURLRequest( |
50 GlobalRequestID(filter_->child_id(), request_id)); | 50 GlobalRequestID(filter_->child_id(), request_id)); |
51 if (rdh_->delegate()) | 51 if (rdh_->delegate()) |
52 rdh_->delegate()->OnRequestRedirected(request, response); | 52 rdh_->delegate()->OnRequestRedirected(request, filter_->resource_context(), |
| 53 response); |
53 | 54 |
54 DevToolsNetLogObserver::PopulateResponseInfo(request, response); | 55 DevToolsNetLogObserver::PopulateResponseInfo(request, response); |
55 // TODO(darin): It would be much better if this could live in WebCore, but | 56 // TODO(darin): It would be much better if this could live in WebCore, but |
56 // doing so requires API changes at all levels. Similar code exists in | 57 // doing so requires API changes at all levels. Similar code exists in |
57 // WebCore/platform/network/cf/ResourceHandleCFNet.cpp :-( | 58 // WebCore/platform/network/cf/ResourceHandleCFNet.cpp :-( |
58 if (new_url.GetOrigin() != result_.final_url.GetOrigin()) { | 59 if (new_url.GetOrigin() != result_.final_url.GetOrigin()) { |
59 LOG(ERROR) << "Cross origin redirect denied"; | 60 LOG(ERROR) << "Cross origin redirect denied"; |
60 return false; | 61 return false; |
61 } | 62 } |
62 result_.final_url = new_url; | 63 result_.final_url = new_url; |
63 return true; | 64 return true; |
64 } | 65 } |
65 | 66 |
66 bool SyncResourceHandler::OnResponseStarted( | 67 bool SyncResourceHandler::OnResponseStarted( |
67 int request_id, | 68 int request_id, |
68 ResourceResponse* response, | 69 ResourceResponse* response, |
69 bool* defer) { | 70 bool* defer) { |
70 net::URLRequest* request = rdh_->GetURLRequest( | 71 net::URLRequest* request = rdh_->GetURLRequest( |
71 GlobalRequestID(filter_->child_id(), request_id)); | 72 GlobalRequestID(filter_->child_id(), request_id)); |
72 if (rdh_->delegate()) | 73 if (rdh_->delegate()) |
73 rdh_->delegate()->OnResponseStarted(request, response, filter_); | 74 rdh_->delegate()->OnResponseStarted(request, filter_->resource_context(), |
| 75 response, filter_); |
74 | 76 |
75 DevToolsNetLogObserver::PopulateResponseInfo(request, response); | 77 DevToolsNetLogObserver::PopulateResponseInfo(request, response); |
76 | 78 |
77 // We don't care about copying the status here. | 79 // We don't care about copying the status here. |
78 result_.headers = response->headers; | 80 result_.headers = response->headers; |
79 result_.mime_type = response->mime_type; | 81 result_.mime_type = response->mime_type; |
80 result_.charset = response->charset; | 82 result_.charset = response->charset; |
81 result_.download_file_path = response->download_file_path; | 83 result_.download_file_path = response->download_file_path; |
82 result_.request_time = response->request_time; | 84 result_.request_time = response->request_time; |
83 result_.response_time = response->response_time; | 85 result_.response_time = response->response_time; |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 result_.encoded_data_length = | 123 result_.encoded_data_length = |
122 DevToolsNetLogObserver::GetAndResetEncodedDataLength(request); | 124 DevToolsNetLogObserver::GetAndResetEncodedDataLength(request); |
123 | 125 |
124 ResourceHostMsg_SyncLoad::WriteReplyParams(result_message_, result_); | 126 ResourceHostMsg_SyncLoad::WriteReplyParams(result_message_, result_); |
125 filter_->Send(result_message_); | 127 filter_->Send(result_message_); |
126 result_message_ = NULL; | 128 result_message_ = NULL; |
127 return true; | 129 return true; |
128 } | 130 } |
129 | 131 |
130 } // namespace content | 132 } // namespace content |
OLD | NEW |