Index: chrome/browser/chromeos/fileapi/file_system_backend.cc |
diff --git a/chrome/browser/chromeos/fileapi/file_system_backend.cc b/chrome/browser/chromeos/fileapi/file_system_backend.cc |
index 568a9c586fdce147e68ed3be2cb5956bc59eaf12..c029fff108dd770d4638e1a6a5ef510fc53020ad 100644 |
--- a/chrome/browser/chromeos/fileapi/file_system_backend.cc |
+++ b/chrome/browser/chromeos/fileapi/file_system_backend.cc |
@@ -10,6 +10,7 @@ |
#include "chrome/browser/chromeos/fileapi/file_access_permissions.h" |
#include "chrome/browser/chromeos/fileapi/file_system_backend_delegate.h" |
#include "chrome/browser/media_galleries/fileapi/media_file_system_backend.h" |
+#include "chrome/common/url_constants.h" |
#include "chromeos/dbus/cros_disks_client.h" |
#include "storage/browser/blob/file_stream_reader.h" |
#include "storage/browser/fileapi/async_file_util.h" |
@@ -180,6 +181,11 @@ bool FileSystemBackend::IsAccessAllowed( |
return true; |
} |
+ // Grant access for URL having "drive:" scheme. The URL filesystem:drive:/xxx |
+ // cannot be parsed directly. The URL is created only by DriveURLRequestJob. |
+ if (url.origin().scheme() == chrome::kDriveScheme) |
+ return true; |
+ |
// Check first to make sure this extension has fileBrowserHander permissions. |
if (!special_storage_policy_.get() || |
!special_storage_policy_->IsFileHandler(extension_id)) |