diff options
author | mpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-16 22:27:21 +0000 |
---|---|---|
committer | mpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-16 22:27:21 +0000 |
commit | 69f1be8a969af735b2173349c9bd57a174a9bf16 (patch) | |
tree | bf6bda97490b5884ca6a15f9c1b7d923bcb40886 /chrome/browser/extensions/extension_process_manager.h | |
parent | 1c86467953f1e633be06ca65e3a38113dcbe63e8 (diff) | |
download | chromium_src-69f1be8a969af735b2173349c9bd57a174a9bf16.zip chromium_src-69f1be8a969af735b2173349c9bd57a174a9bf16.tar.gz chromium_src-69f1be8a969af735b2173349c9bd57a174a9bf16.tar.bz2 |
Remove ExtensionProcessManager and move its functionality onto
ExtensionsService.
Also add "chrome-extension" to the list of schemes that BrowsingInstance
groups per-site, instead of per-tab. This means that navigating to an
extension URL will use the same process as a running extension toolstrip.
Review URL: http://codereview.chromium.org/77002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13887 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_process_manager.h')
-rwxr-xr-x | chrome/browser/extensions/extension_process_manager.h | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/chrome/browser/extensions/extension_process_manager.h b/chrome/browser/extensions/extension_process_manager.h deleted file mode 100755 index 7e56fc8..0000000 --- a/chrome/browser/extensions/extension_process_manager.h +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_PROCESS_MANAGER_H_ -#define CHROME_BROWSER_EXTENSIONS_EXTENSION_PROCESS_MANAGER_H_ - -#include "base/ref_counted.h" - -#include <map> -#include <string> - -class Browser; -class BrowsingInstance; -class Extension; -class ExtensionView; -class GURL; -class ListValue; -class Profile; -class SiteInstance; - -// This class controls what process new extension instances use. We use the -// BrowsingInstance site grouping rules to group extensions. Since all -// resources in a given extension have the same origin, they will be grouped -// into the same process. -// -// We separate further by Profile: each Profile has its own group of extension -// processes that never overlap with other Profiles. -class ExtensionProcessManager { - public: - static ExtensionProcessManager* GetInstance(); - - // These are public for use by Singleton. Do not instantiate or delete - // manually. - ExtensionProcessManager(); - ~ExtensionProcessManager(); - - // Creates a new ExtensionView, grouping it in the appropriate SiteInstance - // (and therefore process) based on the URL and profile. - ExtensionView* CreateView(Extension* extension, - const GURL& url, - Browser* browser); - - // Returns the SiteInstance that the given URL belongs to in this profile. - SiteInstance* GetSiteInstanceForURL(const GURL& url, Profile* profile); - - // Sends the event to each renderer process within the current profile that - // contain at least one extension renderer. - void DispatchEventToRenderers(Profile *profile, - const std::string& event_name, - const ListValue& data); - private: - // Returns our BrowsingInstance for the given profile. Lazily created and - // cached. - BrowsingInstance* GetBrowsingInstance(Profile* profile); - - // Cache of BrowsingInstances grouped by Profile. - typedef std::map<Profile*, scoped_refptr<BrowsingInstance> > - BrowsingInstanceMap; - BrowsingInstanceMap browsing_instance_map_; -}; - -#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_PROCESS_MANAGER_H_ |