summaryrefslogtreecommitdiffstats
path: root/chrome/browser/media_galleries
diff options
context:
space:
mode:
authorvandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-19 19:40:31 +0000
committervandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-19 19:40:31 +0000
commitdc895236268d5f20f45c3ed86f1f70f65853cd80 (patch)
treefa69c05cacb50a7f12e3fce8f23fc974ab43039b /chrome/browser/media_galleries
parentd8911efaf3cd3635a1edcc985c81416bebebd3a7 (diff)
downloadchromium_src-dc895236268d5f20f45c3ed86f1f70f65853cd80.zip
chromium_src-dc895236268d5f20f45c3ed86f1f70f65853cd80.tar.gz
chromium_src-dc895236268d5f20f45c3ed86f1f70f65853cd80.tar.bz2
Add mechanism to auto mount file systems in response to a URL request.
This code adds a hook for when a file system URL request can not be cracked. It will allow external media galleries file systems to be lazily created. BUG=160900 Review URL: https://codereview.chromium.org/195923002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258064 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/media_galleries')
-rw-r--r--chrome/browser/media_galleries/fileapi/iphoto_file_util_unittest.cc1
-rw-r--r--chrome/browser/media_galleries/fileapi/itunes_file_util_unittest.cc1
-rw-r--r--chrome/browser/media_galleries/fileapi/media_file_system_backend.h10
-rw-r--r--chrome/browser/media_galleries/fileapi/native_media_file_util_unittest.cc1
-rw-r--r--chrome/browser/media_galleries/fileapi/picasa_file_util_unittest.cc1
5 files changed, 14 insertions, 0 deletions
diff --git a/chrome/browser/media_galleries/fileapi/iphoto_file_util_unittest.cc b/chrome/browser/media_galleries/fileapi/iphoto_file_util_unittest.cc
index d8dbbdf..645beaf 100644
--- a/chrome/browser/media_galleries/fileapi/iphoto_file_util_unittest.cc
+++ b/chrome/browser/media_galleries/fileapi/iphoto_file_util_unittest.cc
@@ -214,6 +214,7 @@ class IPhotoFileUtilTest : public testing::Test {
storage_policy.get(),
NULL,
additional_providers.Pass(),
+ std::vector<fileapi::URLRequestAutoMountHandler>(),
profile_dir_.path(),
content::CreateAllowFileAccessOptions());
}
diff --git a/chrome/browser/media_galleries/fileapi/itunes_file_util_unittest.cc b/chrome/browser/media_galleries/fileapi/itunes_file_util_unittest.cc
index 7ef4765..43a09be 100644
--- a/chrome/browser/media_galleries/fileapi/itunes_file_util_unittest.cc
+++ b/chrome/browser/media_galleries/fileapi/itunes_file_util_unittest.cc
@@ -182,6 +182,7 @@ class ItunesFileUtilTest : public testing::Test {
storage_policy.get(),
NULL,
additional_providers.Pass(),
+ std::vector<fileapi::URLRequestAutoMountHandler>(),
profile_dir_.path(),
content::CreateAllowFileAccessOptions());
}
diff --git a/chrome/browser/media_galleries/fileapi/media_file_system_backend.h b/chrome/browser/media_galleries/fileapi/media_file_system_backend.h
index c5f8d99..7dbfbd1 100644
--- a/chrome/browser/media_galleries/fileapi/media_file_system_backend.h
+++ b/chrome/browser/media_galleries/fileapi/media_file_system_backend.h
@@ -13,6 +13,10 @@ namespace base {
class SequencedTaskRunner;
}
+namespace net {
+class URLRequest;
+}
+
class MediaPathFilter;
class DeviceMediaAsyncFileUtil;
@@ -29,6 +33,12 @@ class MediaFileSystemBackend : public fileapi::FileSystemBackend {
static bool CurrentlyOnMediaTaskRunnerThread();
static scoped_refptr<base::SequencedTaskRunner> MediaTaskRunner();
+ static bool AttemptAutoMountForURLRequest(
+ const net::URLRequest* url_request,
+ const fileapi::FileSystemURL& filesystem_url,
+ const std::string& storage_domain,
+ const base::Callback<void(base::File::Error result)>& callback);
+
// FileSystemBackend implementation.
virtual bool CanHandleType(fileapi::FileSystemType type) const OVERRIDE;
virtual void Initialize(fileapi::FileSystemContext* context) OVERRIDE;
diff --git a/chrome/browser/media_galleries/fileapi/native_media_file_util_unittest.cc b/chrome/browser/media_galleries/fileapi/native_media_file_util_unittest.cc
index 93a47c3..0b20d58 100644
--- a/chrome/browser/media_galleries/fileapi/native_media_file_util_unittest.cc
+++ b/chrome/browser/media_galleries/fileapi/native_media_file_util_unittest.cc
@@ -133,6 +133,7 @@ class NativeMediaFileUtilTest : public testing::Test {
storage_policy.get(),
NULL,
additional_providers.Pass(),
+ std::vector<fileapi::URLRequestAutoMountHandler>(),
data_dir_.path(),
content::CreateAllowFileAccessOptions());
diff --git a/chrome/browser/media_galleries/fileapi/picasa_file_util_unittest.cc b/chrome/browser/media_galleries/fileapi/picasa_file_util_unittest.cc
index 3255ad1..c70c2ca 100644
--- a/chrome/browser/media_galleries/fileapi/picasa_file_util_unittest.cc
+++ b/chrome/browser/media_galleries/fileapi/picasa_file_util_unittest.cc
@@ -250,6 +250,7 @@ class PicasaFileUtilTest : public testing::Test {
storage_policy.get(),
NULL,
additional_providers.Pass(),
+ std::vector<fileapi::URLRequestAutoMountHandler>(),
profile_dir_.path(),
content::CreateAllowFileAccessOptions());
}