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

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: 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..f6b3d5a2ef4ddeb5e71fc6c8d7784a2a40f23a04 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()) {
tbarzic 2011/08/10 21:04:56 files.size() != 1 (you can format only one device)
sidor.dev 2011/08/10 22:38:17 Done.
+ SendResponse(false);
+ return;
+ }
+ // FormatMountedDevice expects that path ends with '/'.
+ std::string mount_path = files[0].value().data();
tbarzic 2011/08/10 21:04:56 files[0].value() should be sufficient.. You could
sidor.dev 2011/08/10 22:38:17 Done.
+ if (mount_path[mount_path.length()-1] != '/')
tbarzic 2011/08/10 21:04:56 spaces around - Also, I don't think you shouldn't
sidor.dev 2011/08/10 22:38:17 spaces done. second issue - discussed.
+ 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