Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4568)

Unified Diff: chrome/browser/extensions/installed_extension_loader.h

Issue 8417012: Refactor loading out of ExtensionService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/installed_extension_loader.h
diff --git a/chrome/browser/extensions/installed_extension_loader.h b/chrome/browser/extensions/installed_extension_loader.h
new file mode 100644
index 0000000000000000000000000000000000000000..34ed8135b34625a411fdc0ca58411faba810261e
--- /dev/null
+++ b/chrome/browser/extensions/installed_extension_loader.h
@@ -0,0 +1,50 @@
+// Copyright (c) 2011 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_INSTALLED_EXTENSION_LOADER_H_
+#define CHROME_BROWSER_EXTENSIONS_INSTALLED_EXTENSION_LOADER_H_
+#pragma once
+
+#include <string>
+
+#include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
Aaron Boodman 2011/10/28 22:21:58 Double check that all these includes and forward d
Yoyo Zhou 2011/10/31 21:58:15 Done.
+
+class ComponentLoader;
+class Extension;
+class ExtensionInfo;
+class ExtensionPrefs;
+class ExtensionService;
+class FilePath;
+
+// Loads installed extensions from the .
Aaron Boodman 2011/10/28 22:21:58 Ooohh, suspense. Loads them from where?? I must kn
Yoyo Zhou 2011/10/31 21:58:15 leave 'em hanging.
+class InstalledExtensionLoader
+ : public base::RefCountedThreadSafe<InstalledExtensionLoader> {
+ public:
+ InstalledExtensionLoader(ExtensionService* extension_service,
+ ExtensionPrefs* extension_prefs);
+ virtual ~InstalledExtensionLoader();
+
+ ExtensionService* extension_service() { return extension_service_; }
+
+ ExtensionPrefs* extension_prefs() { return extension_prefs_; }
+
+ // Loads extension from prefs.
+ void Load(const ExtensionInfo& info, bool write_to_prefs);
+
+ // Loads all installed extensions (used by startup and testing code).
+ void LoadAllExtensions();
+
+ private:
+ // Returns the flags that should be used with Extension::Create() for an
+ // extension that is already installed.
+ int GetExtensionCreateFlagsForInstalledExtension(
+ const ExtensionInfo* info);
+
+ ExtensionService* extension_service_;
+
+ ExtensionPrefs* extension_prefs_;
+};
+
+#endif // CHROME_BROWSER_EXTENSIONS_INSTALLED_EXTENSION_LOADER_H_

Powered by Google App Engine
This is Rietveld 408576698