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/profiles/profile_io_data.h" | 5 #include "chrome/browser/profiles/profile_io_data.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
11 #include "base/bind_helpers.h" | 11 #include "base/bind_helpers.h" |
12 #include "base/command_line.h" | 12 #include "base/command_line.h" |
13 #include "base/compiler_specific.h" | 13 #include "base/compiler_specific.h" |
14 #include "base/logging.h" | 14 #include "base/logging.h" |
15 #include "base/stl_util.h" | 15 #include "base/stl_util.h" |
16 #include "base/string_number_conversions.h" | 16 #include "base/string_number_conversions.h" |
17 #include "base/string_util.h" | 17 #include "base/string_util.h" |
18 #include "base/stringprintf.h" | 18 #include "base/stringprintf.h" |
19 #include "chrome/browser/browser_process.h" | 19 #include "chrome/browser/browser_process.h" |
20 #include "chrome/browser/content_settings/cookie_settings.h" | 20 #include "chrome/browser/content_settings/cookie_settings.h" |
21 #include "chrome/browser/content_settings/host_content_settings_map.h" | 21 #include "chrome/browser/content_settings/host_content_settings_map.h" |
22 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" | 22 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" |
23 #include "chrome/browser/download/download_service.h" | 23 #include "chrome/browser/download/download_service.h" |
24 #include "chrome/browser/download/download_service_factory.h" | 24 #include "chrome/browser/download/download_service_factory.h" |
25 #include "chrome/browser/extensions/extension_info_map.h" | 25 #include "chrome/browser/extensions/extension_info_map.h" |
26 #include "chrome/browser/extensions/extension_protocols.h" | 26 #include "chrome/browser/extensions/extension_protocols.h" |
| 27 #include "chrome/browser/extensions/extension_resource_protocols.h" |
27 #include "chrome/browser/extensions/extension_system.h" | 28 #include "chrome/browser/extensions/extension_system.h" |
28 #include "chrome/browser/io_thread.h" | 29 #include "chrome/browser/io_thread.h" |
29 #include "chrome/browser/net/chrome_cookie_notification_details.h" | 30 #include "chrome/browser/net/chrome_cookie_notification_details.h" |
30 #include "chrome/browser/net/chrome_fraudulent_certificate_reporter.h" | 31 #include "chrome/browser/net/chrome_fraudulent_certificate_reporter.h" |
31 #include "chrome/browser/net/chrome_net_log.h" | 32 #include "chrome/browser/net/chrome_net_log.h" |
32 #include "chrome/browser/net/chrome_network_delegate.h" | 33 #include "chrome/browser/net/chrome_network_delegate.h" |
33 #include "chrome/browser/net/http_server_properties_manager.h" | 34 #include "chrome/browser/net/http_server_properties_manager.h" |
34 #include "chrome/browser/net/proxy_service_factory.h" | 35 #include "chrome/browser/net/proxy_service_factory.h" |
35 #include "chrome/browser/notifications/desktop_notification_service_factory.h" | 36 #include "chrome/browser/notifications/desktop_notification_service_factory.h" |
36 #include "chrome/browser/policy/url_blacklist_manager.h" | 37 #include "chrome/browser/policy/url_blacklist_manager.h" |
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
279 DCHECK_EQ(scheme, StringToLowerASCII(scheme)); | 280 DCHECK_EQ(scheme, StringToLowerASCII(scheme)); |
280 static const char* const kProtocolList[] = { | 281 static const char* const kProtocolList[] = { |
281 chrome::kExtensionScheme, | 282 chrome::kExtensionScheme, |
282 chrome::kChromeUIScheme, | 283 chrome::kChromeUIScheme, |
283 chrome::kChromeDevToolsScheme, | 284 chrome::kChromeDevToolsScheme, |
284 #if defined(OS_CHROMEOS) | 285 #if defined(OS_CHROMEOS) |
285 chrome::kMetadataScheme, | 286 chrome::kMetadataScheme, |
286 #endif // defined(OS_CHROMEOS) | 287 #endif // defined(OS_CHROMEOS) |
287 chrome::kBlobScheme, | 288 chrome::kBlobScheme, |
288 chrome::kFileSystemScheme, | 289 chrome::kFileSystemScheme, |
| 290 chrome::kExtensionResourceScheme, |
289 }; | 291 }; |
290 for (size_t i = 0; i < arraysize(kProtocolList); ++i) { | 292 for (size_t i = 0; i < arraysize(kProtocolList); ++i) { |
291 if (scheme == kProtocolList[i]) | 293 if (scheme == kProtocolList[i]) |
292 return true; | 294 return true; |
293 } | 295 } |
294 return net::URLRequest::IsHandledProtocol(scheme); | 296 return net::URLRequest::IsHandledProtocol(scheme); |
295 } | 297 } |
296 | 298 |
297 bool ProfileIOData::IsHandledURL(const GURL& url) { | 299 bool ProfileIOData::IsHandledURL(const GURL& url) { |
298 if (!url.is_valid()) { | 300 if (!url.is_valid()) { |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
466 job_factory_->AddInterceptor( | 468 job_factory_->AddInterceptor( |
467 new ProtocolHandlerRegistryInterceptor( | 469 new ProtocolHandlerRegistryInterceptor( |
468 profile_params_->protocol_handler_registry)); | 470 profile_params_->protocol_handler_registry)); |
469 } | 471 } |
470 bool set_protocol = job_factory_->SetProtocolHandler( | 472 bool set_protocol = job_factory_->SetProtocolHandler( |
471 chrome::kExtensionScheme, | 473 chrome::kExtensionScheme, |
472 CreateExtensionProtocolHandler(profile_params_->is_incognito, | 474 CreateExtensionProtocolHandler(profile_params_->is_incognito, |
473 profile_params_->extension_info_map)); | 475 profile_params_->extension_info_map)); |
474 DCHECK(set_protocol); | 476 DCHECK(set_protocol); |
475 set_protocol = job_factory_->SetProtocolHandler( | 477 set_protocol = job_factory_->SetProtocolHandler( |
| 478 chrome::kExtensionResourceScheme, |
| 479 CreateExtensionResourceProtocolHandler()); |
| 480 DCHECK(set_protocol); |
| 481 set_protocol = job_factory_->SetProtocolHandler( |
476 chrome::kChromeUIScheme, | 482 chrome::kChromeUIScheme, |
477 ChromeURLDataManagerBackend::CreateProtocolHandler( | 483 ChromeURLDataManagerBackend::CreateProtocolHandler( |
478 chrome_url_data_manager_backend_.get())); | 484 chrome_url_data_manager_backend_.get())); |
479 DCHECK(set_protocol); | 485 DCHECK(set_protocol); |
480 set_protocol = job_factory_->SetProtocolHandler( | 486 set_protocol = job_factory_->SetProtocolHandler( |
481 chrome::kChromeDevToolsScheme, | 487 chrome::kChromeDevToolsScheme, |
482 CreateDevToolsProtocolHandler(chrome_url_data_manager_backend_.get())); | 488 CreateDevToolsProtocolHandler(chrome_url_data_manager_backend_.get())); |
483 DCHECK(set_protocol); | 489 DCHECK(set_protocol); |
484 #if defined(OS_CHROMEOS) && !defined(GOOGLE_CHROME_BUILD) | 490 #if defined(OS_CHROMEOS) && !defined(GOOGLE_CHROME_BUILD) |
485 // Install the GView request interceptor that will redirect requests | 491 // Install the GView request interceptor that will redirect requests |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
527 #endif | 533 #endif |
528 bool posted = BrowserThread::DeleteSoon(BrowserThread::IO, FROM_HERE, this); | 534 bool posted = BrowserThread::DeleteSoon(BrowserThread::IO, FROM_HERE, this); |
529 if (!posted) | 535 if (!posted) |
530 delete this; | 536 delete this; |
531 } | 537 } |
532 | 538 |
533 void ProfileIOData::set_server_bound_cert_service( | 539 void ProfileIOData::set_server_bound_cert_service( |
534 net::ServerBoundCertService* server_bound_cert_service) const { | 540 net::ServerBoundCertService* server_bound_cert_service) const { |
535 server_bound_cert_service_.reset(server_bound_cert_service); | 541 server_bound_cert_service_.reset(server_bound_cert_service); |
536 } | 542 } |
OLD | NEW |