summaryrefslogtreecommitdiffstats
path: root/chrome/installer/util/work_item_list.h
diff options
context:
space:
mode:
authorgab@chromium.org <gab@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-05 18:44:23 +0000
committergab@chromium.org <gab@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-05 18:44:23 +0000
commit1d09c1beb4e91227e5487fe9040cdc8ff332f9da (patch)
treeaf79252ef0accc9bce9fbe330897710e84eee325 /chrome/installer/util/work_item_list.h
parentf612ff5905a1fe8e5aa715eb236d227a02312cc1 (diff)
downloadchromium_src-1d09c1beb4e91227e5487fe9040cdc8ff332f9da.zip
chromium_src-1d09c1beb4e91227e5487fe9040cdc8ff332f9da.tar.gz
chromium_src-1d09c1beb4e91227e5487fe9040cdc8ff332f9da.tar.bz2
Remove an HKCU class registration accidently dropped by an old Canary (as long as it's not owned by a user-level Chrome).
The decision was to have Canary fix itself up (requiring users who uninstalled it since to reinstall it). The other option was to have system-level Chrome fix itself, but that couldn't have been done nicely on auto-update (since it runs as SYSTEM, not as any particular user), the affected users would still have had to manually over-install system-level Chrome to fix it in their profile. Overall it was deemed preferable that the binary who wrote the bad keys originally (Canary) be the one removing them. Also removes NOTREACHED() in NoRollbackWorkItemList::Rollback() -- making it a no-op call instead which makes more sense as the consumer of a WorkItemList shouldn't need to know whether this is a NoRollbackWorkItemList, Rollback() should instead simply be a no-op. BUG=171355 TEST= Test A: 1) Install Google Chrome Canary 20.0.1105.0 (old_mini_installer.exe --chrome-sxs; installer can be found at http://www.oldapps.com/google_chrome.php?old_chrome=7541?download). 2) Install system-level chrome (new_mini_installer.exe --chrome --multi-install --system-level). 3) Confirm that you now get a "Class not registered" error when launching Google Chrome. 4) Over-install a Canary with this fix (new_mini_installer.exe --chrome-sxs). 5) Launch system-level Chrome and confirm that it launches (i.e., "Class not registered" error went away!). Test B: 1) Install user-level Chrome (new_mini_installer.exe --chrome --multi-install). 2) Install Canary with this fix (new_mini_installer.exe --chrome-sxs). 3) Confirm that HKEY_CURRENT_USER\Software\Classes\Wow6432Node\{5C65F4B0-3651-4514-B207-D10CB699B14B} wasn't deleted. 4) Confirm that you can still launch the user-level Chrome (and take it in Metro mode). Review URL: https://chromiumcodereview.appspot.com/12088118 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180737 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer/util/work_item_list.h')
-rw-r--r--chrome/installer/util/work_item_list.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/chrome/installer/util/work_item_list.h b/chrome/installer/util/work_item_list.h
index 29a4587..1660c37 100644
--- a/chrome/installer/util/work_item_list.h
+++ b/chrome/installer/util/work_item_list.h
@@ -167,7 +167,7 @@ class NoRollbackWorkItemList : public WorkItemList {
// WorkItems will still be executed.
virtual bool Do();
- // Just does a NOTREACHED.
+ // No-op.
virtual void Rollback();
};