| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_manager/private_api_file_syste
m.h" | 5 #include "chrome/browser/chromeos/extensions/file_manager/private_api_file_syste
m.h" |
| 6 | 6 |
| 7 #include <sys/statvfs.h> | 7 #include <sys/statvfs.h> |
| 8 | 8 |
| 9 #include "base/posix/eintr_wrapper.h" | 9 #include "base/posix/eintr_wrapper.h" |
| 10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 251 for (size_t i = 0; i < profiles.size(); ++i) { | 251 for (size_t i = 0; i < profiles.size(); ++i) { |
| 252 if (!profiles[i]->IsOffTheRecord()) { | 252 if (!profiles[i]->IsOffTheRecord()) { |
| 253 file_manager::util::SetupProfileFileAccessPermissions(child_id, | 253 file_manager::util::SetupProfileFileAccessPermissions(child_id, |
| 254 profiles[i]); | 254 profiles[i]); |
| 255 } | 255 } |
| 256 } | 256 } |
| 257 | 257 |
| 258 return true; | 258 return true; |
| 259 } | 259 } |
| 260 | 260 |
| 261 bool FileBrowserPrivateRequestFileSystemFunction::RunImpl() { | 261 bool FileBrowserPrivateRequestFileSystemFunction::RunAsync() { |
| 262 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 262 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 263 using extensions::api::file_browser_private::RequestFileSystem::Params; | 263 using extensions::api::file_browser_private::RequestFileSystem::Params; |
| 264 const scoped_ptr<Params> params(Params::Create(*args_)); | 264 const scoped_ptr<Params> params(Params::Create(*args_)); |
| 265 EXTENSION_FUNCTION_VALIDATE(params); | 265 EXTENSION_FUNCTION_VALIDATE(params); |
| 266 | 266 |
| 267 if (!dispatcher() || !render_view_host() || !render_view_host()->GetProcess()) | 267 if (!dispatcher() || !render_view_host() || !render_view_host()->GetProcess()) |
| 268 return false; | 268 return false; |
| 269 | 269 |
| 270 set_log_on_completion(true); | 270 set_log_on_completion(true); |
| 271 | 271 |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 333 SendResponse(true); | 333 SendResponse(true); |
| 334 } | 334 } |
| 335 | 335 |
| 336 void FileWatchFunctionBase::Respond(bool success) { | 336 void FileWatchFunctionBase::Respond(bool success) { |
| 337 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 337 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 338 | 338 |
| 339 SetResult(base::Value::CreateBooleanValue(success)); | 339 SetResult(base::Value::CreateBooleanValue(success)); |
| 340 SendResponse(success); | 340 SendResponse(success); |
| 341 } | 341 } |
| 342 | 342 |
| 343 bool FileWatchFunctionBase::RunImpl() { | 343 bool FileWatchFunctionBase::RunAsync() { |
| 344 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 344 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 345 | 345 |
| 346 if (!render_view_host() || !render_view_host()->GetProcess()) | 346 if (!render_view_host() || !render_view_host()->GetProcess()) |
| 347 return false; | 347 return false; |
| 348 | 348 |
| 349 // First param is url of a file to watch. | 349 // First param is url of a file to watch. |
| 350 std::string url; | 350 std::string url; |
| 351 if (!args_->GetString(0, &url) || url.empty()) | 351 if (!args_->GetString(0, &url) || url.empty()) |
| 352 return false; | 352 return false; |
| 353 | 353 |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 387 const base::FilePath& unused, | 387 const base::FilePath& unused, |
| 388 const std::string& extension_id) { | 388 const std::string& extension_id) { |
| 389 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 389 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 390 | 390 |
| 391 file_manager::EventRouter* event_router = | 391 file_manager::EventRouter* event_router = |
| 392 file_manager::FileBrowserPrivateAPI::Get(GetProfile())->event_router(); | 392 file_manager::FileBrowserPrivateAPI::Get(GetProfile())->event_router(); |
| 393 event_router->RemoveFileWatch(local_path, extension_id); | 393 event_router->RemoveFileWatch(local_path, extension_id); |
| 394 Respond(true); | 394 Respond(true); |
| 395 } | 395 } |
| 396 | 396 |
| 397 bool FileBrowserPrivateGetSizeStatsFunction::RunImpl() { | 397 bool FileBrowserPrivateGetSizeStatsFunction::RunAsync() { |
| 398 using extensions::api::file_browser_private::GetSizeStats::Params; | 398 using extensions::api::file_browser_private::GetSizeStats::Params; |
| 399 const scoped_ptr<Params> params(Params::Create(*args_)); | 399 const scoped_ptr<Params> params(Params::Create(*args_)); |
| 400 EXTENSION_FUNCTION_VALIDATE(params); | 400 EXTENSION_FUNCTION_VALIDATE(params); |
| 401 | 401 |
| 402 using file_manager::VolumeManager; | 402 using file_manager::VolumeManager; |
| 403 using file_manager::VolumeInfo; | 403 using file_manager::VolumeInfo; |
| 404 VolumeManager* volume_manager = VolumeManager::Get(GetProfile()); | 404 VolumeManager* volume_manager = VolumeManager::Get(GetProfile()); |
| 405 if (!volume_manager) | 405 if (!volume_manager) |
| 406 return false; | 406 return false; |
| 407 | 407 |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 462 const uint64* remaining_size) { | 462 const uint64* remaining_size) { |
| 463 base::DictionaryValue* sizes = new base::DictionaryValue(); | 463 base::DictionaryValue* sizes = new base::DictionaryValue(); |
| 464 SetResult(sizes); | 464 SetResult(sizes); |
| 465 | 465 |
| 466 sizes->SetDouble("totalSize", static_cast<double>(*total_size)); | 466 sizes->SetDouble("totalSize", static_cast<double>(*total_size)); |
| 467 sizes->SetDouble("remainingSize", static_cast<double>(*remaining_size)); | 467 sizes->SetDouble("remainingSize", static_cast<double>(*remaining_size)); |
| 468 | 468 |
| 469 SendResponse(true); | 469 SendResponse(true); |
| 470 } | 470 } |
| 471 | 471 |
| 472 bool FileBrowserPrivateValidatePathNameLengthFunction::RunImpl() { | 472 bool FileBrowserPrivateValidatePathNameLengthFunction::RunAsync() { |
| 473 using extensions::api::file_browser_private::ValidatePathNameLength::Params; | 473 using extensions::api::file_browser_private::ValidatePathNameLength::Params; |
| 474 const scoped_ptr<Params> params(Params::Create(*args_)); | 474 const scoped_ptr<Params> params(Params::Create(*args_)); |
| 475 EXTENSION_FUNCTION_VALIDATE(params); | 475 EXTENSION_FUNCTION_VALIDATE(params); |
| 476 | 476 |
| 477 scoped_refptr<fileapi::FileSystemContext> file_system_context = | 477 scoped_refptr<fileapi::FileSystemContext> file_system_context = |
| 478 file_manager::util::GetFileSystemContextForRenderViewHost( | 478 file_manager::util::GetFileSystemContextForRenderViewHost( |
| 479 GetProfile(), render_view_host()); | 479 GetProfile(), render_view_host()); |
| 480 | 480 |
| 481 fileapi::FileSystemURL filesystem_url( | 481 fileapi::FileSystemURL filesystem_url( |
| 482 file_system_context->CrackURL(GURL(params->parent_directory_url))); | 482 file_system_context->CrackURL(GURL(params->parent_directory_url))); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 501 return true; | 501 return true; |
| 502 } | 502 } |
| 503 | 503 |
| 504 void FileBrowserPrivateValidatePathNameLengthFunction::OnFilePathLimitRetrieved( | 504 void FileBrowserPrivateValidatePathNameLengthFunction::OnFilePathLimitRetrieved( |
| 505 size_t current_length, | 505 size_t current_length, |
| 506 size_t max_length) { | 506 size_t max_length) { |
| 507 SetResult(new base::FundamentalValue(current_length <= max_length)); | 507 SetResult(new base::FundamentalValue(current_length <= max_length)); |
| 508 SendResponse(true); | 508 SendResponse(true); |
| 509 } | 509 } |
| 510 | 510 |
| 511 bool FileBrowserPrivateFormatVolumeFunction::RunImpl() { | 511 bool FileBrowserPrivateFormatVolumeFunction::RunAsync() { |
| 512 using extensions::api::file_browser_private::FormatVolume::Params; | 512 using extensions::api::file_browser_private::FormatVolume::Params; |
| 513 const scoped_ptr<Params> params(Params::Create(*args_)); | 513 const scoped_ptr<Params> params(Params::Create(*args_)); |
| 514 EXTENSION_FUNCTION_VALIDATE(params); | 514 EXTENSION_FUNCTION_VALIDATE(params); |
| 515 | 515 |
| 516 using file_manager::VolumeManager; | 516 using file_manager::VolumeManager; |
| 517 using file_manager::VolumeInfo; | 517 using file_manager::VolumeInfo; |
| 518 VolumeManager* volume_manager = VolumeManager::Get(GetProfile()); | 518 VolumeManager* volume_manager = VolumeManager::Get(GetProfile()); |
| 519 if (!volume_manager) | 519 if (!volume_manager) |
| 520 return false; | 520 return false; |
| 521 | 521 |
| 522 VolumeInfo volume_info; | 522 VolumeInfo volume_info; |
| 523 if (!volume_manager->FindVolumeInfoById(params->volume_id, &volume_info)) | 523 if (!volume_manager->FindVolumeInfoById(params->volume_id, &volume_info)) |
| 524 return false; | 524 return false; |
| 525 | 525 |
| 526 DiskMountManager::GetInstance()->FormatMountedDevice( | 526 DiskMountManager::GetInstance()->FormatMountedDevice( |
| 527 volume_info.mount_path.AsUTF8Unsafe()); | 527 volume_info.mount_path.AsUTF8Unsafe()); |
| 528 SendResponse(true); | 528 SendResponse(true); |
| 529 return true; | 529 return true; |
| 530 } | 530 } |
| 531 | 531 |
| 532 bool FileBrowserPrivateStartCopyFunction::RunImpl() { | 532 bool FileBrowserPrivateStartCopyFunction::RunAsync() { |
| 533 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 533 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 534 | 534 |
| 535 using extensions::api::file_browser_private::StartCopy::Params; | 535 using extensions::api::file_browser_private::StartCopy::Params; |
| 536 const scoped_ptr<Params> params(Params::Create(*args_)); | 536 const scoped_ptr<Params> params(Params::Create(*args_)); |
| 537 EXTENSION_FUNCTION_VALIDATE(params); | 537 EXTENSION_FUNCTION_VALIDATE(params); |
| 538 | 538 |
| 539 if (params->source_url.empty() || params->parent.empty() || | 539 if (params->source_url.empty() || params->parent.empty() || |
| 540 params->new_name.empty()) { | 540 params->new_name.empty()) { |
| 541 // Error code in format of DOMError.name. | 541 // Error code in format of DOMError.name. |
| 542 SetError("EncodingError"); | 542 SetError("EncodingError"); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 571 } | 571 } |
| 572 | 572 |
| 573 void FileBrowserPrivateStartCopyFunction::RunAfterStartCopy( | 573 void FileBrowserPrivateStartCopyFunction::RunAfterStartCopy( |
| 574 int operation_id) { | 574 int operation_id) { |
| 575 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 575 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 576 | 576 |
| 577 SetResult(base::Value::CreateIntegerValue(operation_id)); | 577 SetResult(base::Value::CreateIntegerValue(operation_id)); |
| 578 SendResponse(true); | 578 SendResponse(true); |
| 579 } | 579 } |
| 580 | 580 |
| 581 bool FileBrowserPrivateCancelCopyFunction::RunImpl() { | 581 bool FileBrowserPrivateCancelCopyFunction::RunAsync() { |
| 582 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 582 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 583 | 583 |
| 584 using extensions::api::file_browser_private::CancelCopy::Params; | 584 using extensions::api::file_browser_private::CancelCopy::Params; |
| 585 const scoped_ptr<Params> params(Params::Create(*args_)); | 585 const scoped_ptr<Params> params(Params::Create(*args_)); |
| 586 EXTENSION_FUNCTION_VALIDATE(params); | 586 EXTENSION_FUNCTION_VALIDATE(params); |
| 587 | 587 |
| 588 scoped_refptr<fileapi::FileSystemContext> file_system_context = | 588 scoped_refptr<fileapi::FileSystemContext> file_system_context = |
| 589 file_manager::util::GetFileSystemContextForRenderViewHost( | 589 file_manager::util::GetFileSystemContextForRenderViewHost( |
| 590 GetProfile(), render_view_host()); | 590 GetProfile(), render_view_host()); |
| 591 | 591 |
| 592 // We don't much take care about the result of cancellation. | 592 // We don't much take care about the result of cancellation. |
| 593 BrowserThread::PostTask( | 593 BrowserThread::PostTask( |
| 594 BrowserThread::IO, | 594 BrowserThread::IO, |
| 595 FROM_HERE, | 595 FROM_HERE, |
| 596 base::Bind(&CancelCopyOnIOThread, file_system_context, params->copy_id)); | 596 base::Bind(&CancelCopyOnIOThread, file_system_context, params->copy_id)); |
| 597 SendResponse(true); | 597 SendResponse(true); |
| 598 return true; | 598 return true; |
| 599 } | 599 } |
| 600 | 600 |
| 601 } // namespace extensions | 601 } // namespace extensions |
| OLD | NEW |