| 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;
|
| }
|
|
|
|
|