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

Side by Side Diff: chrome/browser/extensions/extension_file_browser_private_api.cc

Issue 7941014: Use extension-based file picker from CrOS for Aura builds. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix linux_touchui Created 9 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/extension_file_browser_private_api.h" 5 #include "chrome/browser/extensions/extension_file_browser_private_api.h"
6 6
7 #include "base/base64.h" 7 #include "base/base64.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/json/json_writer.h" 9 #include "base/json/json_writer.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 #include "webkit/fileapi/file_system_util.h" 49 #include "webkit/fileapi/file_system_util.h"
50 #include "ui/base/l10n/l10n_util.h" 50 #include "ui/base/l10n/l10n_util.h"
51 51
52 #ifdef OS_CHROMEOS 52 #ifdef OS_CHROMEOS
53 #include "chrome/browser/chromeos/cros/cros_library.h" 53 #include "chrome/browser/chromeos/cros/cros_library.h"
54 #endif 54 #endif
55 55
56 // Error messages. 56 // Error messages.
57 const char kFileError[] = "File error %d"; 57 const char kFileError[] = "File error %d";
58 const char kInvalidFileUrl[] = "Invalid file URL"; 58 const char kInvalidFileUrl[] = "Invalid file URL";
59 #ifdef OS_CHROMEOS
60 const char kVolumeDevicePathNotFound[] = "Device path not found"; 59 const char kVolumeDevicePathNotFound[] = "Device path not found";
61 #endif
62 60
63 #ifdef OS_CHROMEOS 61 #ifdef OS_CHROMEOS
64 // Volume type strings. 62 // Volume type strings.
65 const std::string kVolumeTypeFlash = "flash"; 63 const std::string kVolumeTypeFlash = "flash";
66 const std::string kVolumeTypeOptical = "optical"; 64 const std::string kVolumeTypeOptical = "optical";
67 const std::string kVolumeTypeHardDrive = "hdd"; 65 const std::string kVolumeTypeHardDrive = "hdd";
68 const std::string kVolumeTypeUnknown = "undefined"; 66 const std::string kVolumeTypeUnknown = "undefined";
69 #endif 67 #endif
70 68
71 // Internal task ids. 69 // Internal task ids.
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
536 BrowserThread::PostTask( 534 BrowserThread::PostTask(
537 BrowserThread::UI, FROM_HERE, 535 BrowserThread::UI, FROM_HERE,
538 NewRunnableMethod(this, 536 NewRunnableMethod(this,
539 &FileWatchBrowserFunctionBase::RespondOnUIThread, 537 &FileWatchBrowserFunctionBase::RespondOnUIThread,
540 true)); 538 true));
541 } 539 }
542 540
543 bool AddFileWatchBrowserFunction::PerformFileWatchOperation( 541 bool AddFileWatchBrowserFunction::PerformFileWatchOperation(
544 const FilePath& local_path, const FilePath& virtual_path, 542 const FilePath& local_path, const FilePath& virtual_path,
545 const std::string& extension_id) { 543 const std::string& extension_id) {
544 #if defined(OS_CHROMEOS)
546 return profile_->GetExtensionService()->file_browser_event_router()-> 545 return profile_->GetExtensionService()->file_browser_event_router()->
547 AddFileWatch(local_path, virtual_path, extension_id); 546 AddFileWatch(local_path, virtual_path, extension_id);
547 #else
548 return true;
549 #endif // OS_CHROMEOS
548 } 550 }
549 551
550 bool RemoveFileWatchBrowserFunction::PerformFileWatchOperation( 552 bool RemoveFileWatchBrowserFunction::PerformFileWatchOperation(
551 const FilePath& local_path, const FilePath& unused, 553 const FilePath& local_path, const FilePath& unused,
552 const std::string& extension_id) { 554 const std::string& extension_id) {
555 #if defined(OS_CHROMEOS)
553 profile_->GetExtensionService()->file_browser_event_router()-> 556 profile_->GetExtensionService()->file_browser_event_router()->
554 RemoveFileWatch(local_path, extension_id); 557 RemoveFileWatch(local_path, extension_id);
558 #endif
555 return true; 559 return true;
556 } 560 }
557 561
558 bool GetFileTasksFileBrowserFunction::RunImpl() { 562 bool GetFileTasksFileBrowserFunction::RunImpl() {
559 ListValue* files_list = NULL; 563 ListValue* files_list = NULL;
560 if (!args_->GetList(0, &files_list)) 564 if (!args_->GetList(0, &files_list))
561 return false; 565 return false;
562 566
563 std::vector<GURL> file_urls; 567 std::vector<GURL> file_urls;
564 for (size_t i = 0; i < files_list->GetSize(); ++i) { 568 for (size_t i = 0; i < files_list->GetSize(); ++i) {
(...skipping 605 matching lines...) Expand 10 before | Expand all | Expand 10 after
1170 } 1174 }
1171 1175
1172 std::string mount_type_str; 1176 std::string mount_type_str;
1173 if (!args_->GetString(1, &mount_type_str)) { 1177 if (!args_->GetString(1, &mount_type_str)) {
1174 return false; 1178 return false;
1175 } 1179 }
1176 1180
1177 UrlList file_paths; 1181 UrlList file_paths;
1178 file_paths.push_back(GURL(file_url)); 1182 file_paths.push_back(GURL(file_url));
1179 1183
1184 #if defined(OS_CHROMEOS)
1180 chromeos::MountPathOptions options; 1185 chromeos::MountPathOptions options;
1181 if (args_->GetSize() == 3) { 1186 if (args_->GetSize() == 3) {
1182 DictionaryValue *dict; 1187 DictionaryValue *dict;
1183 if (!args_->GetDictionary(2, &dict)) { 1188 if (!args_->GetDictionary(2, &dict)) {
1184 NOTREACHED(); 1189 NOTREACHED();
1185 } 1190 }
1186 1191
1187 for (base::DictionaryValue::key_iterator it = dict->begin_keys(); 1192 for (base::DictionaryValue::key_iterator it = dict->begin_keys();
1188 it != dict->end_keys(); 1193 it != dict->end_keys();
1189 ++it) { 1194 ++it) {
1190 std::string value; 1195 std::string value;
1191 if (!dict->GetString(*it, &value)) { 1196 if (!dict->GetString(*it, &value)) {
1192 NOTREACHED(); 1197 NOTREACHED();
1193 } 1198 }
1194 1199
1195 options.push_back(chromeos::MountPathOptions::value_type((*it).c_str(), 1200 options.push_back(chromeos::MountPathOptions::value_type((*it).c_str(),
1196 value.c_str())); 1201 value.c_str()));
1197 } 1202 }
1198 } 1203 }
1199 1204
1200 MountParamaters* params = new MountParamaters(mount_type_str, options); 1205 MountParamaters* params = new MountParamaters(mount_type_str, options);
1201 BrowserThread::PostTask( 1206 BrowserThread::PostTask(
1202 BrowserThread::FILE, FROM_HERE, 1207 BrowserThread::FILE, FROM_HERE,
1203 NewRunnableMethod(this, 1208 NewRunnableMethod(this,
1204 &AddMountFunction::GetLocalPathsOnFileThread, 1209 &AddMountFunction::GetLocalPathsOnFileThread,
1205 file_paths, reinterpret_cast<void*>(params))); 1210 file_paths, reinterpret_cast<void*>(params)));
1211 #endif // OS_CHROMEOS
1206 1212
1207 return true; 1213 return true;
1208 } 1214 }
1209 1215
1210 void AddMountFunction::GetLocalPathsResponseOnUIThread( 1216 void AddMountFunction::GetLocalPathsResponseOnUIThread(
1211 const FilePathList& files, void* context) { 1217 const FilePathList& files, void* context) {
1212 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 1218 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
1213 DCHECK(context); 1219 DCHECK(context);
1214 scoped_ptr<MountParamaters> params(
1215 reinterpret_cast<MountParamaters*>(context));
1216 1220
1217 if (!files.size()) { 1221 if (!files.size()) {
1218 SendResponse(false); 1222 SendResponse(false);
1219 return; 1223 return;
1220 } 1224 }
1221 1225
1226 #ifdef OS_CHROMEOS
1227 scoped_ptr<MountParamaters> params(
1228 reinterpret_cast<MountParamaters*>(context));
1222 const std::string& mount_type_str = params->mount_type; 1229 const std::string& mount_type_str = params->mount_type;
1223 const chromeos::MountPathOptions& options = params->mount_options; 1230 const chromeos::MountPathOptions& options = params->mount_options;
1224 FilePath::StringType source_file = files[0].value(); 1231 FilePath::StringType source_file = files[0].value();
1225 1232
1226 #ifdef OS_CHROMEOS
1227 chromeos::MountLibrary *mount_lib = 1233 chromeos::MountLibrary *mount_lib =
1228 chromeos::CrosLibrary::Get()->GetMountLibrary(); 1234 chromeos::CrosLibrary::Get()->GetMountLibrary();
1229 1235
1230 chromeos::MountType mount_type = 1236 chromeos::MountType mount_type =
1231 mount_lib->MountTypeFromString(mount_type_str); 1237 mount_lib->MountTypeFromString(mount_type_str);
1232 if (mount_type == chromeos::MOUNT_TYPE_INVALID) { 1238 if (mount_type == chromeos::MOUNT_TYPE_INVALID) {
1233 error_ = "Invalid mount type"; 1239 error_ = "Invalid mount type";
1234 SendResponse(false); 1240 SendResponse(false);
1235 return; 1241 return;
1236 } 1242 }
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
1569 SET_STRING(IDS_FILE_BROWSER, ID3_USER_DEFINED_URL_LINK_FRAME); // WXXX 1575 SET_STRING(IDS_FILE_BROWSER, ID3_USER_DEFINED_URL_LINK_FRAME); // WXXX
1570 1576
1571 SET_STRING(IDS_FILEBROWSER, ENQUEUE); 1577 SET_STRING(IDS_FILEBROWSER, ENQUEUE);
1572 #undef SET_STRING 1578 #undef SET_STRING
1573 1579
1574 // TODO(serya): Create a new string in .grd file for this one in M13. 1580 // TODO(serya): Create a new string in .grd file for this one in M13.
1575 dict->SetString("PREVIEW_IMAGE", 1581 dict->SetString("PREVIEW_IMAGE",
1576 l10n_util::GetStringUTF16(IDS_CERT_MANAGER_VIEW_CERT_BUTTON)); 1582 l10n_util::GetStringUTF16(IDS_CERT_MANAGER_VIEW_CERT_BUTTON));
1577 dict->SetString("PLAY_MEDIA", 1583 dict->SetString("PLAY_MEDIA",
1578 l10n_util::GetStringUTF16(IDS_CONTENT_CONTEXT_PLAY)); 1584 l10n_util::GetStringUTF16(IDS_CONTENT_CONTEXT_PLAY));
1585 #if defined(OS_CHROMEOS)
1579 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableArchives)) 1586 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableArchives))
1580 dict->SetString("ENABLE_ARCHIVES", "true"); 1587 dict->SetString("ENABLE_ARCHIVES", "true");
1588 #endif
1581 1589
1582 return true; 1590 return true;
1583 } 1591 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_file_browser_private_api.h ('k') | chrome/browser/extensions/file_manager_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698