Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(941)

Unified Diff: webkit/fileapi/file_system_context.cc

Issue 12258021: Fix filesystem API file_handlers to work for drive on ChromeOS. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webkit/fileapi/external_mount_points.cc ('k') | webkit/fileapi/file_system_types.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/fileapi/file_system_context.cc
diff --git a/webkit/fileapi/file_system_context.cc b/webkit/fileapi/file_system_context.cc
index 017cf29f417ed78b3a73a84a6a864fdbf0f909b5..e19d5da4fff27df94f582d95d7b743c9b166bf62 100644
--- a/webkit/fileapi/file_system_context.cc
+++ b/webkit/fileapi/file_system_context.cc
@@ -141,6 +141,7 @@ FileSystemMountPointProvider* FileSystemContext::GetMountPointProvider(
case kFileSystemTypeSyncable:
return sandbox_provider_.get();
case kFileSystemTypeExternal:
+ case kFileSystemTypeExternalFullPath:
case kFileSystemTypeDrive:
case kFileSystemTypeRestrictedNativeLocal:
return external_provider_.get();
@@ -351,17 +352,22 @@ FileSystemURL FileSystemContext::CrackFileSystemURL(
// This is valid situation for non isolated/external file systems.
FileSystemURL result = url;
- for (size_t i = 0; i < url_crackers_.size(); ++i) {
- if (!url_crackers_[i]->HandlesFileSystemMountType(url.type()))
- continue;
-
- result = url_crackers_[i]->CreateCrackedFileSystemURL(url.origin(),
- url.type(),
- url.path());
- if (result.is_valid())
- return result;
+ bool cracked = true;
+ while (cracked) {
+ LOG(ERROR) << "CRACKING: " << result.type() << " " << result.path().value();
+ cracked = false;
+ for (size_t i = 0; i < url_crackers_.size(); ++i) {
+ if (!url_crackers_[i]->HandlesFileSystemMountType(result.type()))
+ continue;
+
+ result = url_crackers_[i]->CrackFileSystemURL(result);
+ if (result.is_valid()) {
+ cracked = true;
+ break;
+ }
+ }
}
-
+ LOG(ERROR) << "RESULT: " << result.type() << " " << result.path().value();
return result;
}
« no previous file with comments | « webkit/fileapi/external_mount_points.cc ('k') | webkit/fileapi/file_system_types.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698