Chromium Code Reviews| 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 "chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate. h" | 5 #include "chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate. h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/base64.h" | 9 #include "base/base64.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| 11 #include "base/metrics/histogram.h" | 11 #include "base/metrics/histogram.h" |
| 12 #include "chrome/browser/apps/app_url_redirector.h" | |
| 12 #include "chrome/browser/browser_process.h" | 13 #include "chrome/browser/browser_process.h" |
| 13 #include "chrome/browser/chrome_notification_types.h" | 14 #include "chrome/browser/chrome_notification_types.h" |
| 14 #include "chrome/browser/content_settings/host_content_settings_map.h" | 15 #include "chrome/browser/content_settings/host_content_settings_map.h" |
| 15 #include "chrome/browser/download/download_request_limiter.h" | 16 #include "chrome/browser/download/download_request_limiter.h" |
| 16 #include "chrome/browser/download/download_resource_throttle.h" | 17 #include "chrome/browser/download/download_resource_throttle.h" |
| 17 #include "chrome/browser/extensions/api/streams_private/streams_private_api.h" | 18 #include "chrome/browser/extensions/api/streams_private/streams_private_api.h" |
| 18 #include "chrome/browser/extensions/extension_info_map.h" | 19 #include "chrome/browser/extensions/extension_info_map.h" |
| 19 #include "chrome/browser/extensions/user_script_listener.h" | 20 #include "chrome/browser/extensions/user_script_listener.h" |
| 20 #include "chrome/browser/external_protocol/external_protocol_handler.h" | 21 #include "chrome/browser/external_protocol/external_protocol_handler.h" |
| 21 #include "chrome/browser/google/google_util.h" | 22 #include "chrome/browser/google/google_util.h" |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 255 | 256 |
| 256 ChromeURLRequestUserData* user_data = | 257 ChromeURLRequestUserData* user_data = |
| 257 ChromeURLRequestUserData::Create(request); | 258 ChromeURLRequestUserData::Create(request); |
| 258 bool is_prerendering = prerender_tracker_->IsPrerenderingOnIOThread( | 259 bool is_prerendering = prerender_tracker_->IsPrerenderingOnIOThread( |
| 259 child_id, route_id); | 260 child_id, route_id); |
| 260 if (is_prerendering) { | 261 if (is_prerendering) { |
| 261 user_data->set_is_prerender(true); | 262 user_data->set_is_prerender(true); |
| 262 request->SetPriority(net::IDLE); | 263 request->SetPriority(net::IDLE); |
| 263 } | 264 } |
| 264 | 265 |
| 266 // This will redirect some navigations to apps that have registered | |
| 267 // themselves to handle matching URLs patterns using 'url_handlers' in | |
| 268 // the manifest. | |
| 269 throttles->push_back(AppUrlRedirector::CreateThrottleFor(request)); | |
|
darin (slow to review)
2013/09/05 22:52:15
You are installing this throttle for each and ever
sergeygs
2013/09/05 23:46:57
Done. I meant to do that, but somehow left it like
| |
| 270 | |
| 265 #if defined(OS_ANDROID) | 271 #if defined(OS_ANDROID) |
| 266 if (!is_prerendering && resource_type == ResourceType::MAIN_FRAME) { | 272 if (!is_prerendering && resource_type == ResourceType::MAIN_FRAME) { |
| 267 throttles->push_back( | 273 throttles->push_back( |
| 268 InterceptNavigationDelegate::CreateThrottleFor(request)); | 274 InterceptNavigationDelegate::CreateThrottleFor(request)); |
| 269 } | 275 } |
| 270 #endif | 276 #endif |
| 271 #if defined(OS_CHROMEOS) | 277 #if defined(OS_CHROMEOS) |
| 272 if (resource_type == ResourceType::MAIN_FRAME) { | 278 if (resource_type == ResourceType::MAIN_FRAME) { |
| 273 // We check offline first, then check safe browsing so that we still can | 279 // We check offline first, then check safe browsing so that we still can |
| 274 // block unsafe site after we remove offline page. | 280 // block unsafe site after we remove offline page. |
| (...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 637 if (!prerender::PrerenderManager::DoesURLHaveValidScheme(redirect_url) && | 643 if (!prerender::PrerenderManager::DoesURLHaveValidScheme(redirect_url) && |
| 638 ResourceRequestInfo::ForRequest(request)->GetAssociatedRenderView( | 644 ResourceRequestInfo::ForRequest(request)->GetAssociatedRenderView( |
| 639 &child_id, &route_id) && | 645 &child_id, &route_id) && |
| 640 prerender_tracker_->IsPrerenderingOnIOThread(child_id, route_id)) { | 646 prerender_tracker_->IsPrerenderingOnIOThread(child_id, route_id)) { |
| 641 ReportUnsupportedPrerenderScheme(redirect_url); | 647 ReportUnsupportedPrerenderScheme(redirect_url); |
| 642 prerender_tracker_->TryCancel( | 648 prerender_tracker_->TryCancel( |
| 643 child_id, route_id, prerender::FINAL_STATUS_UNSUPPORTED_SCHEME); | 649 child_id, route_id, prerender::FINAL_STATUS_UNSUPPORTED_SCHEME); |
| 644 request->Cancel(); | 650 request->Cancel(); |
| 645 } | 651 } |
| 646 } | 652 } |
| OLD | NEW |