| Index: base/file_path.cc | 
| =================================================================== | 
| --- base/file_path.cc	(revision 6739) | 
| +++ base/file_path.cc	(working copy) | 
| @@ -77,7 +77,7 @@ | 
| // adhere to their behavior. | 
| FilePath FilePath::DirName() const { | 
| FilePath new_path(path_); | 
| -  new_path.StripTrailingSeparators(); | 
| +  new_path.StripTrailingSeparatorsInternal(); | 
|  | 
| // The drive letter, if any, always needs to remain in the output.  If there | 
| // is no drive letter, as will always be the case on platforms which do not | 
| @@ -104,7 +104,7 @@ | 
| new_path.path_.resize(last_separator); | 
| } | 
|  | 
| -  new_path.StripTrailingSeparators(); | 
| +  new_path.StripTrailingSeparatorsInternal(); | 
| if (!new_path.path_.length()) | 
| new_path.path_ = kCurrentDirectory; | 
|  | 
| @@ -113,7 +113,7 @@ | 
|  | 
| FilePath FilePath::BaseName() const { | 
| FilePath new_path(path_); | 
| -  new_path.StripTrailingSeparators(); | 
| +  new_path.StripTrailingSeparatorsInternal(); | 
|  | 
| // The drive letter, if any, is always stripped. | 
| StringType::size_type letter = FindDriveLetter(new_path.path_); | 
| @@ -148,7 +148,7 @@ | 
| } | 
|  | 
| FilePath new_path(path_); | 
| -  new_path.StripTrailingSeparators(); | 
| +  new_path.StripTrailingSeparatorsInternal(); | 
|  | 
| // Don't append a separator if the path is empty (indicating the current | 
| // directory) or if the path component is empty (indicating nothing to | 
| @@ -201,7 +201,14 @@ | 
| } | 
| #endif | 
|  | 
| -void FilePath::StripTrailingSeparators() { | 
| +FilePath FilePath::StripTrailingSeparators() const { | 
| +  FilePath new_path(path_); | 
| +  new_path.StripTrailingSeparatorsInternal(); | 
| + | 
| +  return new_path; | 
| +} | 
| + | 
| +void FilePath::StripTrailingSeparatorsInternal() { | 
| // If there is no drive letter, start will be 1, which will prevent stripping | 
| // the leading separator if there is only one separator.  If there is a drive | 
| // letter, start will be set appropriately to prevent stripping the first | 
|  |