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

Unified Diff: chrome/installer/setup/chrome_frame_quick_enable.cc

Issue 103253004: Remove Chrome Frame quick-enable. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comment fix Created 7 years 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
« no previous file with comments | « chrome/installer/setup/chrome_frame_quick_enable.h ('k') | chrome/installer/setup/install_worker.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/installer/setup/chrome_frame_quick_enable.cc
diff --git a/chrome/installer/setup/chrome_frame_quick_enable.cc b/chrome/installer/setup/chrome_frame_quick_enable.cc
deleted file mode 100644
index 9ae7a317fdc6d4d749c6acc89b811ad39761873e..0000000000000000000000000000000000000000
--- a/chrome/installer/setup/chrome_frame_quick_enable.cc
+++ /dev/null
@@ -1,167 +0,0 @@
-// Copyright (c) 2012 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.
-
-#include "chrome/installer/setup/chrome_frame_quick_enable.h"
-
-#include <windows.h>
-
-#include "base/files/scoped_temp_dir.h"
-#include "base/logging.h"
-#include "base/strings/string_util.h"
-#include "base/win/registry.h"
-#include "chrome/installer/setup/install_worker.h"
-#include "chrome/installer/util/google_update_constants.h"
-#include "chrome/installer/util/google_update_settings.h"
-#include "chrome/installer/util/install_util.h"
-#include "chrome/installer/util/installation_state.h"
-#include "chrome/installer/util/installer_state.h"
-#include "chrome/installer/util/product.h"
-#include "chrome/installer/util/work_item.h"
-#include "chrome/installer/util/work_item_list.h"
-
-using base::win::RegKey;
-
-namespace installer {
-
-namespace {
-
-InstallStatus CheckQuickEnablePreconditions(
- const InstallationState& machine_state,
- const InstallerState& installer_state) {
- // Make sure Chrome is multi-installed.
- const ProductState* chrome_state =
- machine_state.GetProductState(installer_state.system_install(),
- BrowserDistribution::CHROME_BROWSER);
- if (chrome_state == NULL) {
- LOG(ERROR) << "Chrome Frame quick enable requires Chrome to be installed.";
- return CHROME_NOT_INSTALLED;
- } else if (!chrome_state->is_multi_install()) {
- LOG(ERROR) << "Chrome Frame quick enable requires multi-install of Chrome.";
- return NON_MULTI_INSTALLATION_EXISTS;
- }
-
- // Chrome Frame must not be installed.
- const ProductState* cf_state =
- machine_state.GetProductState(installer_state.system_install(),
- BrowserDistribution::CHROME_FRAME);
- // Make sure we check both user and system installations.
- if (!cf_state) {
- cf_state = machine_state.GetProductState(!installer_state.system_install(),
- BrowserDistribution::CHROME_FRAME);
- }
-
- if (cf_state != NULL) {
- LOG(ERROR) << "Chrome Frame already installed.";
- return installer_state.system_install() ?
- SYSTEM_LEVEL_INSTALL_EXISTS : USER_LEVEL_INSTALL_EXISTS;
- }
-
- return FIRST_INSTALL_SUCCESS;
-}
-
-} // end namespace
-
-InstallStatus ChromeFrameQuickEnable(const InstallationState& machine_state,
- InstallerState* installer_state) {
- DCHECK(installer_state);
- VLOG(1) << "Chrome Frame Quick Enable";
- InstallStatus status = CheckQuickEnablePreconditions(machine_state,
- *installer_state);
-
- if (status == FIRST_INSTALL_SUCCESS) {
- scoped_ptr<Product> multi_cf(new Product(
- BrowserDistribution::GetSpecificDistribution(
- BrowserDistribution::CHROME_FRAME)));
- multi_cf->SetOption(installer::kOptionMultiInstall, true);
- Product* cf = installer_state->AddProduct(&multi_cf);
- if (!cf) {
- LOG(ERROR) << "AddProduct failed";
- status = INSTALL_FAILED;
- } else {
- base::ScopedTempDir temp_path;
- if (!temp_path.CreateUniqueTempDir()) {
- PLOG(ERROR) << "Failed to create Temp directory";
- return INSTALL_FAILED;
- }
- scoped_ptr<WorkItemList> item_list(WorkItem::CreateWorkItemList());
- const ProductState* chrome_state =
- machine_state.GetProductState(installer_state->system_install(),
- BrowserDistribution::CHROME_BROWSER);
- DCHECK(chrome_state); // Checked in CheckQuickEnablePreconditions.
-
- // Temporarily remove Chrome from the product list.
- // This is so that the operations below do not affect the installation
- // state of Chrome.
- installer_state->RemoveProduct(
- installer_state->FindProduct(BrowserDistribution::CHROME_BROWSER));
-
- base::FilePath setup_path(chrome_state->GetSetupPath());
- const Version& new_version = chrome_state->version();
-
- // This creates the uninstallation entry for GCF.
- AddUninstallShortcutWorkItems(*installer_state, setup_path, new_version,
- *cf, item_list.get());
- // Always set the "lang" value since quick-enable always happens in the
- // context of an interactive session with a user.
- AddVersionKeyWorkItems(installer_state->root_key(), cf->distribution(),
- new_version, true, item_list.get());
-
- const Version* opv = chrome_state->old_version();
- AppendPostInstallTasks(*installer_state, setup_path, opv,
- new_version, temp_path.path(), item_list.get());
-
- // Before updating the channel values, add Chrome back to the mix so that
- // all multi-installed products' channel values get updated.
- installer_state->AddProductFromState(BrowserDistribution::CHROME_BROWSER,
- *chrome_state);
- AddGoogleUpdateWorkItems(machine_state, *installer_state,
- item_list.get());
-
- // Add the items to remove the quick-enable-cf command from the registry.
- AddQuickEnableChromeFrameWorkItems(
- *installer_state, machine_state,
- chrome_state->uninstall_command().GetProgram(),
- new_version,
- item_list.get());
-
- if (!item_list->Do()) {
- item_list->Rollback();
- status = INSTALL_FAILED;
- } else {
- DCHECK_EQ(FIRST_INSTALL_SUCCESS, status);
- VLOG(1) << "Chrome Frame successfully activated.";
- }
- }
- }
-
- // If quick-enable succeeded, check to see if the EULA has not yet been
- // accepted for the binaries. If this is the case, we must also flip the
- // eulaaccepted bit for them. Otherwise, Google Update would not update
- // Chrome Frame, and that would be bad. Don't flip the EULA bit for Chrome
- // itself, as it will show the EULA on first-run and mark its acceptance
- // accordingly.
- if (!InstallUtil::GetInstallReturnCode(status)) {
- const bool system_level = installer_state->system_install();
- const ProductState* binaries =
- machine_state.GetProductState(system_level,
- BrowserDistribution::CHROME_BINARIES);
- DCHECK(binaries);
- DWORD eula_accepted;
-
- if (binaries != NULL &&
- binaries->GetEulaAccepted(&eula_accepted) &&
- eula_accepted == 0 &&
- !GoogleUpdateSettings::SetEULAConsent(
- machine_state,
- BrowserDistribution::GetSpecificDistribution(
- BrowserDistribution::CHROME_BINARIES),
- true)) {
- LOG(ERROR) << "Failed to set EULA consent for multi-install binaries.";
- }
- }
-
- return status;
-}
-
-} // namespace installer
« no previous file with comments | « chrome/installer/setup/chrome_frame_quick_enable.h ('k') | chrome/installer/setup/install_worker.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698