From 9adb9693e8a90bb63be325dbb5d3391f47f839ba Mon Sep 17 00:00:00 2001
From: "mpcomplete@chromium.org"
 <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Fri, 29 Oct 2010 23:14:02 +0000
Subject: Part 3 of immutable Extension refactor.

Make ExtensionsService hold const Extension pointers only. This ensures that
extensions can't be modified after they're created, and lets us share them
between threads.

BUG=56558
TEST=no functional change

Review URL: http://codereview.chromium.org/4138006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64517 0039d316-1c4b-4281-b951-d872f2087c98
---
 chrome/browser/extensions/extension_process_manager.h | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

(limited to 'chrome/browser/extensions/extension_process_manager.h')

diff --git a/chrome/browser/extensions/extension_process_manager.h b/chrome/browser/extensions/extension_process_manager.h
index d284275..2d812ef 100644
--- a/chrome/browser/extensions/extension_process_manager.h
+++ b/chrome/browser/extensions/extension_process_manager.h
@@ -35,33 +35,34 @@ class ExtensionProcessManager : public NotificationObserver {
   // Creates a new ExtensionHost with its associated view, grouping it in the
   // appropriate SiteInstance (and therefore process) based on the URL and
   // profile.
-  virtual ExtensionHost* CreateView(Extension* extension,
+  virtual ExtensionHost* CreateView(const Extension* extension,
                             const GURL& url,
                             Browser* browser,
                             ViewType::Type view_type);
   ExtensionHost* CreateView(const GURL& url,
                             Browser* browser,
                             ViewType::Type view_type);
-  ExtensionHost* CreatePopup(Extension* extension,
+  ExtensionHost* CreatePopup(const Extension* extension,
                              const GURL& url,
                              Browser* browser);
   ExtensionHost* CreatePopup(const GURL& url, Browser* browser);
-  ExtensionHost* CreateInfobar(Extension* extension,
+  ExtensionHost* CreateInfobar(const Extension* extension,
                                const GURL& url,
                                Browser* browser);
   ExtensionHost* CreateInfobar(const GURL& url,
                                Browser* browser);
 
   // Open the extension's options page.
-  void OpenOptionsPage(Extension* extension, Browser* browser);
+  void OpenOptionsPage(const Extension* extension, Browser* browser);
 
   // Creates a new UI-less extension instance.  Like CreateView, but not
   // displayed anywhere.
-  virtual void CreateBackgroundHost(Extension* extension, const GURL& url);
+  virtual void CreateBackgroundHost(const Extension* extension,
+                                    const GURL& url);
 
   // Gets the ExtensionHost for the background page for an extension, or NULL if
   // the extension isn't running or doesn't have a background page.
-  ExtensionHost* GetBackgroundHostForExtension(Extension* extension);
+  ExtensionHost* GetBackgroundHostForExtension(const Extension* extension);
 
   // Returns the SiteInstance that the given URL belongs to.
   virtual SiteInstance* GetSiteInstanceForURL(const GURL& url);
-- 
cgit v1.1