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

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

Issue 10828333: Merge 150928 - Fix a bad inversion of logic (see OnCanThrottleRequest) and a bug (Closed) Base URL: svn://svn.chromium.org/chrome/branches/1180/src/
Patch Set: Created 8 years, 4 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') | no next file » | 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) 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 "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/browser_process.h" 8 #include "chrome/browser/browser_process.h"
9 #include "chrome/browser/content_settings/cookie_settings.h" 9 #include "chrome/browser/content_settings/cookie_settings.h"
10 #include "chrome/browser/content_settings/tab_specific_content_settings.h" 10 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 using content::ResourceRequestInfo; 44 using content::ResourceRequestInfo;
45 45
46 // By default we don't allow access to all file:// urls on ChromeOS but we do on 46 // By default we don't allow access to all file:// urls on ChromeOS but we do on
47 // other platforms. 47 // other platforms.
48 #if defined(OS_CHROMEOS) 48 #if defined(OS_CHROMEOS)
49 bool ChromeNetworkDelegate::g_allow_file_access_ = false; 49 bool ChromeNetworkDelegate::g_allow_file_access_ = false;
50 #else 50 #else
51 bool ChromeNetworkDelegate::g_allow_file_access_ = true; 51 bool ChromeNetworkDelegate::g_allow_file_access_ = true;
52 #endif 52 #endif
53 53
54 // This remains false unless the --disable-extensions-http-throttling
55 // flag is passed to the browser.
56 bool ChromeNetworkDelegate::g_never_throttle_requests_ = false;
57
54 namespace { 58 namespace {
55 59
56 // If the |request| failed due to problems with a proxy, forward the error to 60 // If the |request| failed due to problems with a proxy, forward the error to
57 // the proxy extension API. 61 // the proxy extension API.
58 void ForwardProxyErrors(net::URLRequest* request, 62 void ForwardProxyErrors(net::URLRequest* request,
59 ExtensionEventRouterForwarder* event_router, 63 ExtensionEventRouterForwarder* event_router,
60 void* profile) { 64 void* profile) {
61 if (request->status().status() == net::URLRequestStatus::FAILED) { 65 if (request->status().status() == net::URLRequestStatus::FAILED) {
62 switch (request->status().error()) { 66 switch (request->status().error()) {
63 case net::ERR_PROXY_AUTH_UNSUPPORTED: 67 case net::ERR_PROXY_AUTH_UNSUPPORTED:
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 ExtensionInfoMap* extension_info_map, 128 ExtensionInfoMap* extension_info_map,
125 const policy::URLBlacklistManager* url_blacklist_manager, 129 const policy::URLBlacklistManager* url_blacklist_manager,
126 void* profile, 130 void* profile,
127 CookieSettings* cookie_settings, 131 CookieSettings* cookie_settings,
128 BooleanPrefMember* enable_referrers) 132 BooleanPrefMember* enable_referrers)
129 : event_router_(event_router), 133 : event_router_(event_router),
130 profile_(profile), 134 profile_(profile),
131 cookie_settings_(cookie_settings), 135 cookie_settings_(cookie_settings),
132 extension_info_map_(extension_info_map), 136 extension_info_map_(extension_info_map),
133 enable_referrers_(enable_referrers), 137 enable_referrers_(enable_referrers),
134 never_throttle_requests_(false),
135 url_blacklist_manager_(url_blacklist_manager) { 138 url_blacklist_manager_(url_blacklist_manager) {
136 DCHECK(event_router); 139 DCHECK(event_router);
137 DCHECK(enable_referrers); 140 DCHECK(enable_referrers);
138 DCHECK(!profile || cookie_settings); 141 DCHECK(!profile || cookie_settings);
139 } 142 }
140 143
141 ChromeNetworkDelegate::~ChromeNetworkDelegate() {} 144 ChromeNetworkDelegate::~ChromeNetworkDelegate() {}
142 145
146 // static
143 void ChromeNetworkDelegate::NeverThrottleRequests() { 147 void ChromeNetworkDelegate::NeverThrottleRequests() {
144 never_throttle_requests_ = true; 148 g_never_throttle_requests_ = true;
145 } 149 }
146 150
147 // static 151 // static
148 void ChromeNetworkDelegate::InitializeReferrersEnabled( 152 void ChromeNetworkDelegate::InitializeReferrersEnabled(
149 BooleanPrefMember* enable_referrers, 153 BooleanPrefMember* enable_referrers,
150 PrefService* pref_service) { 154 PrefService* pref_service) {
151 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 155 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
152 enable_referrers->Init(prefs::kEnableReferrers, pref_service, NULL); 156 enable_referrers->Init(prefs::kEnableReferrers, pref_service, NULL);
153 enable_referrers->MoveToThread(BrowserThread::IO); 157 enable_referrers->MoveToThread(BrowserThread::IO);
154 } 158 }
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 } 361 }
358 } 362 }
359 return false; 363 return false;
360 #else 364 #else
361 return true; 365 return true;
362 #endif // defined(OS_CHROMEOS) 366 #endif // defined(OS_CHROMEOS)
363 } 367 }
364 368
365 bool ChromeNetworkDelegate::OnCanThrottleRequest( 369 bool ChromeNetworkDelegate::OnCanThrottleRequest(
366 const net::URLRequest& request) const { 370 const net::URLRequest& request) const {
367 if (never_throttle_requests_) { 371 if (g_never_throttle_requests_) {
368 return false; 372 return false;
369 } 373 }
370 374
371 return request.first_party_for_cookies().scheme() != 375 return request.first_party_for_cookies().scheme() ==
372 chrome::kExtensionScheme; 376 chrome::kExtensionScheme;
373 } 377 }
374 378
375 int ChromeNetworkDelegate::OnBeforeSocketStreamConnect( 379 int ChromeNetworkDelegate::OnBeforeSocketStreamConnect(
376 net::SocketStream* socket, 380 net::SocketStream* socket,
377 const net::CompletionCallback& callback) { 381 const net::CompletionCallback& callback) {
378 #if defined(ENABLE_CONFIGURATION_POLICY) 382 #if defined(ENABLE_CONFIGURATION_POLICY)
379 if (url_blacklist_manager_ && 383 if (url_blacklist_manager_ &&
380 url_blacklist_manager_->IsURLBlocked(socket->url())) { 384 url_blacklist_manager_->IsURLBlocked(socket->url())) {
381 // URL access blocked by policy. 385 // URL access blocked by policy.
382 socket->net_log()->AddEvent( 386 socket->net_log()->AddEvent(
383 net::NetLog::TYPE_CHROME_POLICY_ABORTED_REQUEST, 387 net::NetLog::TYPE_CHROME_POLICY_ABORTED_REQUEST,
384 net::NetLog::StringCallback("url", 388 net::NetLog::StringCallback("url",
385 &socket->url().possibly_invalid_spec())); 389 &socket->url().possibly_invalid_spec()));
386 return net::ERR_NETWORK_ACCESS_DENIED; 390 return net::ERR_NETWORK_ACCESS_DENIED;
387 } 391 }
388 #endif 392 #endif
389 return net::OK; 393 return net::OK;
390 } 394 }
OLDNEW
« no previous file with comments | « chrome/browser/net/chrome_network_delegate.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698