Commit 43cd4f53 authored by Findit's avatar Findit

Revert "Ensure child_path for SetProjectId() is a relative path"

This reverts commit a5dab881.

Reason for revert:

Findit (https://goo.gl/kROfz5) identified CL at revision 840553 as the
culprit for failures in the build cycles as shown on:
https://analysis.chromium.org/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtL2E1ZGFiODgxMTZjZGZhMjE4Y2ZjMDBjYWZlMWQ5NWQ2MmNlZDA3ZDYM

Sample Failed Build: https://ci.chromium.org/b/8858856492607464112

Sample Failed Step: components_unittests

Original change's description:
> Ensure child_path for SetProjectId() is a relative path
> 
> Context : http://b/175833465#comment26
> 
> parent_path.Append(child_path) fails if child_path is an absolute
> path when DCHECK is enabled
> 
> https://source.chromium.org/chromium/chromium/src/+/master:base/files/file_path.cc;l=494;drc=4aa966b22d5d01458c8e8f80a812c7533f62a0b6
> 
> BUG=b:171847983
> TEST=unittest
> 
> Change-Id: Ib7e173d349c29ac22be7c8e11467891de0e3ef3d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2599685
> Reviewed-by: Ryo Hashimoto <hashimoto@chromium.org>
> Commit-Queue: Satoshi Niwa <niwa@chromium.org>
> Auto-Submit: Satoshi Niwa <niwa@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#840553}


No-Presubmit: true
No-Tree-Checks: true
No-Try: true
BUG=b:171847983

Change-Id: I58efae991c0fd90c101acb5aa7d1f5af619234cc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2613007
Cr-Commit-Position: refs/heads/master@{#840577}
parent 6f71a03e
...@@ -43,13 +43,6 @@ constexpr char kAndroidDataMediaPath[] = "/data/media/0/"; ...@@ -43,13 +43,6 @@ constexpr char kAndroidDataMediaPath[] = "/data/media/0/";
} // namespace } // namespace
// Convert an absolute path to a relative path. (e.g. /dir/file => dir/file)
base::FilePath ToRelativePath(const base::FilePath& path) {
base::FilePath path_out;
DCHECK(base::FilePath("/").AppendRelativePath(path, &path_out));
return path_out;
}
// static // static
bool ArcDiskQuotaBridge::convertPathForSetProjectId( bool ArcDiskQuotaBridge::convertPathForSetProjectId(
const base::FilePath& android_path, const base::FilePath& android_path,
...@@ -72,18 +65,18 @@ bool ArcDiskQuotaBridge::convertPathForSetProjectId( ...@@ -72,18 +65,18 @@ bool ArcDiskQuotaBridge::convertPathForSetProjectId(
return kDownloadPath.AppendRelativePath(android_path, child_path_out); return kDownloadPath.AppendRelativePath(android_path, child_path_out);
} else if (kExternalStoragePath.IsParent(android_path)) { } else if (kExternalStoragePath.IsParent(android_path)) {
// /storage/emulated/0/* => // /storage/emulated/0/* =>
// parent=/home/root/<hash>/android-data/, child=data/media/0/* // parent=/home/root/<hash>/android-data/, chile=/data/media/0/*
*parent_path_out = *parent_path_out =
cryptohome::SetProjectIdAllowedPathType::PATH_ANDROID_DATA; cryptohome::SetProjectIdAllowedPathType::PATH_ANDROID_DATA;
*child_path_out = ToRelativePath(kDataMediaPath); *child_path_out = kDataMediaPath;
return kExternalStoragePath.AppendRelativePath(android_path, return kExternalStoragePath.AppendRelativePath(android_path,
child_path_out); child_path_out);
} else if (kDataMediaPath.IsParent(android_path)) { } else if (kDataMediaPath.IsParent(android_path)) {
// /data/media/0/* => // /data/media/0/* =>
// parent=/home/root/<hash>/android-data/, child=data/media/0/* // parent=/home/root/<hash>/android-data/, child=/data/media/0/*
*parent_path_out = *parent_path_out =
cryptohome::SetProjectIdAllowedPathType::PATH_ANDROID_DATA; cryptohome::SetProjectIdAllowedPathType::PATH_ANDROID_DATA;
*child_path_out = ToRelativePath(android_path); *child_path_out = android_path;
return true; return true;
} else { } else {
return false; return false;
......
...@@ -26,13 +26,13 @@ TEST(ArcDiskQuotaBridgeTest, ConvertPathForSetProjectId) { ...@@ -26,13 +26,13 @@ TEST(ArcDiskQuotaBridgeTest, ConvertPathForSetProjectId) {
base::FilePath("/storage/emulated/0/Pictures/test.png"), &parent_path, base::FilePath("/storage/emulated/0/Pictures/test.png"), &parent_path,
&child_path)); &child_path));
EXPECT_EQ(PathType::PATH_ANDROID_DATA, parent_path); EXPECT_EQ(PathType::PATH_ANDROID_DATA, parent_path);
EXPECT_EQ("data/media/0/Pictures/test.png", child_path.value()); EXPECT_EQ("/data/media/0/Pictures/test.png", child_path.value());
EXPECT_TRUE(ArcDiskQuotaBridge::convertPathForSetProjectId( EXPECT_TRUE(ArcDiskQuotaBridge::convertPathForSetProjectId(
base::FilePath("/data/media/0/Movies/test.mp4"), &parent_path, base::FilePath("/data/media/0/Movies/test.mp4"), &parent_path,
&child_path)); &child_path));
EXPECT_EQ(PathType::PATH_ANDROID_DATA, parent_path); EXPECT_EQ(PathType::PATH_ANDROID_DATA, parent_path);
EXPECT_EQ("data/media/0/Movies/test.mp4", child_path.value()); EXPECT_EQ("/data/media/0/Movies/test.mp4", child_path.value());
// Unallowed path. // Unallowed path.
EXPECT_FALSE(ArcDiskQuotaBridge::convertPathForSetProjectId( EXPECT_FALSE(ArcDiskQuotaBridge::convertPathForSetProjectId(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment