On uninstall, delete shortcuts first, and then remove directory only if empty.
Previously, ShellUtil::RemoveShortcuts() simply wipes out the entire directory if |location| is SHORTCUT_LOCATION_START_MENU or SHORTCUT_LOCATION_APP_SHORTCUTS, for efficiency. But we're now writing code to migrate shortcuts on the self-destruct flow. In this case, wiping out the directory would destroy our results. Therefore the new logic for deletion of these directories are: - Use same code to remove Chrome-specific shortcuts (this is what's done for other diretories, e.g., Start Menu). - If the directory becomes empty, then remove it; otherwise do nothing. The side effect is that if user creates any non-Chrome shortcuts in these directories, then these shortcuts (and the containing directory) will persist after Chrome uninstall. I think this is a pretty normal behavior. BUG=235857 Review URL: https://chromiumcodereview.appspot.com/22870004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217130 0039d316-1c4b-4281-b951-d872f2087c98
Showing
Please register or sign in to comment