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

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

Issue 115993006: Revert of Remove installation of Chrome Frame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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/install_worker.h ('k') | chrome/installer/setup/install_worker_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/installer/setup/install_worker.cc
diff --git a/chrome/installer/setup/install_worker.cc b/chrome/installer/setup/install_worker.cc
index ab3bd70600d9975988752bc9bd896b37e9a54d2f..4dc5dee9c5bb79e6f3f9aed47347538cc2fb951a 100644
--- a/chrome/installer/setup/install_worker.cc
+++ b/chrome/installer/setup/install_worker.cc
@@ -482,7 +482,6 @@
install_list->AddDeleteTreeWorkItem(new_chrome_exe, temp_path);
- // TODO(grt): Remove this check in M35.
if (installer_state.IsChromeFrameRunning(original_state)) {
VLOG(1) << "Chrome Frame in use. Copying to new_chrome.exe";
install_list->AddCopyTreeWorkItem(
@@ -919,7 +918,8 @@
}
// Creating the ClientState key for binaries, if we're migrating to multi then
- // copy over Chrome's brand code if it has one.
+ // copy over Chrome's brand code if it has one. Chrome Frame currently never
+ // has a brand code.
if (installer_state.state_type() != BrowserDistribution::CHROME_BINARIES) {
const ProductState* chrome_product_state =
original_state.GetNonVersionedProductState(
@@ -1074,6 +1074,11 @@
}
}
+ if (installer_state.FindProduct(BrowserDistribution::CHROME_FRAME)) {
+ AddCopyIELowRightsPolicyWorkItems(installer_state,
+ in_use_update_work_items.get());
+ }
+
post_install_task_list->AddWorkItem(in_use_update_work_items.release());
}
@@ -1096,6 +1101,11 @@
google_update::kRegRenameCmdField);
}
+ if (installer_state.FindProduct(BrowserDistribution::CHROME_FRAME)) {
+ AddDeleteOldIELowRightsPolicyWorkItems(installer_state,
+ regular_update_work_items.get());
+ }
+
post_install_task_list->AddWorkItem(regular_update_work_items.release());
}
@@ -1143,6 +1153,7 @@
install_list->AddCreateDirWorkItem(target_path);
if (installer_state.FindProduct(BrowserDistribution::CHROME_BROWSER) ||
+ installer_state.FindProduct(BrowserDistribution::CHROME_FRAME) ||
installer_state.FindProduct(BrowserDistribution::CHROME_BINARIES)) {
AddChromeWorkItems(original_state,
installer_state,
@@ -1377,6 +1388,27 @@
install_list->AddDeleteRegKeyWorkItem(installer_state.root_key(), key_path);
}
+// Adds work items to copy the chrome_launcher IE low rights elevation policy
+// from the primary policy GUID to the "old" policy GUID. Take care not to
+// perform the copy if there is already an old policy present, as the ones under
+// the main kElevationPolicyGuid would then correspond to an intermediate
+// version (current_version < pv < new_version).
+void AddCopyIELowRightsPolicyWorkItems(const InstallerState& installer_state,
+ WorkItemList* install_list) {
+ DCHECK(install_list);
+
+ base::string16 current_key_path;
+ base::string16 old_key_path;
+
+ GetIELowRightsElevationPolicyKeyPath(CURRENT_ELEVATION_POLICY,
+ &current_key_path);
+ GetIELowRightsElevationPolicyKeyPath(OLD_ELEVATION_POLICY, &old_key_path);
+ // Do not clobber existing old policies.
+ install_list->AddCopyRegKeyWorkItem(installer_state.root_key(),
+ current_key_path, old_key_path,
+ WorkItem::IF_NOT_PRESENT);
+}
+
void AppendUninstallCommandLineFlags(const InstallerState& installer_state,
const Product& product,
CommandLine* uninstall_cmd) {
@@ -1386,8 +1418,13 @@
// Append the product-specific uninstall flags.
product.AppendProductFlags(uninstall_cmd);
- if (installer_state.is_msi())
+ if (installer_state.is_msi()) {
uninstall_cmd->AppendSwitch(installer::switches::kMsi);
+ // See comment in uninstall.cc where we check for the kDeleteProfile switch.
+ if (product.is_chrome_frame()) {
+ uninstall_cmd->AppendSwitch(installer::switches::kDeleteProfile);
+ }
+ }
if (installer_state.system_install())
uninstall_cmd->AppendSwitch(installer::switches::kSystemLevel);
if (installer_state.verbose_logging())
« no previous file with comments | « chrome/installer/setup/install_worker.h ('k') | chrome/installer/setup/install_worker_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698