Move ExtensionService::GetExtensionById() to ExtensionRegistry

This will allow app_shell to use it without an ExtensionService

BUG=none
TEST=added unit_tests ExtensionRegistryTest.GetExtensionById
[email protected]
[email protected] for chrome/browser/themes

Review URL: https://codereview.chromium.org/125573002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243423 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extension_util.cc b/chrome/browser/extensions/extension_util.cc
index f5b731ce..80ccb45 100644
--- a/chrome/browser/extensions/extension_util.cc
+++ b/chrome/browser/extensions/extension_util.cc
@@ -12,12 +12,14 @@
 #include "chrome/common/chrome_switches.h"
 #include "chrome/common/extensions/sync_helper.h"
 #include "content/public/browser/site_instance.h"
+#include "extensions/browser/extension_registry.h"
 #include "extensions/common/extension.h"
 #include "extensions/common/manifest.h"
 #include "extensions/common/manifest_handlers/incognito_info.h"
 
 using extensions::Extension;
 using extensions::ExtensionPrefs;
+using extensions::ExtensionRegistry;
 
 namespace extension_util {
 
@@ -134,8 +136,10 @@
 
 bool IsAppLaunchableWithoutEnabling(const std::string& extension_id,
                                     const ExtensionService* service) {
-  const Extension* launchable_extension = service->GetExtensionById(
-      extension_id, ExtensionService::INCLUDE_ENABLED);
+  ExtensionRegistry* registry =
+      ExtensionRegistry::Get(service->GetBrowserContext());
+  const Extension* launchable_extension = registry->GetExtensionById(
+      extension_id, ExtensionRegistry::ENABLED);
   return launchable_extension != NULL;
 }