Moved ExternalExtensionLoaders/Providers into extensions namespace
Moved ExternalExtensionLoader, ExternalExtensionProviderImpl,
ExternalExtensionProviderInterface, ExternalRegistryExtensionLoader,
ExternalPrefsExtensionLoader, and ExternalPolicyExtensionLoader into extensions
namespace. Renamed appropriately.
BUG=136873, 117261
Review URL: https://chromiumcodereview.appspot.com/10692168
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146847 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/external_loader.cc b/chrome/browser/extensions/external_loader.cc
new file mode 100644
index 0000000..3bbd6609
--- /dev/null
+++ b/chrome/browser/extensions/external_loader.cc
@@ -0,0 +1,49 @@
+// Copyright (c) 2012 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.
+
+#include "chrome/browser/extensions/external_loader.h"
+
+#include "base/logging.h"
+#include "base/values.h"
+#include "chrome/browser/extensions/external_provider_impl.h"
+#include "content/public/browser/browser_thread.h"
+
+using content::BrowserThread;
+
+namespace extensions {
+
+ExternalLoader::ExternalLoader()
+ : owner_(NULL),
+ running_(false) {
+}
+
+void ExternalLoader::Init(ExternalProviderImpl* owner) {
+ CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ owner_ = owner;
+}
+
+const FilePath ExternalLoader::GetBaseCrxFilePath() {
+ CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+
+ // By default, relative paths are not supported.
+ // Subclasses that wish to support them should override this method.
+ return FilePath();
+}
+
+void ExternalLoader::OwnerShutdown() {
+ CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ owner_ = NULL;
+}
+
+ExternalLoader::~ExternalLoader() {}
+
+void ExternalLoader::LoadFinished() {
+ CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ running_ = false;
+ if (owner_) {
+ owner_->SetPrefs(prefs_.release());
+ }
+}
+
+} // namespace extensions