Index: chrome/browser/net/chrome_network_delegate.cc |
diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc |
index 9abf6c4261555b914b4743dac26039c6ecddf6f3..6ea4eb841a4620b3f0b1c077f59309298dc47ace 100644 |
--- a/chrome/browser/net/chrome_network_delegate.cc |
+++ b/chrome/browser/net/chrome_network_delegate.cc |
@@ -18,6 +18,7 @@ |
#include "chrome/browser/profiles/profile_manager.h" |
#include "chrome/browser/task_manager/task_manager.h" |
#include "chrome/common/pref_names.h" |
+#include "chrome/common/url_constants.h" |
#include "content/public/browser/browser_thread.h" |
#include "content/public/browser/render_view_host.h" |
#include "content/public/browser/resource_request_info.h" |
@@ -129,6 +130,7 @@ ChromeNetworkDelegate::ChromeNetworkDelegate( |
cookie_settings_(cookie_settings), |
extension_info_map_(extension_info_map), |
enable_referrers_(enable_referrers), |
+ never_throttle_requests_(false), |
url_blacklist_manager_(url_blacklist_manager) { |
DCHECK(event_router); |
DCHECK(enable_referrers); |
@@ -137,6 +139,10 @@ ChromeNetworkDelegate::ChromeNetworkDelegate( |
ChromeNetworkDelegate::~ChromeNetworkDelegate() {} |
+void ChromeNetworkDelegate::NeverThrottleRequests() { |
+ never_throttle_requests_ = true; |
+} |
+ |
// static |
void ChromeNetworkDelegate::InitializeReferrersEnabled( |
BooleanPrefMember* enable_referrers, |
@@ -354,3 +360,13 @@ bool ChromeNetworkDelegate::OnCanAccessFile(const net::URLRequest& request, |
return true; |
#endif // defined(OS_CHROMEOS) |
} |
+ |
+bool ChromeNetworkDelegate::OnCanThrottleRequest( |
+ const net::URLRequest& request) const { |
+ if (never_throttle_requests_) { |
+ return false; |
+ } |
+ |
+ return request.first_party_for_cookies().scheme() != |
+ chrome::kExtensionScheme; |
+} |