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

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

Issue 10103020: Only do DelegateExecute verb handler registration for Google Chrome. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ToT Created 8 years, 8 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/install_worker.cc ('k') | chrome/installer/util/browser_distribution.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 5b6e62cc559e45d4c549eeabf6035f63d4663b8f..cb80ee8e1f8cfebc49fe214d484261af82a7e408 100644
--- a/chrome/installer/setup/uninstall.cc
+++ b/chrome/installer/setup/uninstall.cc
@@ -689,16 +689,17 @@ const wchar_t kChromeExtProgId[] = L"ChromiumExt";
}
}
-bool ProcessChromeWorkItems(const InstallationState& original_state,
- const InstallerState& installer_state,
- const FilePath& setup_path,
- const Product& product) {
- if (!product.is_chrome())
- return false;
-
- scoped_ptr<WorkItemList> item_list(WorkItem::CreateWorkItemList());
- AddChromeWorkItems(original_state, installer_state, setup_path, Version(),
- product, item_list.get());
+// Builds and executes a work item list to remove DelegateExecute verb handler
+// work items for |product|. This will be a noop for products whose
+// corresponding BrowserDistribution implementations do not publish
+// DelegateExecute data via an implementation of GetDelegateExecuteHandlerData.
+bool ProcessDelegateExecuteWorkItems(const InstallationState& original_state,
+ const InstallerState& installer_state,
+ const FilePath& setup_path,
+ const Product& product) {
+ scoped_ptr<WorkItemList> item_list(WorkItem::CreateNoRollbackWorkItemList());
+ AddDelegateExecuteWorkItems(original_state, installer_state, setup_path,
+ Version(), product, item_list.get());
return item_list->Do();
}
@@ -709,7 +710,7 @@ bool ProcessChromeFrameWorkItems(const InstallationState& original_state,
if (!product.is_chrome_frame())
return false;
- scoped_ptr<WorkItemList> item_list(WorkItem::CreateWorkItemList());
+ scoped_ptr<WorkItemList> item_list(WorkItem::CreateNoRollbackWorkItemList());
AddChromeFrameWorkItems(original_state, installer_state, setup_path,
Version(), product, item_list.get());
return item_list->Do();
@@ -819,10 +820,10 @@ InstallStatus UninstallProduct(const InstallationState& original_state,
suffix, installer_state.target_path(), &ret);
}
- if (is_chrome) {
- ProcessChromeWorkItems(original_state, installer_state, setup_path,
- product);
- } else {
+ ProcessDelegateExecuteWorkItems(original_state, installer_state, setup_path,
+ product);
+
+ if (!is_chrome) {
ProcessChromeFrameWorkItems(original_state, installer_state, setup_path,
product);
}
« no previous file with comments | « chrome/installer/setup/install_worker.cc ('k') | chrome/installer/util/browser_distribution.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698