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/chrome_content_browser_client.h" | 5 #include "chrome/browser/chrome_content_browser_client.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/bind.h" | 11 #include "base/bind.h" |
12 #include "base/command_line.h" | 12 #include "base/command_line.h" |
13 #include "base/utf_string_conversions.h" | 13 #include "base/utf_string_conversions.h" |
14 #include "chrome/app/breakpad_mac.h" | 14 #include "chrome/app/breakpad_mac.h" |
15 #include "chrome/browser/browser_about_handler.h" | 15 #include "chrome/browser/browser_about_handler.h" |
16 #include "chrome/browser/browser_process.h" | 16 #include "chrome/browser/browser_process.h" |
17 #include "chrome/browser/browsing_data_remover.h" | 17 #include "chrome/browser/browsing_data_remover.h" |
18 #include "chrome/browser/character_encoding.h" | 18 #include "chrome/browser/character_encoding.h" |
19 #include "chrome/browser/chrome_benchmarking_message_filter.h" | 19 #include "chrome/browser/chrome_benchmarking_message_filter.h" |
20 #include "chrome/browser/chrome_quota_permission_context.h" | 20 #include "chrome/browser/chrome_quota_permission_context.h" |
21 #include "chrome/browser/content_settings/content_settings_utils.h" | 21 #include "chrome/browser/content_settings/content_settings_utils.h" |
22 #include "chrome/browser/content_settings/cookie_settings.h" | 22 #include "chrome/browser/content_settings/cookie_settings.h" |
23 #include "chrome/browser/content_settings/host_content_settings_map.h" | 23 #include "chrome/browser/content_settings/host_content_settings_map.h" |
24 #include "chrome/browser/content_settings/tab_specific_content_settings.h" | 24 #include "chrome/browser/content_settings/tab_specific_content_settings.h" |
25 #include "chrome/browser/download/download_util.h" | 25 #include "chrome/browser/download/download_util.h" |
26 #include "chrome/browser/extensions/api/webrequest/webrequest_api.h" | 26 #include "chrome/browser/extensions/api/webrequest/webrequest_api.h" |
27 #include "chrome/browser/extensions/extension_info_map.h" | 27 #include "chrome/browser/extensions/extension_info_map.h" |
28 #include "chrome/browser/extensions/extension_message_handler.h" | 28 #include "chrome/browser/extensions/extension_message_handler.h" |
29 #include "chrome/browser/extensions/extension_service.h" | 29 #include "chrome/browser/extensions/extension_service.h" |
| 30 #include "chrome/browser/extensions/extension_system.h" |
| 31 #include "chrome/browser/extensions/extension_system_factory.h" |
30 #include "chrome/browser/extensions/extension_web_ui.h" | 32 #include "chrome/browser/extensions/extension_web_ui.h" |
31 #include "chrome/browser/extensions/extension_webkit_preferences.h" | 33 #include "chrome/browser/extensions/extension_webkit_preferences.h" |
32 #include "chrome/browser/geolocation/chrome_access_token_store.h" | 34 #include "chrome/browser/geolocation/chrome_access_token_store.h" |
33 #include "chrome/browser/google/google_util.h" | 35 #include "chrome/browser/google/google_util.h" |
34 #include "chrome/browser/net/chrome_net_log.h" | 36 #include "chrome/browser/net/chrome_net_log.h" |
35 #include "chrome/browser/notifications/desktop_notification_service.h" | 37 #include "chrome/browser/notifications/desktop_notification_service.h" |
36 #include "chrome/browser/notifications/desktop_notification_service_factory.h" | 38 #include "chrome/browser/notifications/desktop_notification_service_factory.h" |
37 #include "chrome/browser/platform_util.h" | 39 #include "chrome/browser/platform_util.h" |
38 #include "chrome/browser/prefs/pref_service.h" | 40 #include "chrome/browser/prefs/pref_service.h" |
39 #include "chrome/browser/prefs/scoped_user_pref_update.h" | 41 #include "chrome/browser/prefs/scoped_user_pref_update.h" |
(...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
490 site_instance->GetSite())); | 492 site_instance->GetSite())); |
491 if (!extension) | 493 if (!extension) |
492 return; | 494 return; |
493 | 495 |
494 service->process_map()->Insert(extension->id(), | 496 service->process_map()->Insert(extension->id(), |
495 site_instance->GetProcess()->GetID(), | 497 site_instance->GetProcess()->GetID(), |
496 site_instance->GetId()); | 498 site_instance->GetId()); |
497 BrowserThread::PostTask( | 499 BrowserThread::PostTask( |
498 BrowserThread::IO, FROM_HERE, | 500 BrowserThread::IO, FROM_HERE, |
499 base::Bind(&ExtensionInfoMap::RegisterExtensionProcess, | 501 base::Bind(&ExtensionInfoMap::RegisterExtensionProcess, |
500 profile->GetExtensionInfoMap(), | 502 ExtensionSystemFactory::GetForProfile(profile)->info_map(), |
501 extension->id(), | 503 extension->id(), |
502 site_instance->GetProcess()->GetID(), | 504 site_instance->GetProcess()->GetID(), |
503 site_instance->GetId())); | 505 site_instance->GetId())); |
504 } | 506 } |
505 | 507 |
506 void ChromeContentBrowserClient::SiteInstanceDeleting( | 508 void ChromeContentBrowserClient::SiteInstanceDeleting( |
507 SiteInstance* site_instance) { | 509 SiteInstance* site_instance) { |
508 if (!site_instance->HasProcess()) | 510 if (!site_instance->HasProcess()) |
509 return; | 511 return; |
510 | 512 |
511 Profile* profile = Profile::FromBrowserContext( | 513 Profile* profile = Profile::FromBrowserContext( |
512 site_instance->GetBrowserContext()); | 514 site_instance->GetBrowserContext()); |
513 ExtensionService* service = profile->GetExtensionService(); | 515 ExtensionService* service = profile->GetExtensionService(); |
514 if (!service) | 516 if (!service) |
515 return; | 517 return; |
516 | 518 |
517 const Extension* extension = | 519 const Extension* extension = |
518 service->extensions()->GetExtensionOrAppByURL( | 520 service->extensions()->GetExtensionOrAppByURL( |
519 ExtensionURLInfo(site_instance->GetSite())); | 521 ExtensionURLInfo(site_instance->GetSite())); |
520 if (!extension) | 522 if (!extension) |
521 return; | 523 return; |
522 | 524 |
523 service->process_map()->Remove(extension->id(), | 525 service->process_map()->Remove(extension->id(), |
524 site_instance->GetProcess()->GetID(), | 526 site_instance->GetProcess()->GetID(), |
525 site_instance->GetId()); | 527 site_instance->GetId()); |
526 BrowserThread::PostTask( | 528 BrowserThread::PostTask( |
527 BrowserThread::IO, FROM_HERE, | 529 BrowserThread::IO, FROM_HERE, |
528 base::Bind(&ExtensionInfoMap::UnregisterExtensionProcess, | 530 base::Bind(&ExtensionInfoMap::UnregisterExtensionProcess, |
529 profile->GetExtensionInfoMap(), | 531 ExtensionSystemFactory::GetForProfile(profile)->info_map(), |
530 extension->id(), | 532 extension->id(), |
531 site_instance->GetProcess()->GetID(), | 533 site_instance->GetProcess()->GetID(), |
532 site_instance->GetId())); | 534 site_instance->GetId())); |
533 } | 535 } |
534 | 536 |
535 bool ChromeContentBrowserClient::ShouldSwapProcessesForNavigation( | 537 bool ChromeContentBrowserClient::ShouldSwapProcessesForNavigation( |
536 const GURL& current_url, | 538 const GURL& current_url, |
537 const GURL& new_url) { | 539 const GURL& new_url) { |
538 if (current_url.is_empty()) { | 540 if (current_url.is_empty()) { |
539 // Always choose a new process when navigating to extension URLs. The | 541 // Always choose a new process when navigating to extension URLs. The |
(...skipping 789 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1329 #if defined(USE_NSS) | 1331 #if defined(USE_NSS) |
1330 crypto::CryptoModuleBlockingPasswordDelegate* | 1332 crypto::CryptoModuleBlockingPasswordDelegate* |
1331 ChromeContentBrowserClient::GetCryptoPasswordDelegate( | 1333 ChromeContentBrowserClient::GetCryptoPasswordDelegate( |
1332 const GURL& url) { | 1334 const GURL& url) { |
1333 return browser::NewCryptoModuleBlockingDialogDelegate( | 1335 return browser::NewCryptoModuleBlockingDialogDelegate( |
1334 browser::kCryptoModulePasswordKeygen, url.host()); | 1336 browser::kCryptoModulePasswordKeygen, url.host()); |
1335 } | 1337 } |
1336 #endif | 1338 #endif |
1337 | 1339 |
1338 } // namespace chrome | 1340 } // namespace chrome |
OLD | NEW |