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 |
(...skipping 13 matching lines...) Expand all Loading... |
24 #include "chrome/browser/content_settings/host_content_settings_map.h" | 24 #include "chrome/browser/content_settings/host_content_settings_map.h" |
25 #include "chrome/browser/content_settings/tab_specific_content_settings.h" | 25 #include "chrome/browser/content_settings/tab_specific_content_settings.h" |
26 #include "chrome/browser/defaults.h" | 26 #include "chrome/browser/defaults.h" |
27 #include "chrome/browser/download/download_util.h" | 27 #include "chrome/browser/download/download_util.h" |
28 #include "chrome/browser/extensions/api/webrequest/webrequest_api.h" | 28 #include "chrome/browser/extensions/api/webrequest/webrequest_api.h" |
29 #include "chrome/browser/extensions/extension_host.h" | 29 #include "chrome/browser/extensions/extension_host.h" |
30 #include "chrome/browser/extensions/extension_info_map.h" | 30 #include "chrome/browser/extensions/extension_info_map.h" |
31 #include "chrome/browser/extensions/extension_process_manager.h" | 31 #include "chrome/browser/extensions/extension_process_manager.h" |
32 #include "chrome/browser/extensions/extension_message_handler.h" | 32 #include "chrome/browser/extensions/extension_message_handler.h" |
33 #include "chrome/browser/extensions/extension_service.h" | 33 #include "chrome/browser/extensions/extension_service.h" |
| 34 #include "chrome/browser/extensions/extension_system.h" |
| 35 #include "chrome/browser/extensions/extension_system_factory.h" |
34 #include "chrome/browser/extensions/extension_web_ui.h" | 36 #include "chrome/browser/extensions/extension_web_ui.h" |
35 #include "chrome/browser/extensions/extension_webkit_preferences.h" | 37 #include "chrome/browser/extensions/extension_webkit_preferences.h" |
36 #include "chrome/browser/geolocation/chrome_access_token_store.h" | 38 #include "chrome/browser/geolocation/chrome_access_token_store.h" |
37 #include "chrome/browser/google/google_util.h" | 39 #include "chrome/browser/google/google_util.h" |
38 #include "chrome/browser/infobars/infobar_tab_helper.h" | 40 #include "chrome/browser/infobars/infobar_tab_helper.h" |
39 #include "chrome/browser/net/chrome_net_log.h" | 41 #include "chrome/browser/net/chrome_net_log.h" |
40 #include "chrome/browser/notifications/desktop_notification_service.h" | 42 #include "chrome/browser/notifications/desktop_notification_service.h" |
41 #include "chrome/browser/notifications/desktop_notification_service_factory.h" | 43 #include "chrome/browser/notifications/desktop_notification_service_factory.h" |
42 #include "chrome/browser/platform_util.h" | 44 #include "chrome/browser/platform_util.h" |
43 #include "chrome/browser/prefs/pref_service.h" | 45 #include "chrome/browser/prefs/pref_service.h" |
(...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
588 site_instance->GetSite())); | 590 site_instance->GetSite())); |
589 if (!extension) | 591 if (!extension) |
590 return; | 592 return; |
591 | 593 |
592 service->process_map()->Insert(extension->id(), | 594 service->process_map()->Insert(extension->id(), |
593 site_instance->GetProcess()->GetID(), | 595 site_instance->GetProcess()->GetID(), |
594 site_instance->GetId()); | 596 site_instance->GetId()); |
595 BrowserThread::PostTask( | 597 BrowserThread::PostTask( |
596 BrowserThread::IO, FROM_HERE, | 598 BrowserThread::IO, FROM_HERE, |
597 base::Bind(&ExtensionInfoMap::RegisterExtensionProcess, | 599 base::Bind(&ExtensionInfoMap::RegisterExtensionProcess, |
598 profile->GetExtensionInfoMap(), | 600 ExtensionSystemFactory::GetForProfile(profile)->info_map(), |
599 extension->id(), | 601 extension->id(), |
600 site_instance->GetProcess()->GetID(), | 602 site_instance->GetProcess()->GetID(), |
601 site_instance->GetId())); | 603 site_instance->GetId())); |
602 } | 604 } |
603 | 605 |
604 void ChromeContentBrowserClient::SiteInstanceDeleting( | 606 void ChromeContentBrowserClient::SiteInstanceDeleting( |
605 SiteInstance* site_instance) { | 607 SiteInstance* site_instance) { |
606 if (!site_instance->HasProcess()) | 608 if (!site_instance->HasProcess()) |
607 return; | 609 return; |
608 | 610 |
609 Profile* profile = Profile::FromBrowserContext( | 611 Profile* profile = Profile::FromBrowserContext( |
610 site_instance->GetBrowserContext()); | 612 site_instance->GetBrowserContext()); |
611 ExtensionService* service = profile->GetExtensionService(); | 613 ExtensionService* service = profile->GetExtensionService(); |
612 if (!service) | 614 if (!service) |
613 return; | 615 return; |
614 | 616 |
615 const Extension* extension = | 617 const Extension* extension = |
616 service->extensions()->GetExtensionOrAppByURL( | 618 service->extensions()->GetExtensionOrAppByURL( |
617 ExtensionURLInfo(site_instance->GetSite())); | 619 ExtensionURLInfo(site_instance->GetSite())); |
618 if (!extension) | 620 if (!extension) |
619 return; | 621 return; |
620 | 622 |
621 service->process_map()->Remove(extension->id(), | 623 service->process_map()->Remove(extension->id(), |
622 site_instance->GetProcess()->GetID(), | 624 site_instance->GetProcess()->GetID(), |
623 site_instance->GetId()); | 625 site_instance->GetId()); |
624 BrowserThread::PostTask( | 626 BrowserThread::PostTask( |
625 BrowserThread::IO, FROM_HERE, | 627 BrowserThread::IO, FROM_HERE, |
626 base::Bind(&ExtensionInfoMap::UnregisterExtensionProcess, | 628 base::Bind(&ExtensionInfoMap::UnregisterExtensionProcess, |
627 profile->GetExtensionInfoMap(), | 629 ExtensionSystemFactory::GetForProfile(profile)->info_map(), |
628 extension->id(), | 630 extension->id(), |
629 site_instance->GetProcess()->GetID(), | 631 site_instance->GetProcess()->GetID(), |
630 site_instance->GetId())); | 632 site_instance->GetId())); |
631 } | 633 } |
632 | 634 |
633 bool ChromeContentBrowserClient::ShouldSwapProcessesForNavigation( | 635 bool ChromeContentBrowserClient::ShouldSwapProcessesForNavigation( |
634 const GURL& current_url, | 636 const GURL& current_url, |
635 const GURL& new_url) { | 637 const GURL& new_url) { |
636 if (current_url.is_empty()) { | 638 if (current_url.is_empty()) { |
637 // Always choose a new process when navigating to extension URLs. The | 639 // Always choose a new process when navigating to extension URLs. The |
(...skipping 949 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1587 #if defined(USE_NSS) | 1589 #if defined(USE_NSS) |
1588 crypto::CryptoModuleBlockingPasswordDelegate* | 1590 crypto::CryptoModuleBlockingPasswordDelegate* |
1589 ChromeContentBrowserClient::GetCryptoPasswordDelegate( | 1591 ChromeContentBrowserClient::GetCryptoPasswordDelegate( |
1590 const GURL& url) { | 1592 const GURL& url) { |
1591 return browser::NewCryptoModuleBlockingDialogDelegate( | 1593 return browser::NewCryptoModuleBlockingDialogDelegate( |
1592 browser::kCryptoModulePasswordKeygen, url.host()); | 1594 browser::kCryptoModulePasswordKeygen, url.host()); |
1593 } | 1595 } |
1594 #endif | 1596 #endif |
1595 | 1597 |
1596 } // namespace chrome | 1598 } // namespace chrome |
OLD | NEW |