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

Unified Diff: chrome/browser/chromeos/extensions/file_system_provider/file_system_provider_api.cc

Issue 1055183003: Add a data source field for volumes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed a typo. Created 5 years, 8 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
Index: chrome/browser/chromeos/extensions/file_system_provider/file_system_provider_api.cc
diff --git a/chrome/browser/chromeos/extensions/file_system_provider/file_system_provider_api.cc b/chrome/browser/chromeos/extensions/file_system_provider/file_system_provider_api.cc
index 09a892075b42b6b2db6226c4e2b4be81d3eef198..643bb3db237cfb6bfe0252dd6b384ba5a2d96329 100644
--- a/chrome/browser/chromeos/extensions/file_system_provider/file_system_provider_api.cc
+++ b/chrome/browser/chromeos/extensions/file_system_provider/file_system_provider_api.cc
@@ -70,6 +70,22 @@ scoped_ptr<ProvidedFileSystemObserver::Changes> ParseChanges(
return results;
}
+// Converts the file system source from the IDL type to a native type.
+chromeos::file_system_provider::Source ParseSource(
+ const api::file_system_provider::FileSystemSource& source) {
+ switch (source) {
+ case api::file_system_provider::FILE_SYSTEM_SOURCE_FILE:
+ return chromeos::file_system_provider::SOURCE_FILE;
+ case api::file_system_provider::FILE_SYSTEM_SOURCE_DEVICE:
+ return chromeos::file_system_provider::SOURCE_DEVICE;
+ case api::file_system_provider::FILE_SYSTEM_SOURCE_NETWORK:
+ return chromeos::file_system_provider::SOURCE_NETWORK;
+ case api::file_system_provider::FILE_SYSTEM_SOURCE_NONE:
+ return chromeos::file_system_provider::SOURCE_UNKNOWN;
+ }
+ return chromeos::file_system_provider::SOURCE_UNKNOWN;
+}
+
// Fills the IDL's FileSystemInfo with FSP's ProvidedFileSystemInfo and
// Watchers.
void FillFileSystemInfo(const ProvidedFileSystemInfo& file_system_info,
@@ -83,6 +99,20 @@ void FillFileSystemInfo(const ProvidedFileSystemInfo& file_system_info,
output->display_name = file_system_info.display_name();
output->writable = file_system_info.writable();
output->opened_files_limit = file_system_info.opened_files_limit();
+ switch (file_system_info.source()) {
+ case chromeos::file_system_provider::SOURCE_FILE:
+ output->source = api::file_system_provider::FILE_SYSTEM_SOURCE_FILE;
+ break;
+ case chromeos::file_system_provider::SOURCE_DEVICE:
+ output->source = api::file_system_provider::FILE_SYSTEM_SOURCE_DEVICE;
+ break;
+ case chromeos::file_system_provider::SOURCE_NETWORK:
+ output->source = api::file_system_provider::FILE_SYSTEM_SOURCE_NETWORK;
+ break;
+ case chromeos::file_system_provider::SOURCE_UNKNOWN:
+ output->source = api::file_system_provider::FILE_SYSTEM_SOURCE_NONE;
+ break;
+ }
std::vector<linked_ptr<Watcher>> watcher_items;
for (const auto& watcher : watchers) {
@@ -152,6 +182,7 @@ bool FileSystemProviderMountFunction::RunSync() {
? *params->options.opened_files_limit.get()
: 0;
options.supports_notify_tag = params->options.supports_notify_tag;
+ options.source = ParseSource(params->options.source);
const base::File::Error result =
service->MountFileSystem(extension_id(), options);

Powered by Google App Engine
This is Rietveld 408576698