| Index: chrome/common/extensions/extension_file_util.h
 | 
| diff --git a/chrome/common/extensions/extension_file_util.h b/chrome/common/extensions/extension_file_util.h
 | 
| index dc6a5bd0047cea901f07be715cd3895dc2f7ea3e..5f3150bb0f4907678f66abc5729469f1c0ab85e6 100644
 | 
| --- a/chrome/common/extensions/extension_file_util.h
 | 
| +++ b/chrome/common/extensions/extension_file_util.h
 | 
| @@ -20,52 +20,17 @@ namespace extension_file_util {
 | 
|  // extension in.
 | 
|  extern const char kInstallDirectoryName[];
 | 
|  
 | 
| -// The name of the file that contains the current version of an installed
 | 
| -// extension.
 | 
| -extern const char kCurrentVersionFileName[];
 | 
| -
 | 
| -// Move source_dir to dest_dir (it will actually be named dest_dir, not inside
 | 
| -// dest_dir). If the parent path doesn't exist, create it. If something else is
 | 
| -// already there, remove it.
 | 
| -bool MoveDirSafely(const FilePath& source_dir, const FilePath& dest_dir);
 | 
| -
 | 
| -// Updates the Current Version file inside the installed extension.
 | 
| -bool SetCurrentVersion(const FilePath& dest_dir,
 | 
| -                       const std::string& version,
 | 
| -                       std::string* error);
 | 
| -
 | 
| -// Reads the Current Version file.
 | 
| -bool ReadCurrentVersion(const FilePath& dir, std::string* version_string);
 | 
| -
 | 
| -// Determine what type of install it is (new, upgrade, overinstall, downgrade)
 | 
| -// given the current version and a newly installing version. |extensions_dir| is
 | 
| -// the root directory containing all extensions in the user profile.
 | 
| -// |extension_id| and |current_version_str| are the id and version of the
 | 
| -// extension contained in |src_dir|, if any.
 | 
| -//
 | 
| -// Returns the full path to the destination version directory and the type of
 | 
| -// install that was attempted.
 | 
| -Extension::InstallType CompareToInstalledVersion(
 | 
| -    const FilePath& extensions_dir,
 | 
| -    const std::string& extension_id,
 | 
| -    const std::string& current_version_str,
 | 
| -    const std::string& new_version_str,
 | 
| -    FilePath* version_dir);
 | 
| -
 | 
| -// Sanity check that the directory has the minimum files to be a working
 | 
| -// extension.
 | 
| -bool SanityCheckExtension(const FilePath& extension_root);
 | 
| -
 | 
| -// Installs an extension unpacked in |src_dir|.
 | 
| -//
 | 
| -// On failure, also returns an error message.
 | 
| -//
 | 
| -// NOTE: |src_dir| is not actually copied in the case of downgrades or
 | 
| -// overinstall of previous verisons of the extension. In that case, the function
 | 
| -// returns true and install_type is populated.
 | 
| -bool InstallExtension(const FilePath& src_dir,
 | 
| -                      const FilePath& version_dir,
 | 
| -                      std::string* error);
 | 
| +// Copies |unpacked_source_dir| into the right location under |extensions_dir|.
 | 
| +// The destination directiory is returned on success, or empty path is returned
 | 
| +// on failure.
 | 
| +FilePath InstallExtension(const FilePath& unpacked_source_dir,
 | 
| +                          const std::string& id,
 | 
| +                          const std::string& version,
 | 
| +                          const FilePath& extensions_dir);
 | 
| +
 | 
| +// Removes all versions of the extension with |id| from |extensions_dir|.
 | 
| +void UninstallExtension(const FilePath& extensions_dir,
 | 
| +                        const std::string& id);
 | 
|  
 | 
|  // Loads and validates an extension from the specified directory. Returns NULL
 | 
|  // on failure, with a description of the error in |error|.
 | 
| @@ -77,14 +42,18 @@ Extension* LoadExtension(const FilePath& extension_root,
 | 
|  // Otherwise, a description of the error is returned in |error|.
 | 
|  bool ValidateExtension(Extension* extension, std::string* error);
 | 
|  
 | 
| -// Uninstalls the extension |id| from the install directory |extensions_dir|.
 | 
| -void UninstallExtension(const std::string& id, const FilePath& extensions_dir);
 | 
| -
 | 
| -// Clean up directories that aren't valid extensions from the install directory.
 | 
| +// Cleans up the extension install directory. It can end up with garbage in it
 | 
| +// if extensions can't initially be removed when they are uninstalled (eg if a
 | 
| +// file is in use).
 | 
| +//
 | 
| +// |extensions_dir| is the install directory to look in. |extension_paths| is a
 | 
| +// map from extension id to full installation path.
 | 
| +//
 | 
| +// Obsolete version directories are removed, as are directories that aren't
 | 
| +// found in |extension_paths|.
 | 
|  void GarbageCollectExtensions(
 | 
|      const FilePath& extensions_dir,
 | 
| -    const std::set<std::string>& installed_ids,
 | 
| -    const std::map<std::string, std::string>& installed_versions);
 | 
| +    const std::map<std::string, FilePath>& extension_paths);
 | 
|  
 | 
|  // Loads extension message catalogs and returns message bundle.
 | 
|  // Returns NULL on error, or if extension is not localized.
 | 
| 
 |