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

Side by Side Diff: chrome/browser/net/chrome_network_delegate.cc

Issue 7346024: Get rid of the ProfileId. It was added for ceee. I reverted the original change, since it led to ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 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
« no previous file with comments | « chrome/browser/net/chrome_network_delegate.h ('k') | chrome/browser/profiles/profile.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 #include "chrome/browser/net/chrome_network_delegate.h" 5 #include "chrome/browser/net/chrome_network_delegate.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" 8 #include "chrome/browser/custom_handlers/protocol_handler_registry.h"
9 #include "chrome/browser/extensions/extension_event_router_forwarder.h" 9 #include "chrome/browser/extensions/extension_event_router_forwarder.h"
10 #include "chrome/browser/extensions/extension_info_map.h" 10 #include "chrome/browser/extensions/extension_info_map.h"
11 #include "chrome/browser/extensions/extension_proxy_api.h" 11 #include "chrome/browser/extensions/extension_proxy_api.h"
12 #include "chrome/browser/extensions/extension_webrequest_api.h" 12 #include "chrome/browser/extensions/extension_webrequest_api.h"
13 #include "chrome/browser/prefs/pref_member.h" 13 #include "chrome/browser/prefs/pref_member.h"
14 #include "chrome/browser/task_manager/task_manager.h" 14 #include "chrome/browser/task_manager/task_manager.h"
15 #include "chrome/common/pref_names.h" 15 #include "chrome/common/pref_names.h"
16 #include "content/browser/browser_thread.h" 16 #include "content/browser/browser_thread.h"
17 #include "net/base/host_port_pair.h" 17 #include "net/base/host_port_pair.h"
18 #include "net/base/net_errors.h" 18 #include "net/base/net_errors.h"
19 #include "net/http/http_request_headers.h" 19 #include "net/http/http_request_headers.h"
20 #include "net/http/http_response_headers.h" 20 #include "net/http/http_response_headers.h"
21 #include "net/url_request/url_request.h" 21 #include "net/url_request/url_request.h"
22 22
23 namespace { 23 namespace {
24 24
25 // If the |request| failed due to problems with a proxy, forward the error to 25 // If the |request| failed due to problems with a proxy, forward the error to
26 // the proxy extension API. 26 // the proxy extension API.
27 void ForwardProxyErrors(net::URLRequest* request, 27 void ForwardProxyErrors(net::URLRequest* request,
28 ExtensionEventRouterForwarder* event_router, 28 ExtensionEventRouterForwarder* event_router,
29 ProfileId profile_id) { 29 void* profile) {
30 if (request->status().status() == net::URLRequestStatus::FAILED) { 30 if (request->status().status() == net::URLRequestStatus::FAILED) {
31 switch (request->status().os_error()) { 31 switch (request->status().os_error()) {
32 case net::ERR_PROXY_AUTH_UNSUPPORTED: 32 case net::ERR_PROXY_AUTH_UNSUPPORTED:
33 case net::ERR_PROXY_CONNECTION_FAILED: 33 case net::ERR_PROXY_CONNECTION_FAILED:
34 case net::ERR_TUNNEL_CONNECTION_FAILED: 34 case net::ERR_TUNNEL_CONNECTION_FAILED:
35 ExtensionProxyEventRouter::GetInstance()->OnProxyError( 35 ExtensionProxyEventRouter::GetInstance()->OnProxyError(
36 event_router, profile_id, request->status().os_error()); 36 event_router, profile, request->status().os_error());
37 } 37 }
38 } 38 }
39 } 39 }
40 40
41 } // namespace 41 } // namespace
42 42
43 ChromeNetworkDelegate::ChromeNetworkDelegate( 43 ChromeNetworkDelegate::ChromeNetworkDelegate(
44 ExtensionEventRouterForwarder* event_router, 44 ExtensionEventRouterForwarder* event_router,
45 ExtensionInfoMap* extension_info_map, 45 ExtensionInfoMap* extension_info_map,
46 ProfileId profile_id, 46 void* profile,
47 BooleanPrefMember* enable_referrers) 47 BooleanPrefMember* enable_referrers)
48 : event_router_(event_router), 48 : event_router_(event_router),
49 profile_id_(profile_id), 49 profile_(profile),
50 extension_info_map_(extension_info_map), 50 extension_info_map_(extension_info_map),
51 enable_referrers_(enable_referrers) { 51 enable_referrers_(enable_referrers) {
52 DCHECK(event_router); 52 DCHECK(event_router);
53 DCHECK(enable_referrers); 53 DCHECK(enable_referrers);
54 } 54 }
55 55
56 ChromeNetworkDelegate::~ChromeNetworkDelegate() {} 56 ChromeNetworkDelegate::~ChromeNetworkDelegate() {}
57 57
58 // static 58 // static
59 void ChromeNetworkDelegate::InitializeReferrersEnabled( 59 void ChromeNetworkDelegate::InitializeReferrersEnabled(
60 BooleanPrefMember* enable_referrers, 60 BooleanPrefMember* enable_referrers,
61 PrefService* pref_service) { 61 PrefService* pref_service) {
62 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 62 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
63 enable_referrers->Init(prefs::kEnableReferrers, pref_service, NULL); 63 enable_referrers->Init(prefs::kEnableReferrers, pref_service, NULL);
64 enable_referrers->MoveToThread(BrowserThread::IO); 64 enable_referrers->MoveToThread(BrowserThread::IO);
65 } 65 }
66 66
67 int ChromeNetworkDelegate::OnBeforeURLRequest( 67 int ChromeNetworkDelegate::OnBeforeURLRequest(
68 net::URLRequest* request, 68 net::URLRequest* request,
69 net::CompletionCallback* callback, 69 net::CompletionCallback* callback,
70 GURL* new_url) { 70 GURL* new_url) {
71 if (!enable_referrers_->GetValue()) 71 if (!enable_referrers_->GetValue())
72 request->set_referrer(std::string()); 72 request->set_referrer(std::string());
73 return ExtensionWebRequestEventRouter::GetInstance()->OnBeforeRequest( 73 return ExtensionWebRequestEventRouter::GetInstance()->OnBeforeRequest(
74 profile_id_, extension_info_map_.get(), request, callback, new_url); 74 profile_, extension_info_map_.get(), request, callback, new_url);
75 } 75 }
76 76
77 int ChromeNetworkDelegate::OnBeforeSendHeaders( 77 int ChromeNetworkDelegate::OnBeforeSendHeaders(
78 net::URLRequest* request, 78 net::URLRequest* request,
79 net::CompletionCallback* callback, 79 net::CompletionCallback* callback,
80 net::HttpRequestHeaders* headers) { 80 net::HttpRequestHeaders* headers) {
81 return ExtensionWebRequestEventRouter::GetInstance()->OnBeforeSendHeaders( 81 return ExtensionWebRequestEventRouter::GetInstance()->OnBeforeSendHeaders(
82 profile_id_, extension_info_map_.get(), request, callback, headers); 82 profile_, extension_info_map_.get(), request, callback, headers);
83 } 83 }
84 84
85 void ChromeNetworkDelegate::OnRequestSent( 85 void ChromeNetworkDelegate::OnRequestSent(
86 uint64 request_id, 86 uint64 request_id,
87 const net::HostPortPair& socket_address, 87 const net::HostPortPair& socket_address,
88 const net::HttpRequestHeaders& headers) { 88 const net::HttpRequestHeaders& headers) {
89 ExtensionWebRequestEventRouter::GetInstance()->OnRequestSent( 89 ExtensionWebRequestEventRouter::GetInstance()->OnRequestSent(
90 profile_id_, extension_info_map_.get(), request_id, 90 profile_, extension_info_map_.get(), request_id,
91 socket_address, headers); 91 socket_address, headers);
92 } 92 }
93 93
94 void ChromeNetworkDelegate::OnBeforeRedirect(net::URLRequest* request, 94 void ChromeNetworkDelegate::OnBeforeRedirect(net::URLRequest* request,
95 const GURL& new_location) { 95 const GURL& new_location) {
96 ExtensionWebRequestEventRouter::GetInstance()->OnBeforeRedirect( 96 ExtensionWebRequestEventRouter::GetInstance()->OnBeforeRedirect(
97 profile_id_, extension_info_map_.get(), request, new_location); 97 profile_, extension_info_map_.get(), request, new_location);
98 } 98 }
99 99
100 100
101 void ChromeNetworkDelegate::OnResponseStarted(net::URLRequest* request) { 101 void ChromeNetworkDelegate::OnResponseStarted(net::URLRequest* request) {
102 ExtensionWebRequestEventRouter::GetInstance()->OnResponseStarted( 102 ExtensionWebRequestEventRouter::GetInstance()->OnResponseStarted(
103 profile_id_, extension_info_map_.get(), request); 103 profile_, extension_info_map_.get(), request);
104 ForwardProxyErrors(request, event_router_.get(), profile_id_); 104 ForwardProxyErrors(request, event_router_.get(), profile_);
105 } 105 }
106 106
107 void ChromeNetworkDelegate::OnRawBytesRead(const net::URLRequest& request, 107 void ChromeNetworkDelegate::OnRawBytesRead(const net::URLRequest& request,
108 int bytes_read) { 108 int bytes_read) {
109 TaskManager::GetInstance()->model()->NotifyBytesRead(request, bytes_read); 109 TaskManager::GetInstance()->model()->NotifyBytesRead(request, bytes_read);
110 } 110 }
111 111
112 void ChromeNetworkDelegate::OnCompleted(net::URLRequest* request) { 112 void ChromeNetworkDelegate::OnCompleted(net::URLRequest* request) {
113 if (request->status().status() == net::URLRequestStatus::SUCCESS) { 113 if (request->status().status() == net::URLRequestStatus::SUCCESS) {
114 bool is_redirect = request->response_headers() && 114 bool is_redirect = request->response_headers() &&
115 net::HttpResponseHeaders::IsRedirectResponseCode( 115 net::HttpResponseHeaders::IsRedirectResponseCode(
116 request->response_headers()->response_code()); 116 request->response_headers()->response_code());
117 if (!is_redirect) { 117 if (!is_redirect) {
118 ExtensionWebRequestEventRouter::GetInstance()->OnCompleted( 118 ExtensionWebRequestEventRouter::GetInstance()->OnCompleted(
119 profile_id_, extension_info_map_.get(), request); 119 profile_, extension_info_map_.get(), request);
120 } 120 }
121 } else if (request->status().status() == net::URLRequestStatus::FAILED) { 121 } else if (request->status().status() == net::URLRequestStatus::FAILED) {
122 ExtensionWebRequestEventRouter::GetInstance()->OnErrorOccurred( 122 ExtensionWebRequestEventRouter::GetInstance()->OnErrorOccurred(
123 profile_id_, extension_info_map_.get(), request); 123 profile_, extension_info_map_.get(), request);
124 } 124 }
125 ForwardProxyErrors(request, event_router_.get(), profile_id_); 125 ForwardProxyErrors(request, event_router_.get(), profile_);
126 } 126 }
127 127
128 void ChromeNetworkDelegate::OnURLRequestDestroyed(net::URLRequest* request) { 128 void ChromeNetworkDelegate::OnURLRequestDestroyed(net::URLRequest* request) {
129 ExtensionWebRequestEventRouter::GetInstance()->OnURLRequestDestroyed( 129 ExtensionWebRequestEventRouter::GetInstance()->OnURLRequestDestroyed(
130 profile_id_, request); 130 profile_, request);
131 } 131 }
132 132
133 void ChromeNetworkDelegate::OnHttpTransactionDestroyed(uint64 request_id) { 133 void ChromeNetworkDelegate::OnHttpTransactionDestroyed(uint64 request_id) {
134 ExtensionWebRequestEventRouter::GetInstance()->OnHttpTransactionDestroyed( 134 ExtensionWebRequestEventRouter::GetInstance()->OnHttpTransactionDestroyed(
135 profile_id_, request_id); 135 profile_, request_id);
136 } 136 }
137 137
138 void ChromeNetworkDelegate::OnPACScriptError(int line_number, 138 void ChromeNetworkDelegate::OnPACScriptError(int line_number,
139 const string16& error) { 139 const string16& error) {
140 ExtensionProxyEventRouter::GetInstance()->OnPACScriptError( 140 ExtensionProxyEventRouter::GetInstance()->OnPACScriptError(
141 event_router_.get(), profile_id_, line_number, error); 141 event_router_.get(), profile_, line_number, error);
142 } 142 }
OLDNEW
« no previous file with comments | « chrome/browser/net/chrome_network_delegate.h ('k') | chrome/browser/profiles/profile.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698