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

Unified Diff: chrome/browser/extensions/extension_file_browser_private_api.cc

Issue 7583041: Adding a format device button to UI. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Style fixes + changed normalization of paths in JS Created 9 years, 4 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/extensions/extension_file_browser_private_api.cc
diff --git a/chrome/browser/extensions/extension_file_browser_private_api.cc b/chrome/browser/extensions/extension_file_browser_private_api.cc
index 826e2cf7b7ca54ff7cf52c0f6e2d34c1a1be4061..7884430d011d4f31611f2e69c5b6e9c6a30da48b 100644
--- a/chrome/browser/extensions/extension_file_browser_private_api.cc
+++ b/chrome/browser/extensions/extension_file_browser_private_api.cc
@@ -651,7 +651,6 @@ class ExecuteTasksFileSystemCallbackDispatcher
// handler (target) extension and its renderer process.
bool SetupFileAccessPermissions(const GURL& origin_file_url,
GURL* target_file_url, FilePath* file_path, bool* is_directory) {
-
if (!extension_.get())
return false;
@@ -1287,19 +1286,42 @@ bool FormatDeviceFunction::RunImpl() {
return false;
}
- std::string volume_mount_path;
- if (!args_->GetString(0, &volume_mount_path)) {
+ std::string volume_file_url;
+ if (!args_->GetString(0, &volume_file_url)) {
NOTREACHED();
return false;
}
+ UrlList file_paths;
+ file_paths.push_back(GURL(volume_file_url));
+
+ BrowserThread::PostTask(
+ BrowserThread::FILE, FROM_HERE,
+ NewRunnableMethod(this,
+ &FormatDeviceFunction::GetLocalPathsOnFileThread,
+ file_paths, reinterpret_cast<void*>(NULL)));
+ return true;
+}
+
+void FormatDeviceFunction::GetLocalPathsResponseOnUIThread(
+ const FilePathList& files, void* context) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+
+ if (files.size() != 1) {
+ SendResponse(false);
+ return;
+ }
+ // FormatMountedDevice expects that path ends with '/'.
+ std::string mount_path(files[0].value());
+ if (mount_path[mount_path.length() - 1] != '/')
+ mount_path.push_back('/');
+
#ifdef OS_CHROMEOS
chromeos::CrosLibrary::Get()->GetMountLibrary()->FormatMountedDevice(
- volume_mount_path.c_str());
+ mount_path.c_str());
#endif
SendResponse(true);
- return true;
}
GetVolumeMetadataFunction::GetVolumeMetadataFunction() {
@@ -1407,6 +1429,7 @@ bool FileDialogStringsFunction::RunImpl() {
SET_STRING(IDS_FILE_BROWSER, ARCHIVE_MOUNT_FAILED);
SET_STRING(IDS_FILE_BROWSER, MOUNT_ARCHIVE);
SET_STRING(IDS_FILE_BROWSER, UNMOUNT_ARCHIVE);
+ SET_STRING(IDS_FILE_BROWSER, FORMAT_DEVICE);
SET_STRING(IDS_FILE_BROWSER, CONFIRM_OVERWRITE_FILE);
SET_STRING(IDS_FILE_BROWSER, FILE_ALREADY_EXISTS);
@@ -1471,29 +1494,29 @@ bool FileDialogStringsFunction::RunImpl() {
SET_STRING(IDS_FILE_BROWSER, PLAYBACK_ERROR);
// MP3 metadata extractor plugin
- SET_STRING(IDS_FILE_BROWSER, ID3_ALBUM); // TALB
- SET_STRING(IDS_FILE_BROWSER, ID3_BPM); // TBPM
- SET_STRING(IDS_FILE_BROWSER, ID3_COMPOSER); // TCOM
- SET_STRING(IDS_FILE_BROWSER, ID3_COPYRIGHT_MESSAGE); // TCOP
- SET_STRING(IDS_FILE_BROWSER, ID3_DATE); // TDAT
- SET_STRING(IDS_FILE_BROWSER, ID3_PLAYLIST_DELAY); // TDLY
- SET_STRING(IDS_FILE_BROWSER, ID3_ENCODED_BY); // TENC
- SET_STRING(IDS_FILE_BROWSER, ID3_LYRICIST); // TEXT
- SET_STRING(IDS_FILE_BROWSER, ID3_FILE_TYPE); // TFLT
- SET_STRING(IDS_FILE_BROWSER, ID3_TIME); // TIME
- SET_STRING(IDS_FILE_BROWSER, ID3_TITLE); // TIT2
- SET_STRING(IDS_FILE_BROWSER, ID3_LENGTH); // TLEN
- SET_STRING(IDS_FILE_BROWSER, ID3_FILE_OWNER); // TOWN
- SET_STRING(IDS_FILE_BROWSER, ID3_LEAD_PERFORMER); // TPE1
- SET_STRING(IDS_FILE_BROWSER, ID3_BAND); // TPE2
- SET_STRING(IDS_FILE_BROWSER, ID3_TRACK_NUMBER); // TRCK
- SET_STRING(IDS_FILE_BROWSER, ID3_YEAR); // TYER
- SET_STRING(IDS_FILE_BROWSER, ID3_COPYRIGHT); // WCOP
- SET_STRING(IDS_FILE_BROWSER, ID3_OFFICIAL_AUDIO_FILE_WEBPAGE); // WOAF
- SET_STRING(IDS_FILE_BROWSER, ID3_OFFICIAL_ARTIST); // WOAR
- SET_STRING(IDS_FILE_BROWSER, ID3_OFFICIAL_AUDIO_SOURCE_WEBPAGE); // WOAS
- SET_STRING(IDS_FILE_BROWSER, ID3_PUBLISHERS_OFFICIAL_WEBPAGE); // WPUB
- SET_STRING(IDS_FILE_BROWSER, ID3_USER_DEFINED_URL_LINK_FRAME); // WXXX
+ SET_STRING(IDS_FILE_BROWSER, ID3_ALBUM); // TALB
+ SET_STRING(IDS_FILE_BROWSER, ID3_BPM); // TBPM
+ SET_STRING(IDS_FILE_BROWSER, ID3_COMPOSER); // TCOM
+ SET_STRING(IDS_FILE_BROWSER, ID3_COPYRIGHT_MESSAGE); // TCOP
+ SET_STRING(IDS_FILE_BROWSER, ID3_DATE); // TDAT
+ SET_STRING(IDS_FILE_BROWSER, ID3_PLAYLIST_DELAY); // TDLY
+ SET_STRING(IDS_FILE_BROWSER, ID3_ENCODED_BY); // TENC
+ SET_STRING(IDS_FILE_BROWSER, ID3_LYRICIST); // TEXT
+ SET_STRING(IDS_FILE_BROWSER, ID3_FILE_TYPE); // TFLT
+ SET_STRING(IDS_FILE_BROWSER, ID3_TIME); // TIME
+ SET_STRING(IDS_FILE_BROWSER, ID3_TITLE); // TIT2
+ SET_STRING(IDS_FILE_BROWSER, ID3_LENGTH); // TLEN
+ SET_STRING(IDS_FILE_BROWSER, ID3_FILE_OWNER); // TOWN
+ SET_STRING(IDS_FILE_BROWSER, ID3_LEAD_PERFORMER); // TPE1
+ SET_STRING(IDS_FILE_BROWSER, ID3_BAND); // TPE2
+ SET_STRING(IDS_FILE_BROWSER, ID3_TRACK_NUMBER); // TRCK
+ SET_STRING(IDS_FILE_BROWSER, ID3_YEAR); // TYER
+ SET_STRING(IDS_FILE_BROWSER, ID3_COPYRIGHT); // WCOP
+ SET_STRING(IDS_FILE_BROWSER, ID3_OFFICIAL_AUDIO_FILE_WEBPAGE); // WOAF
+ SET_STRING(IDS_FILE_BROWSER, ID3_OFFICIAL_ARTIST); // WOAR
+ SET_STRING(IDS_FILE_BROWSER, ID3_OFFICIAL_AUDIO_SOURCE_WEBPAGE); // WOAS
+ SET_STRING(IDS_FILE_BROWSER, ID3_PUBLISHERS_OFFICIAL_WEBPAGE); // WPUB
+ SET_STRING(IDS_FILE_BROWSER, ID3_USER_DEFINED_URL_LINK_FRAME); // WXXX
SET_STRING(IDS_FILEBROWSER, ENQUEUE);
#undef SET_STRING

Powered by Google App Engine
This is Rietveld 408576698