diff options
author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-18 03:10:34 +0000 |
---|---|---|
committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-18 03:10:34 +0000 |
commit | 7387509129d02968481c9cd912ab60c79bd6deea (patch) | |
tree | 1cb2e357aea3217dc79f83d98528b65280d2bf21 /chrome/browser/extensions/extension_prefs.h | |
parent | 653a73f611d9c3c69be17fdafcce6e41328df18a (diff) | |
download | chromium_src-7387509129d02968481c9cd912ab60c79bd6deea.zip chromium_src-7387509129d02968481c9cd912ab60c79bd6deea.tar.gz chromium_src-7387509129d02968481c9cd912ab60c79bd6deea.tar.bz2 |
Revert r18661.
Broke purify and mac valgrind. "Pull Extension-related prefs into its own class. Also add a notification for when the extensions service has finished its initial load of extensions, separate from EXTENSIONS_LOADED.TEST=noneBUG=none"
Review URL: http://codereview.chromium.org/132008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18682 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_prefs.h')
-rw-r--r-- | chrome/browser/extensions/extension_prefs.h | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/chrome/browser/extensions/extension_prefs.h b/chrome/browser/extensions/extension_prefs.h deleted file mode 100644 index db5847b..0000000 --- a/chrome/browser/extensions/extension_prefs.h +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright (c) 2009 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_EXTENSION_PREFS_H -#define CHROME_BROWSER_EXTENSIONS_EXTENSION_PREFS_H - -#include <set> -#include <string> -#include <vector> - -#include "base/task.h" -#include "chrome/common/extensions/extension.h" -#include "chrome/common/pref_service.h" -#include "googleurl/src/gurl.h" - -// Class for managing global and per-extension preferences. -// This class is instantiated by ExtensionsService, so it should be accessed -// from there. -class ExtensionPrefs { - public: - explicit ExtensionPrefs(PrefService* prefs); - - // Returns a copy of the Extensions prefs. - // TODO(erikkay) Remove this so that external consumers don't need to be - // aware of the internal structure of the preferences. - DictionaryValue* CopyCurrentExtensions(); - - // Populate |killed_ids| with extension ids that have been killed. - void GetKilledExtensionIds(std::set<std::string>* killed_ids); - - // Get the order that toolstrip URLs appear in the shelf. - typedef std::vector<GURL> URLList; - URLList GetShelfToolstripOrder(); - - // Called when an extension is installed, so that prefs get created. - void OnExtensionInstalled(Extension* extension); - - // Called when an extension is uninstalled, so that prefs get cleaned up. - void OnExtensionUninstalled(const Extension* extension); - - private: - // Sets the pref |key| for extension |id| to |value|. - bool UpdateExtensionPref(const std::string& id, - const std::wstring& key, - Value* value); - - // Deletes the pref dictionary for extension |id|. - void DeleteExtensionPrefs(const std::string& id); - - // Ensures and returns a mutable dictionary for extension |id|'s prefs. - DictionaryValue* GetOrCreateExtensionPref(const std::string& id); - - // The pref service specific to this set of extension prefs. - PrefService* prefs_; - - // The URLs of all of the toolstrips. - URLList shelf_order_; - - DISALLOW_COPY_AND_ASSIGN(ExtensionPrefs); -}; - -// A helper class that has a list of the currently installed extensions -// and can iterate over them to a provided callback. -class InstalledExtensions { - public: - explicit InstalledExtensions(ExtensionPrefs* prefs); - - typedef Callback3<const std::string&, - const FilePath&, - Extension::Location>::Type Callback; - - // Runs |callback| for each installed extension with the path to the - // version directory and the location. - void VisitInstalledExtensions(Callback *callback); - - private: - // A copy of the extensions pref dictionary so that this can be passed - // around without a dependency on prefs. - DictionaryValue* extension_data_; - - DISALLOW_COPY_AND_ASSIGN(InstalledExtensions); -}; - -#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_PREFS_H |