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/setup/chrome_frame_ready_mode.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/setup/chrome_frame_ready_mode.h')
-rw-r--r-- | chrome/installer/setup/chrome_frame_ready_mode.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/chrome/installer/setup/chrome_frame_ready_mode.h b/chrome/installer/setup/chrome_frame_ready_mode.h index 35c9507..2541bb8 100644 --- a/chrome/installer/setup/chrome_frame_ready_mode.h +++ b/chrome/installer/setup/chrome_frame_ready_mode.h @@ -13,21 +13,26 @@ class CommandLine; namespace installer { enum InstallStatus; +class InstallationState; class InstallerState; // Removes the ChromeFrameReadyMode flag from the registry, updates Chrome's // uninstallation commands to only uninstall Chrome, and adds an entry to the // Add/Remove Programs list for GCF. -InstallStatus ChromeFrameReadyModeOptIn(const InstallerState& installer_state, - const CommandLine& cmd_line); +InstallStatus ChromeFrameReadyModeOptIn(const InstallationState& machine_state, + const InstallerState& installer_state); // Unregisters the ChromeFrame user agent modification, sets a timestamp for // restoring it. -InstallStatus ChromeFrameReadyModeTempOptOut(const CommandLine& cmd_line); +InstallStatus ChromeFrameReadyModeTempOptOut( + const InstallationState& machine_state, + const InstallerState& installer_state); // Re-registers the ChromeFrame user agent modification, restores Ready Mode // active state flag. -InstallStatus ChromeFrameReadyModeEndTempOptOut(const CommandLine& cmd_line); +InstallStatus ChromeFrameReadyModeEndTempOptOut( + const InstallationState& machine_state, + const InstallerState& installer_state); } // namespace installer |