Refactor APIPermission to separate out specific permission registration.

Adds a delegate to the PermissionsInfo global to do the specific registration; adds a ScopedTestingPermissionsInfo for unit tests.
Preparation for moving permissions to top-level extensions.

Also adds a base class for unittests, ExtensionTest, to deal with manifest handler / permission setup.

BUG=162530,172712

Review URL: https://chromiumcodereview.appspot.com/13370002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192252 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/component_loader_unittest.cc b/chrome/browser/extensions/component_loader_unittest.cc
index 9b2b980..bedcfee1 100644
--- a/chrome/browser/extensions/component_loader_unittest.cc
+++ b/chrome/browser/extensions/component_loader_unittest.cc
@@ -14,8 +14,7 @@
 #include "chrome/common/extensions/background_info.h"
 #include "chrome/common/extensions/extension.h"
 #include "chrome/common/extensions/extension_set.h"
-#include "chrome/common/extensions/incognito_handler.h"
-#include "chrome/common/extensions/manifest_handler.h"
+#include "chrome/common/extensions/extension_unittest.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/test/base/testing_pref_service_syncable.h"
 #include "components/user_prefs/pref_registry_syncable.h"
@@ -74,18 +73,16 @@
 
 }  // namespace
 
-class ComponentLoaderTest : public testing::Test {
+class ComponentLoaderTest : public ExtensionTest {
  public:
-  ComponentLoaderTest() :
+  ComponentLoaderTest()
       // Note: we pass the same pref service here, to stand in for both
       // user prefs and local state.
-      component_loader_(&extension_service_, &prefs_, &local_state_) {
+      : component_loader_(&extension_service_, &prefs_, &local_state_) {
   }
 
   virtual void SetUp() OVERRIDE {
-    (new BackgroundManifestHandler)->Register();
-    (new IncognitoHandler)->Register();
-
+    ExtensionTest::SetUp();
     extension_path_ =
         GetBasePath().AppendASCII("good")
                      .AppendASCII("Extensions")
@@ -114,11 +111,6 @@
 #endif
   }
 
-  virtual void TearDown() OVERRIDE {
-    ManifestHandler::ClearRegistryForTesting();
-    testing::Test::TearDown();
-  }
-
  protected:
   MockExtensionService extension_service_;
   TestingPrefServiceSyncable prefs_;