| 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/browser_process.h" | 12 #include "chrome/browser/browser_process.h" |
| 13 #include "chrome/browser/chrome_notification_types.h" | 13 #include "chrome/browser/chrome_notification_types.h" |
| 14 #include "chrome/browser/component_updater/component_updater_service.h" | 14 #include "chrome/browser/component_updater/component_updater_service.h" |
| 15 #include "chrome/browser/content_settings/host_content_settings_map.h" | 15 #include "chrome/browser/content_settings/host_content_settings_map.h" |
| 16 #include "chrome/browser/download/download_request_limiter.h" | 16 #include "chrome/browser/download/download_request_limiter.h" |
| 17 #include "chrome/browser/download/download_resource_throttle.h" | 17 #include "chrome/browser/download/download_resource_throttle.h" |
| 18 #include "chrome/browser/extensions/api/streams_private/streams_private_api.h" | 18 #include "chrome/browser/extensions/api/streams_private/streams_private_api.h" |
| 19 #include "chrome/browser/extensions/extension_info_map.h" | |
| 20 #include "chrome/browser/extensions/extension_renderer_state.h" | 19 #include "chrome/browser/extensions/extension_renderer_state.h" |
| 21 #include "chrome/browser/extensions/user_script_listener.h" | 20 #include "chrome/browser/extensions/user_script_listener.h" |
| 22 #include "chrome/browser/external_protocol/external_protocol_handler.h" | 21 #include "chrome/browser/external_protocol/external_protocol_handler.h" |
| 23 #include "chrome/browser/google/google_util.h" | 22 #include "chrome/browser/google/google_util.h" |
| 24 #include "chrome/browser/metrics/variations/variations_http_header_provider.h" | 23 #include "chrome/browser/metrics/variations/variations_http_header_provider.h" |
| 25 #include "chrome/browser/net/resource_prefetch_predictor_observer.h" | 24 #include "chrome/browser/net/resource_prefetch_predictor_observer.h" |
| 26 #include "chrome/browser/prerender/prerender_manager.h" | 25 #include "chrome/browser/prerender/prerender_manager.h" |
| 27 #include "chrome/browser/prerender/prerender_resource_throttle.h" | 26 #include "chrome/browser/prerender/prerender_resource_throttle.h" |
| 28 #include "chrome/browser/prerender/prerender_tracker.h" | 27 #include "chrome/browser/prerender/prerender_tracker.h" |
| 29 #include "chrome/browser/prerender/prerender_util.h" | 28 #include "chrome/browser/prerender/prerender_util.h" |
| (...skipping 10 matching lines...) Expand all Loading... |
| 40 #include "chrome/common/render_messages.h" | 39 #include "chrome/common/render_messages.h" |
| 41 #include "content/public/browser/browser_thread.h" | 40 #include "content/public/browser/browser_thread.h" |
| 42 #include "content/public/browser/notification_service.h" | 41 #include "content/public/browser/notification_service.h" |
| 43 #include "content/public/browser/render_process_host.h" | 42 #include "content/public/browser/render_process_host.h" |
| 44 #include "content/public/browser/render_view_host.h" | 43 #include "content/public/browser/render_view_host.h" |
| 45 #include "content/public/browser/resource_context.h" | 44 #include "content/public/browser/resource_context.h" |
| 46 #include "content/public/browser/resource_dispatcher_host.h" | 45 #include "content/public/browser/resource_dispatcher_host.h" |
| 47 #include "content/public/browser/resource_request_info.h" | 46 #include "content/public/browser/resource_request_info.h" |
| 48 #include "content/public/browser/stream_handle.h" | 47 #include "content/public/browser/stream_handle.h" |
| 49 #include "content/public/common/resource_response.h" | 48 #include "content/public/common/resource_response.h" |
| 49 #include "extensions/browser/info_map.h" |
| 50 #include "extensions/common/constants.h" | 50 #include "extensions/common/constants.h" |
| 51 #include "extensions/common/user_script.h" | 51 #include "extensions/common/user_script.h" |
| 52 #include "net/base/load_flags.h" | 52 #include "net/base/load_flags.h" |
| 53 #include "net/base/load_timing_info.h" | 53 #include "net/base/load_timing_info.h" |
| 54 #include "net/base/request_priority.h" | 54 #include "net/base/request_priority.h" |
| 55 #include "net/http/http_response_headers.h" | 55 #include "net/http/http_response_headers.h" |
| 56 #include "net/ssl/ssl_config_service.h" | 56 #include "net/ssl/ssl_config_service.h" |
| 57 #include "net/url_request/url_request.h" | 57 #include "net/url_request/url_request.h" |
| 58 | 58 |
| 59 #if defined(ENABLE_MANAGED_USERS) | 59 #if defined(ENABLE_MANAGED_USERS) |
| (...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 576 bool ChromeResourceDispatcherHostDelegate::ShouldInterceptResourceAsStream( | 576 bool ChromeResourceDispatcherHostDelegate::ShouldInterceptResourceAsStream( |
| 577 content::ResourceContext* resource_context, | 577 content::ResourceContext* resource_context, |
| 578 const GURL& url, | 578 const GURL& url, |
| 579 const std::string& mime_type, | 579 const std::string& mime_type, |
| 580 GURL* origin, | 580 GURL* origin, |
| 581 std::string* target_id) { | 581 std::string* target_id) { |
| 582 #if !defined(OS_ANDROID) | 582 #if !defined(OS_ANDROID) |
| 583 ProfileIOData* io_data = | 583 ProfileIOData* io_data = |
| 584 ProfileIOData::FromResourceContext(resource_context); | 584 ProfileIOData::FromResourceContext(resource_context); |
| 585 bool profile_is_incognito = io_data->is_incognito(); | 585 bool profile_is_incognito = io_data->is_incognito(); |
| 586 const scoped_refptr<const ExtensionInfoMap> extension_info_map( | 586 const scoped_refptr<const extensions::InfoMap> extension_info_map( |
| 587 io_data->GetExtensionInfoMap()); | 587 io_data->GetExtensionInfoMap()); |
| 588 std::vector<std::string> whitelist = MimeTypesHandler::GetMIMETypeWhitelist(); | 588 std::vector<std::string> whitelist = MimeTypesHandler::GetMIMETypeWhitelist(); |
| 589 // Go through the white-listed extensions and try to use them to intercept | 589 // Go through the white-listed extensions and try to use them to intercept |
| 590 // the URL request. | 590 // the URL request. |
| 591 for (size_t i = 0; i < whitelist.size(); ++i) { | 591 for (size_t i = 0; i < whitelist.size(); ++i) { |
| 592 const char* extension_id = whitelist[i].c_str(); | 592 const char* extension_id = whitelist[i].c_str(); |
| 593 const Extension* extension = | 593 const Extension* extension = |
| 594 extension_info_map->extensions().GetByID(extension_id); | 594 extension_info_map->extensions().GetByID(extension_id); |
| 595 // The white-listed extension may not be installed, so we have to NULL check | 595 // The white-listed extension may not be installed, so we have to NULL check |
| 596 // |extension|. | 596 // |extension|. |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 711 if (!prerender::PrerenderManager::DoesURLHaveValidScheme(redirect_url) && | 711 if (!prerender::PrerenderManager::DoesURLHaveValidScheme(redirect_url) && |
| 712 ResourceRequestInfo::ForRequest(request)->GetAssociatedRenderView( | 712 ResourceRequestInfo::ForRequest(request)->GetAssociatedRenderView( |
| 713 &child_id, &route_id) && | 713 &child_id, &route_id) && |
| 714 prerender_tracker_->IsPrerenderingOnIOThread(child_id, route_id) && | 714 prerender_tracker_->IsPrerenderingOnIOThread(child_id, route_id) && |
| 715 prerender_tracker_->TryCancel( | 715 prerender_tracker_->TryCancel( |
| 716 child_id, route_id, prerender::FINAL_STATUS_UNSUPPORTED_SCHEME)) { | 716 child_id, route_id, prerender::FINAL_STATUS_UNSUPPORTED_SCHEME)) { |
| 717 ReportUnsupportedPrerenderScheme(redirect_url); | 717 ReportUnsupportedPrerenderScheme(redirect_url); |
| 718 request->Cancel(); | 718 request->Cancel(); |
| 719 } | 719 } |
| 720 } | 720 } |
| OLD | NEW |