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 |