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

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

Issue 7976045: Fix in-use updates for Chrome Frame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sanity check before dcommit Created 9 years, 3 months 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/setup_main.cc ('k') | chrome/installer/util/copy_reg_key_work_item.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/installer/setup/uninstall.cc
diff --git a/chrome/installer/setup/uninstall.cc b/chrome/installer/setup/uninstall.cc
index f0d7a588ff55f48b2d44abd4b56ada5b6d9ad2ed..382b76420809073d2e07f32d45e68c6e330910c1 100644
--- a/chrome/installer/setup/uninstall.cc
+++ b/chrome/installer/setup/uninstall.cc
@@ -119,6 +119,14 @@ void ProcessQuickEnableWorkItems(
LOG(ERROR) << "Failed to update quick-enable-cf command.";
}
+void ProcessIELowRightsPolicyWorkItems(
+ const installer::InstallerState& installer_state) {
+ scoped_ptr<WorkItemList> work_items(WorkItem::CreateNoRollbackWorkItemList());
+ AddDeleteOldIELowRightsPolicyWorkItems(installer_state, work_items.get());
+ work_items->Do();
+ installer::RefreshElevationPolicy();
+}
+
void ClearRlzProductState() {
const rlz_lib::AccessPoint points[] = {rlz_lib::CHROME_OMNIBOX,
rlz_lib::CHROME_HOME_PAGE,
@@ -790,6 +798,9 @@ InstallStatus UninstallProduct(const InstallationState& original_state,
unreg_work_item_list.get());
unreg_work_item_list->Do();
}
+
+ if (!is_chrome)
+ ProcessIELowRightsPolicyWorkItems(installer_state);
}
// Close any Chrome Frame helper processes that may be running.
@@ -825,14 +836,6 @@ InstallStatus UninstallProduct(const InstallationState& original_state,
LOG(INFO) << (can_delete_files ? "Shared binaries will be deleted." :
"Shared binaries still in use.");
if (can_delete_files) {
- // Remove the elevation policy when the last product is uninstalled.
- scoped_ptr<WorkItemList> work_items(
- WorkItem::CreateNoRollbackWorkItemList());
- AddElevationPolicyWorkItems(original_state, installer_state,
- product_state->version(), work_items.get());
- work_items->Do();
- RefreshElevationPolicy();
-
BrowserDistribution* multi_dist =
installer_state.multi_package_binaries_distribution();
InstallUtil::DeleteRegistryKey(reg_root, multi_dist->GetVersionKey());
« no previous file with comments | « chrome/installer/setup/setup_main.cc ('k') | chrome/installer/util/copy_reg_key_work_item.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698