Chromium Code Reviews| Index: chrome/browser/chromeos/arc/fileapi/arc_file_system_instance_util.cc |
| diff --git a/chrome/browser/chromeos/arc/fileapi/arc_file_system_instance_util.cc b/chrome/browser/chromeos/arc/fileapi/arc_file_system_instance_util.cc |
| index ca461d364a3cb1dd471b5cb56e376421a24b8dc1..ec056271802925b9fba3f5931faf68023f9df68d 100644 |
| --- a/chrome/browser/chromeos/arc/fileapi/arc_file_system_instance_util.cc |
| +++ b/chrome/browser/chromeos/arc/fileapi/arc_file_system_instance_util.cc |
| @@ -4,7 +4,10 @@ |
| #include "chrome/browser/chromeos/arc/fileapi/arc_file_system_instance_util.h" |
| +#include <string> |
| + |
| #include "components/arc/arc_bridge_service.h" |
| +#include "components/arc/arc_service_manager.h" |
| #include "content/public/browser/browser_thread.h" |
| #include "url/gurl.h" |
| @@ -17,6 +20,25 @@ namespace { |
| constexpr uint32_t kGetFileSizeVersion = 1; |
| constexpr uint32_t kOpenFileToReadVersion = 1; |
| +// Returns FileSystemInstance for the given |min_version|, if found. |
| +// Otherwise, nullptr. |
| +mojom::FileSystemInstance* GetFileSystemInstance( |
| + const std::string& method_name_for_logging, |
| + uint32_t min_version) { |
| + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| + auto* arc_service_manager = arc::ArcServiceManager::Get(); |
| + if (!arc_service_manager) { |
| + LOG(ERROR) << "Failed to get ArcServiceManager."; |
| + return nullptr; |
| + } |
| + mojom::FileSystemInstance* file_system = |
| + arc_service_manager->arc_bridge_service() |
| + ->file_system() |
| + ->GetInstanceForMethod(method_name_for_logging, min_version); |
| + LOG_IF(ERROR, !file_system) << "Failed to get FileSystemInstance."; |
|
Luis Héctor Chávez
2016/12/06 18:44:49
GetInstanceForMethod already logs on failure. Remo
hidehiko
2016/12/06 18:59:50
Oh, right! Done.
|
| + return file_system; |
| +} |
| + |
| void OnGetFileSize(const GetFileSizeCallback& callback, int64_t size) { |
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| content::BrowserThread::PostTask(content::BrowserThread::IO, FROM_HERE, |
| @@ -26,17 +48,9 @@ void OnGetFileSize(const GetFileSizeCallback& callback, int64_t size) { |
| void GetFileSizeOnUIThread(const GURL& arc_url, |
| const GetFileSizeCallback& callback) { |
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| - auto* arc_bridge_service = arc::ArcBridgeService::Get(); |
| - if (!arc_bridge_service) { |
| - LOG(ERROR) << "Failed to get ArcBridgeService."; |
| - OnGetFileSize(callback, -1); |
| - return; |
| - } |
| - mojom::FileSystemInstance* file_system_instance = |
| - arc_bridge_service->file_system()->GetInstanceForMethod( |
| - "GetFileSize", kGetFileSizeVersion); |
| + auto* file_system_instance = |
| + GetFileSystemInstance("GetFileSize", kGetFileSizeVersion); |
| if (!file_system_instance) { |
| - LOG(ERROR) << "Failed to get FileSystemInstance."; |
|
Luis Héctor Chávez
2016/12/06 18:44:49
Ah I see where the log came from.
|
| OnGetFileSize(callback, -1); |
| return; |
| } |
| @@ -54,17 +68,9 @@ void OnOpenFileToRead(const OpenFileToReadCallback& callback, |
| void OpenFileToReadOnUIThread(const GURL& arc_url, |
| const OpenFileToReadCallback& callback) { |
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| - auto* arc_bridge_service = arc::ArcBridgeService::Get(); |
| - if (!arc_bridge_service) { |
| - LOG(ERROR) << "Failed to get ArcBridgeService."; |
| - OnOpenFileToRead(callback, mojo::ScopedHandle()); |
| - return; |
| - } |
| - mojom::FileSystemInstance* file_system_instance = |
| - arc_bridge_service->file_system()->GetInstanceForMethod( |
| - "OpenFileToRead", kOpenFileToReadVersion); |
| + auto* file_system_instance = |
| + GetFileSystemInstance("OpenFileToRead", kOpenFileToReadVersion); |
| if (!file_system_instance) { |
| - LOG(ERROR) << "Failed to get FileSystemInstance."; |
| OnOpenFileToRead(callback, mojo::ScopedHandle()); |
| return; |
| } |