diff options
author | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-01 19:56:05 +0000 |
---|---|---|
committer | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-01 19:56:05 +0000 |
commit | cb4da7b7cca16b19401ae9475383c70ac310337e (patch) | |
tree | 5466297ef2bfe73fe719996e1abfd8a5d7e79e96 /chrome/installer/util/delete_after_reboot_helper.h | |
parent | b9f57287047fb5cee26924fd66e8f77280c59c70 (diff) | |
download | chromium_src-cb4da7b7cca16b19401ae9475383c70ac310337e.zip chromium_src-cb4da7b7cca16b19401ae9475383c70ac310337e.tar.gz chromium_src-cb4da7b7cca16b19401ae9475383c70ac310337e.tar.bz2 |
Fix a problem with the delete-after-reboot code. Removing pending renames of files not currently on disk would fail due to calls to GetShortPathName failing for already-deleted files. Now we just attempt to keep using the long path names for the already-deleted-file case. Also test.
BUG=64503
TEST=Uninstall CF while it is in use. Delete the in use files. Reinstall. Ensure that the CF files are no longer scheduled for deletion by looking at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations.
Review URL: http://codereview.chromium.org/5354006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67889 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer/util/delete_after_reboot_helper.h')
-rw-r--r-- | chrome/installer/util/delete_after_reboot_helper.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/chrome/installer/util/delete_after_reboot_helper.h b/chrome/installer/util/delete_after_reboot_helper.h index 10d2f0a..a133900 100644 --- a/chrome/installer/util/delete_after_reboot_helper.h +++ b/chrome/installer/util/delete_after_reboot_helper.h @@ -64,7 +64,9 @@ void StringArrayToMultiSZBytes(const std::vector<PendingMove>& strings, std::vector<char>* buffer); // A helper function for the win32 GetShortPathName that more conveniently -// returns a correctly sized wstring. +// returns a correctly sized wstring. Note that if |path| is not present on the +// file system then GetShortPathName will return |path| unchanged, unlike the +// win32 GetShortPathName which will return an error. std::wstring GetShortPathName(const wchar_t* path); #endif // CHROME_INSTALLER_UTIL_DELETE_AFTER_REBOOT_HELPER_H_ |