| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <stdlib.h> | 5 #include <stdlib.h> |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
| 9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
| 10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 if (url.length() <= 8) | 189 if (url.length() <= 8) |
| 190 return false; | 190 return false; |
| 191 if (std::string("file:///") != url.substr(0, 8)) | 191 if (std::string("file:///") != url.substr(0, 8)) |
| 192 return false; // no file:/// prefix | 192 return false; // no file:/// prefix |
| 193 if (url.find('\\') != std::string::npos) | 193 if (url.find('\\') != std::string::npos) |
| 194 return false; // contains backslashes | 194 return false; // contains backslashes |
| 195 | 195 |
| 196 FilePath derived_path; | 196 FilePath derived_path; |
| 197 net::FileURLToFilePath(GURL(url), &derived_path); | 197 net::FileURLToFilePath(GURL(url), &derived_path); |
| 198 | 198 |
| 199 FilePath::StringType derived_path_str = derived_path.value(); | 199 return FilePath::CompareEqualIgnoreCase(derived_path.value(), |
| 200 return (derived_path_str.length() == full_file_path.value().length()) && | 200 full_file_path.value()); |
| 201 std::equal(derived_path_str.begin(), | |
| 202 derived_path_str.end(), | |
| 203 full_file_path.value().begin(), | |
| 204 CaseInsensitiveCompare<FilePath::CharType>()); | |
| 205 } | 201 } |
| 206 | 202 |
| 207 struct fixup_case { | 203 struct fixup_case { |
| 208 const std::string input; | 204 const std::string input; |
| 209 const std::string desired_tld; | 205 const std::string desired_tld; |
| 210 const std::string output; | 206 const std::string output; |
| 211 } fixup_cases[] = { | 207 } fixup_cases[] = { |
| 212 {"www.google.com", "", "http://www.google.com/"}, | 208 {"www.google.com", "", "http://www.google.com/"}, |
| 213 {" www.google.com ", "", "http://www.google.com/"}, | 209 {" www.google.com ", "", "http://www.google.com/"}, |
| 214 {" foo.com/asdf bar", "", "http://foo.com/asdf bar"}, | 210 {" foo.com/asdf bar", "", "http://foo.com/asdf bar"}, |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 459 // (should resolve to the same file as above) | 455 // (should resolve to the same file as above) |
| 460 relative_file_str = sub_dir.value() + FILE_PATH_LITERAL("/../") + | 456 relative_file_str = sub_dir.value() + FILE_PATH_LITERAL("/../") + |
| 461 sub_dir.value() + FILE_PATH_LITERAL("///./") + sub_file.value(); | 457 sub_dir.value() + FILE_PATH_LITERAL("///./") + sub_file.value(); |
| 462 fixedup = URLFixerUpper::FixupRelativeFile(dir, FilePath(relative_file_str)); | 458 fixedup = URLFixerUpper::FixupRelativeFile(dir, FilePath(relative_file_str)); |
| 463 EXPECT_TRUE(IsMatchingFileURL(fixedup, full_path)); | 459 EXPECT_TRUE(IsMatchingFileURL(fixedup, full_path)); |
| 464 | 460 |
| 465 // done with the subdir | 461 // done with the subdir |
| 466 EXPECT_TRUE(file_util::Delete(full_path, false)); | 462 EXPECT_TRUE(file_util::Delete(full_path, false)); |
| 467 EXPECT_TRUE(file_util::Delete(new_dir, true)); | 463 EXPECT_TRUE(file_util::Delete(new_dir, true)); |
| 468 } | 464 } |
| OLD | NEW |