| Index: chrome/common/extensions/extension_resource_unittest.cc
|
| ===================================================================
|
| --- chrome/common/extensions/extension_resource_unittest.cc (revision 170581)
|
| +++ chrome/common/extensions/extension_resource_unittest.cc (working copy)
|
| @@ -49,6 +49,8 @@
|
|
|
| FilePath inner_dir = temp.path().AppendASCII("directory");
|
| ASSERT_TRUE(file_util::CreateDirectory(inner_dir));
|
| + FilePath sub_dir = inner_dir.AppendASCII("subdir");
|
| + ASSERT_TRUE(file_util::CreateDirectory(sub_dir));
|
| FilePath inner_file = inner_dir.AppendASCII("inner");
|
| FilePath outer_file = temp.path().AppendASCII("outer");
|
| ASSERT_TRUE(file_util::WriteFile(outer_file, "X", 1));
|
| @@ -86,6 +88,16 @@
|
| r4.set_follow_symlinks_anywhere();
|
| EXPECT_TRUE(r4.GetFilePath().empty());
|
|
|
| + // ... and not even when clever current-directory syntax is present. Note
|
| + // that the path for this test case can't start with the current directory
|
| + // component due to quirks in FilePath::Append(), and the path must exist.
|
| + ExtensionResource r4a(
|
| + extension_id, inner_dir,
|
| + FilePath().AppendASCII("subdir").AppendASCII(".").AppendASCII("..").
|
| + AppendASCII("..").AppendASCII("outer"));
|
| + r4a.set_follow_symlinks_anywhere();
|
| + EXPECT_TRUE(r4a.GetFilePath().empty());
|
| +
|
| #if defined(OS_POSIX)
|
| // The non-packing extension should also not be able to access a resource that
|
| // symlinks out of the directory.
|
|
|