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

Unified Diff: chrome/browser/chromeos/arc/fileapi/arc_file_system_instance_util.cc

Issue 2552223002: Remove explicit singletonness of ArcBridgeService part 2. (Closed)
Patch Set: Address comments Created 4 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/arc/fileapi/arc_content_file_system_file_stream_reader_unittest.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..c2b4deba99e804f1112892774f0a942a41304837 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,22 @@ 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;
+ }
+ return arc_service_manager->arc_bridge_service()
+ ->file_system()
+ ->GetInstanceForMethod(method_name_for_logging, min_version);
+}
+
void OnGetFileSize(const GetFileSizeCallback& callback, int64_t size) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
content::BrowserThread::PostTask(content::BrowserThread::IO, FROM_HERE,
@@ -26,17 +45,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.";
OnGetFileSize(callback, -1);
return;
}
@@ -54,17 +65,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;
}
« no previous file with comments | « chrome/browser/chromeos/arc/fileapi/arc_content_file_system_file_stream_reader_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698