| OLD | NEW |
| 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 <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/base64.h" | 9 #include "base/base64.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 569 task->SetString("iconUrl", icon.spec()); | 569 task->SetString("iconUrl", icon.spec()); |
| 570 result_list->Append(task); | 570 result_list->Append(task); |
| 571 } | 571 } |
| 572 | 572 |
| 573 // TODO(zelidrag, serya): Add intent content tasks to result_list once we | 573 // TODO(zelidrag, serya): Add intent content tasks to result_list once we |
| 574 // implement that API. | 574 // implement that API. |
| 575 SendResponse(true); | 575 SendResponse(true); |
| 576 return true; | 576 return true; |
| 577 } | 577 } |
| 578 | 578 |
| 579 class ExecuteTasksFileBrowserFunction::Executor: public FileTaskExecutor { | 579 class ExecuteTasksFileBrowserFunction::Executor : public FileTaskExecutor { |
| 580 public: | 580 public: |
| 581 Executor(Profile* profile, | 581 Executor(Profile* profile, |
| 582 const GURL& source_url, | 582 const GURL& source_url, |
| 583 const std::string& extension_id, | 583 const std::string& extension_id, |
| 584 const std::string& action_id, | 584 const std::string& action_id, |
| 585 ExecuteTasksFileBrowserFunction* function) | 585 ExecuteTasksFileBrowserFunction* function) |
| 586 : FileTaskExecutor(profile, source_url, extension_id, action_id), | 586 : FileTaskExecutor(profile, source_url, extension_id, action_id), |
| 587 function_(function) | 587 function_(function) { |
| 588 {} | 588 } |
| 589 |
| 590 virtual ~Executor() OVERRIDE { |
| 591 if (function_) |
| 592 function_->OnTaskExecuted(false); |
| 593 } |
| 589 | 594 |
| 590 protected: | 595 protected: |
| 591 // FileTaskExecutor overrides. | 596 // FileTaskExecutor overrides. |
| 592 virtual Browser* browser() { return function_->GetCurrentBrowser(); } | 597 virtual Browser* browser() { return function_->GetCurrentBrowser(); } |
| 593 virtual void Done(bool success) { function_->SendResponse(success); } | 598 virtual void Done(bool success) { |
| 599 function_->OnTaskExecuted(success); |
| 600 // Let's make sure |function_| gets notified only once. |
| 601 function_ = NULL; |
| 602 } |
| 594 | 603 |
| 595 private: | 604 private: |
| 596 scoped_refptr<ExecuteTasksFileBrowserFunction> function_; | 605 scoped_refptr<ExecuteTasksFileBrowserFunction> function_; |
| 597 }; | 606 }; |
| 598 | 607 |
| 599 ExecuteTasksFileBrowserFunction::ExecuteTasksFileBrowserFunction() {} | 608 ExecuteTasksFileBrowserFunction::ExecuteTasksFileBrowserFunction() {} |
| 600 | 609 |
| 601 ExecuteTasksFileBrowserFunction::~ExecuteTasksFileBrowserFunction() {} | 610 ExecuteTasksFileBrowserFunction::~ExecuteTasksFileBrowserFunction() {} |
| 602 | 611 |
| 603 bool ExecuteTasksFileBrowserFunction::RunImpl() { | 612 bool ExecuteTasksFileBrowserFunction::RunImpl() { |
| (...skipping 26 matching lines...) Expand all Loading... |
| 630 std::string origin_file_url; | 639 std::string origin_file_url; |
| 631 if (!files_list->GetString(i, &origin_file_url)) { | 640 if (!files_list->GetString(i, &origin_file_url)) { |
| 632 error_ = kInvalidFileUrl; | 641 error_ = kInvalidFileUrl; |
| 633 return false; | 642 return false; |
| 634 } | 643 } |
| 635 file_urls.push_back(GURL(origin_file_url)); | 644 file_urls.push_back(GURL(origin_file_url)); |
| 636 } | 645 } |
| 637 | 646 |
| 638 scoped_refptr<Executor> executor = | 647 scoped_refptr<Executor> executor = |
| 639 new Executor(profile(), source_url(), extension_id, action_id, this); | 648 new Executor(profile(), source_url(), extension_id, action_id, this); |
| 649 |
| 640 if (!executor->Execute(file_urls)) | 650 if (!executor->Execute(file_urls)) |
| 641 return false; | 651 return false; |
| 642 | 652 |
| 643 result_.reset(new base::FundamentalValue(true)); | 653 result_.reset(new base::FundamentalValue(true)); |
| 644 return true; | 654 return true; |
| 645 } | 655 } |
| 646 | 656 |
| 657 void ExecuteTasksFileBrowserFunction::OnTaskExecuted(bool success) { |
| 658 SendResponse(success); |
| 659 } |
| 660 |
| 647 FileBrowserFunction::FileBrowserFunction() { | 661 FileBrowserFunction::FileBrowserFunction() { |
| 648 } | 662 } |
| 649 | 663 |
| 650 FileBrowserFunction::~FileBrowserFunction() { | 664 FileBrowserFunction::~FileBrowserFunction() { |
| 651 } | 665 } |
| 652 | 666 |
| 653 int32 FileBrowserFunction::GetTabId() const { | 667 int32 FileBrowserFunction::GetTabId() const { |
| 654 if (!dispatcher()) { | 668 if (!dispatcher()) { |
| 655 LOG(WARNING) << "No dispatcher"; | 669 LOG(WARNING) << "No dispatcher"; |
| 656 return 0; | 670 return 0; |
| (...skipping 1315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1972 if (value->GetBoolean("cellularDisabled", &tmp)) { | 1986 if (value->GetBoolean("cellularDisabled", &tmp)) { |
| 1973 service->SetBoolean(prefs::kDisableGDataOverCellular, tmp); | 1987 service->SetBoolean(prefs::kDisableGDataOverCellular, tmp); |
| 1974 } | 1988 } |
| 1975 | 1989 |
| 1976 if (value->GetBoolean("hostedFilesDisabled", &tmp)) { | 1990 if (value->GetBoolean("hostedFilesDisabled", &tmp)) { |
| 1977 service->SetBoolean(prefs::kDisableGDataHostedFiles, tmp); | 1991 service->SetBoolean(prefs::kDisableGDataHostedFiles, tmp); |
| 1978 } | 1992 } |
| 1979 | 1993 |
| 1980 return true; | 1994 return true; |
| 1981 } | 1995 } |
| OLD | NEW |