diff options
author | grt@chromium.org <grt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-25 16:44:37 +0000 |
---|---|---|
committer | grt@chromium.org <grt@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-25 16:44:37 +0000 |
commit | f0260d27d34e40f2e619fb7a16dcd7f9d63fc683 (patch) | |
tree | 7e7c9e83bbd2f67b4bbbe11d076c7cc70abd8855 /chrome/installer/util/helper.h | |
parent | ce7937429f63f3d966346fcd973d720f268cd888 (diff) | |
download | chromium_src-f0260d27d34e40f2e619fb7a16dcd7f9d63fc683.zip chromium_src-f0260d27d34e40f2e619fb7a16dcd7f9d63fc683.tar.gz chromium_src-f0260d27d34e40f2e619fb7a16dcd7f9d63fc683.tar.bz2 |
More installer refactoring in the interest of fixing some bugs and cleaning things up:
- Introduced ProductOperations: an interface implemented for each product that takes care of product-specific functions. Each Product owns an instance and delegates certain operations to it.
- Removed the use of MasterPreferences by BrowserDistribution so that the former isn't needed outside of the installer.
- Replaced PackageProperties with a new BrowserDistribution type (CHROME_BINARIES)
- Plumbed the concept of InstallerState more thoroughly through installer
- Removed ProductPackageMapping and Package
- Moved more registry read ops into ProductState
- Validation of products to be installed is now done in CheckPreInstallConditions
- Ignore --chrome-frame --ready-mode if chrome is also being installed/updated and a SxS GCF is found (chrome is updated).
- Migrates existing single-install Chrome to multi-install where appropriate.
- Fixes update to Chrome's uninstallation arguments when Chrome Frame is uninstalled.
- Removed dead code from install.cc.
- Added code to update products' "ap" values when ready-mode is accepted.
- Skip post-install things such as launching the browser when Chrome was implicitly added to the install/upgrade process by virtue of being part of a multi-install.
BUG=61609
TEST=run the installer, see it work. existing tests in installer_util_unittests have been updated; new tests are included for ProductState, ChannelInfo, etc.
Review URL: http://codereview.chromium.org/6288009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72497 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer/util/helper.h')
-rw-r--r-- | chrome/installer/util/helper.h | 27 |
1 files changed, 4 insertions, 23 deletions
diff --git a/chrome/installer/util/helper.h b/chrome/installer/util/helper.h index bcee4c6..fa996b6 100644 --- a/chrome/installer/util/helper.h +++ b/chrome/installer/util/helper.h @@ -16,17 +16,6 @@ class FilePath; namespace installer { -// Checks if a distribution is currently installed as part of a multi-install. -bool IsInstalledAsMulti(bool system_install, BrowserDistribution* dist); - -// Retrieves the command line switches for uninstalling the distribution. -// Note that the returned CommandLine object does not include a "program". -// Only the switches should be used. -// Returns true if the product is installed and the uninstall switches -// were successfully retrieved, otherwise false. -bool GetUninstallSwitches(bool system_install, BrowserDistribution* dist, - CommandLine* cmd_line_switches); - // This function returns the install path for Chrome depending on whether its // system wide install or user specific install. // system_install: if true, the function returns system wide location @@ -40,18 +29,10 @@ FilePath GetChromeInstallPath(bool system_install, BrowserDistribution* dist); // that it can be overriden with a command line parameter. FilePath GetChromeUserDataPath(BrowserDistribution* dist); -// This is a workaround while we unify Chrome and Chrome Frame installation -// folders. Right now, Chrome Frame can be installed into two different -// folders: 1) A special "Chrome Frame" folder next to Chrome's folder -// 2) The same folder as Chrome is installed into. -// Right now this function will only return Chrome's installation folder -// if Chrome Frame is not already installed or if Chrome Frame is installed -// in multi_install mode. -// If multi_install is false or if CF is installed in single mode, then the -// returned path will be the "Chrome Frame" subfolder of either the user or -// system default installation folders. -FilePath GetChromeFrameInstallPath(bool multi_install, bool system_install, - BrowserDistribution* dist); +// Returns the distribution corresponding to the current process's binaries. +// In the case of a multi-install product, this will be the CHROME_BINARIES +// distribution. +BrowserDistribution* GetBinariesDistribution(bool system_install); // Returns the app guid under which the current process receives updates from // Google Update. |