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

Side by Side Diff: chrome/browser/chromeos/extensions/file_browser_private_api.cc

Issue 11418048: Add copy and assignment to FundamentalValue and StringValue. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 1 month 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/chromeos/extensions/file_browser_private_api.h" 5 #include "chrome/browser/chromeos/extensions/file_browser_private_api.h"
6 6
7 #include <sys/stat.h> 7 #include <sys/stat.h>
8 #include <sys/statvfs.h> 8 #include <sys/statvfs.h>
9 #include <sys/types.h> 9 #include <sys/types.h>
10 #include <utime.h> 10 #include <utime.h>
(...skipping 1328 matching lines...) Expand 10 before | Expand all | Expand 10 after
1339 if (!args_->GetString(0, &file_url)) { 1339 if (!args_->GetString(0, &file_url)) {
1340 return false; 1340 return false;
1341 } 1341 }
1342 1342
1343 std::string mount_type_str; 1343 std::string mount_type_str;
1344 if (!args_->GetString(1, &mount_type_str)) { 1344 if (!args_->GetString(1, &mount_type_str)) {
1345 return false; 1345 return false;
1346 } 1346 }
1347 1347
1348 // Set default return source path to the empty string. 1348 // Set default return source path to the empty string.
1349 SetResult(Value::CreateStringValue("")); 1349 SetResult(new base::StringValue(""));
1350 1350
1351 chromeos::MountType mount_type = 1351 chromeos::MountType mount_type =
1352 DiskMountManager::MountTypeFromString(mount_type_str); 1352 DiskMountManager::MountTypeFromString(mount_type_str);
1353 switch (mount_type) { 1353 switch (mount_type) {
1354 case chromeos::MOUNT_TYPE_INVALID: { 1354 case chromeos::MOUNT_TYPE_INVALID: {
1355 error_ = "Invalid mount type"; 1355 error_ = "Invalid mount type";
1356 SendResponse(false); 1356 SendResponse(false);
1357 break; 1357 break;
1358 } 1358 }
1359 case chromeos::MOUNT_TYPE_GDATA: { 1359 case chromeos::MOUNT_TYPE_GDATA: {
1360 const bool success = true; 1360 const bool success = true;
1361 // Pass back the drive mount point path as source path. 1361 // Pass back the drive mount point path as source path.
1362 const std::string& drive_path = 1362 const std::string& drive_path =
1363 drive::util::GetDriveMountPointPathAsString(); 1363 drive::util::GetDriveMountPointPathAsString();
1364 SetResult(Value::CreateStringValue(drive_path)); 1364 SetResult(new base::StringValue(drive_path));
1365 FileBrowserEventRouterFactory::GetForProfile(profile_)-> 1365 FileBrowserEventRouterFactory::GetForProfile(profile_)->
1366 MountDrive(base::Bind(&AddMountFunction::SendResponse, 1366 MountDrive(base::Bind(&AddMountFunction::SendResponse,
1367 this, 1367 this,
1368 success)); 1368 success));
1369 break; 1369 break;
1370 } 1370 }
1371 default: { 1371 default: {
1372 UrlList file_paths; 1372 UrlList file_paths;
1373 file_paths.push_back(GURL(file_url)); 1373 file_paths.push_back(GURL(file_url));
1374 1374
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1412 } 1412 }
1413 } 1413 }
1414 1414
1415 void AddMountFunction::OnMountedStateSet(const std::string& mount_type, 1415 void AddMountFunction::OnMountedStateSet(const std::string& mount_type,
1416 const FilePath::StringType& file_name, 1416 const FilePath::StringType& file_name,
1417 drive::DriveFileError error, 1417 drive::DriveFileError error,
1418 const FilePath& file_path) { 1418 const FilePath& file_path) {
1419 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 1419 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
1420 DiskMountManager* disk_mount_manager = DiskMountManager::GetInstance(); 1420 DiskMountManager* disk_mount_manager = DiskMountManager::GetInstance();
1421 // Pass back the actual source path of the mount point. 1421 // Pass back the actual source path of the mount point.
1422 SetResult(Value::CreateStringValue(file_path.value())); 1422 SetResult(new base::StringValue(file_path.value()));
1423 SendResponse(true); 1423 SendResponse(true);
1424 // MountPath() takes a std::string. 1424 // MountPath() takes a std::string.
1425 disk_mount_manager->MountPath(file_path.AsUTF8Unsafe(), 1425 disk_mount_manager->MountPath(file_path.AsUTF8Unsafe(),
1426 FilePath(file_name).Extension(), file_name, 1426 FilePath(file_name).Extension(), file_name,
1427 DiskMountManager::MountTypeFromString( 1427 DiskMountManager::MountTypeFromString(
1428 mount_type)); 1428 mount_type));
1429 } 1429 }
1430 1430
1431 RemoveMountFunction::RemoveMountFunction() { 1431 RemoveMountFunction::RemoveMountFunction() {
1432 } 1432 }
(...skipping 987 matching lines...) Expand 10 before | Expand all | Expand 10 after
2420 return true; 2420 return true;
2421 } 2421 }
2422 2422
2423 void GetFileLocationsFunction::GetLocalPathsResponseOnUIThread( 2423 void GetFileLocationsFunction::GetLocalPathsResponseOnUIThread(
2424 const SelectedFileInfoList& files) { 2424 const SelectedFileInfoList& files) {
2425 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 2425 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
2426 2426
2427 ListValue* locations = new ListValue; 2427 ListValue* locations = new ListValue;
2428 for (size_t i = 0; i < files.size(); ++i) { 2428 for (size_t i = 0; i < files.size(); ++i) {
2429 if (drive::util::IsUnderDriveMountPoint(files[i].file_path)) { 2429 if (drive::util::IsUnderDriveMountPoint(files[i].file_path)) {
2430 locations->Append(Value::CreateStringValue("drive")); 2430 locations->Append(new base::StringValue("drive"));
2431 } else { 2431 } else {
2432 locations->Append(Value::CreateStringValue("local")); 2432 locations->Append(new base::StringValue("local"));
2433 } 2433 }
2434 } 2434 }
2435 2435
2436 SetResult(locations); 2436 SetResult(locations);
2437 SendResponse(true); 2437 SendResponse(true);
2438 } 2438 }
2439 2439
2440 GetDriveFilesFunction::GetDriveFilesFunction() 2440 GetDriveFilesFunction::GetDriveFilesFunction()
2441 : local_paths_(NULL) { 2441 : local_paths_(NULL) {
2442 } 2442 }
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
2509 2509
2510 2510
2511 void GetDriveFilesFunction::OnFileReady( 2511 void GetDriveFilesFunction::OnFileReady(
2512 drive::DriveFileError error, 2512 drive::DriveFileError error,
2513 const FilePath& local_path, 2513 const FilePath& local_path,
2514 const std::string& unused_mime_type, 2514 const std::string& unused_mime_type,
2515 drive::DriveFileType file_type) { 2515 drive::DriveFileType file_type) {
2516 FilePath drive_path = remaining_drive_paths_.front(); 2516 FilePath drive_path = remaining_drive_paths_.front();
2517 2517
2518 if (error == drive::DRIVE_FILE_OK) { 2518 if (error == drive::DRIVE_FILE_OK) {
2519 local_paths_->Append(Value::CreateStringValue(local_path.value())); 2519 local_paths_->Append(new base::StringValue(local_path.value()));
2520 DVLOG(1) << "Got " << drive_path.value() << " as " << local_path.value(); 2520 DVLOG(1) << "Got " << drive_path.value() << " as " << local_path.value();
2521 2521
2522 // TODO(benchan): If the file is a hosted document, a temporary JSON file 2522 // TODO(benchan): If the file is a hosted document, a temporary JSON file
2523 // is created to represent the document. The JSON file is not cached and 2523 // is created to represent the document. The JSON file is not cached and
2524 // should be deleted after use. We need to somehow communicate with 2524 // should be deleted after use. We need to somehow communicate with
2525 // file_manager.js to manage the lifetime of the temporary file. 2525 // file_manager.js to manage the lifetime of the temporary file.
2526 // See crosbug.com/28058. 2526 // See crosbug.com/28058.
2527 } else { 2527 } else {
2528 local_paths_->Append(Value::CreateStringValue("")); 2528 local_paths_->Append(new base::StringValue(""));
2529 DVLOG(1) << "Failed to get " << drive_path.value() 2529 DVLOG(1) << "Failed to get " << drive_path.value()
2530 << " with error code: " << error; 2530 << " with error code: " << error;
2531 } 2531 }
2532 2532
2533 remaining_drive_paths_.pop(); 2533 remaining_drive_paths_.pop();
2534 2534
2535 // Start getting the next file. 2535 // Start getting the next file.
2536 GetFileOrSendResponse(); 2536 GetFileOrSendResponse();
2537 } 2537 }
2538 2538
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after
2890 drive::DriveSystemServiceFactory::GetForProfile(profile_); 2890 drive::DriveSystemServiceFactory::GetForProfile(profile_);
2891 // |system_service| is NULL if Drive is disabled. 2891 // |system_service| is NULL if Drive is disabled.
2892 if (!system_service || !system_service->file_system()) 2892 if (!system_service || !system_service->file_system())
2893 return false; 2893 return false;
2894 2894
2895 FilePath directory_path = GetVirtualPathFromURL(GURL(file_url_as_string)); 2895 FilePath directory_path = GetVirtualPathFromURL(GURL(file_url_as_string));
2896 system_service->file_system()->RequestDirectoryRefresh(directory_path); 2896 system_service->file_system()->RequestDirectoryRefresh(directory_path);
2897 2897
2898 return true; 2898 return true;
2899 } 2899 }
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/extensions/echo_private_api.cc ('k') | chrome/browser/chromeos/extensions/file_handler_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698