Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(722)

Side by Side Diff: chrome/browser/chrome_content_browser_client.cc

Issue 9369013: Take extensions out of Profile into a profile-keyed service, ExtensionSystem. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rerebase Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/automation/automation_provider.cc ('k') | chrome/browser/extensions/extension_devtools_bridge.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698