Chromium Code Reviews| Index: base/files/file_util_win.cc |
| diff --git a/base/files/file_util_win.cc b/base/files/file_util_win.cc |
| index d70454df3836a7067f71eecf5a0ae8673376f474..d1fc25f43cc0a86c8253731d387c7b2c5c6bf854 100644 |
| --- a/base/files/file_util_win.cc |
| +++ b/base/files/file_util_win.cc |
| @@ -177,9 +177,16 @@ bool CopyDirectory(const FilePath& from_path, const FilePath& to_path, |
| FilePath real_from_path = MakeAbsoluteFilePath(from_path); |
| if (real_from_path.empty()) |
| return false; |
| + // Originally this CopyDirectory() returns false when |to_path| string |
| + // contains |from_path| string. While this can be that the to_path is within |
| + // the from_path, e.g., parent-child relationship if they are both folders, it |
| + // also can be that the two paths are in the same folder, just that one name |
| + // contains the other, e.g. C:\\JumpListIcon and C:\\JumpListIconOld. |
|
gab
2016/12/13 21:31:21
s/JumpListIcon/Foo/ in example (since this is in /
chengx
2016/12/13 23:00:39
Done.
|
| + // We make this function not return false in the latter situation by calling |
| + // IsParent() function as below. This allows the copy-n-delete code after the |
| + // "return false" below to execute. |
|
gab
2016/12/13 21:31:21
No need to describe history here IMO, just say:
/
chengx
2016/12/13 23:00:39
Done.
|
| if (real_to_path.value().size() >= real_from_path.value().size() && |
| - real_to_path.value().compare(0, real_from_path.value().size(), |
| - real_from_path.value()) == 0) { |
| + real_from_path.IsParent(real_to_path)) { |
| return false; |
| } |