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

Unified Diff: chrome/browser/chromeos/file_manager/arc_file_tasks.cc

Issue 2614173002: Use ARC_GET_INSTANCE_FOR_METHOD for getting intent_helper instance (Closed)
Patch Set: address comment Created 3 years, 11 months 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
Index: chrome/browser/chromeos/file_manager/arc_file_tasks.cc
diff --git a/chrome/browser/chromeos/file_manager/arc_file_tasks.cc b/chrome/browser/chromeos/file_manager/arc_file_tasks.cc
index e2427aeb4724c061b2c54973fd735698b5ff25df..6ab612eed2f2ca0724442fae3bd4d92b61986503 100644
--- a/chrome/browser/chromeos/file_manager/arc_file_tasks.cc
+++ b/chrome/browser/chromeos/file_manager/arc_file_tasks.cc
@@ -33,26 +33,8 @@ namespace file_tasks {
namespace {
-constexpr int kArcIntentHelperVersionWithUrlListSupport = 4;
-constexpr int kArcIntentHelperVersionWithFullActivityName = 5;
-
constexpr char kAppIdSeparator = '/';
-// Returns the Mojo interface for ARC Intent Helper, with version |minVersion|
-// or above. If the ARC bridge is not established, returns null.
-arc::mojom::IntentHelperInstance* GetArcIntentHelper(
- Profile* profile,
- const std::string& method_name_for_logging,
- uint32_t min_version) {
- DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
-
- // File manager in secondary profile cannot access ARC.
- if (!chromeos::ProfileHelper::IsPrimaryProfile(profile))
- return nullptr;
- return arc::ArcIntentHelperBridge::GetIntentHelperInstance(
- method_name_for_logging, min_version);
-}
-
// Returns the icon loader that wraps the Mojo interface for ARC Intent Helper.
scoped_refptr<arc::ActivityIconLoader> GetArcActivityIconLoader() {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
@@ -189,9 +171,16 @@ void FindArcTasks(Profile* profile,
const FindTasksCallback& callback) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
- arc::mojom::IntentHelperInstance* arc_intent_helper =
- GetArcIntentHelper(profile, "RequestUrlListHandlerList",
- kArcIntentHelperVersionWithUrlListSupport);
+ arc::mojom::IntentHelperInstance* arc_intent_helper = nullptr;
+ // File manager in secondary profile cannot access ARC.
+ if (chromeos::ProfileHelper::IsPrimaryProfile(profile)) {
+ auto* arc_service_manager = arc::ArcServiceManager::Get();
+ if (arc_service_manager) {
+ arc_intent_helper = ARC_GET_INSTANCE_FOR_METHOD(
+ arc_service_manager->arc_bridge_service()->intent_helper(),
+ RequestUrlListHandlerList);
+ }
+ }
if (!arc_intent_helper) {
callback.Run(std::move(result_list));
return;
@@ -228,9 +217,16 @@ bool ExecuteArcTask(Profile* profile,
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
DCHECK_EQ(file_urls.size(), mime_types.size());
- arc::mojom::IntentHelperInstance* const arc_intent_helper =
- GetArcIntentHelper(profile, "HandleUrlList",
- kArcIntentHelperVersionWithFullActivityName);
+ arc::mojom::IntentHelperInstance* arc_intent_helper = nullptr;
+ // File manager in secondary profile cannot access ARC.
+ if (chromeos::ProfileHelper::IsPrimaryProfile(profile)) {
+ auto* arc_service_manager = arc::ArcServiceManager::Get();
+ if (arc_service_manager) {
+ arc_intent_helper = ARC_GET_INSTANCE_FOR_METHOD(
+ arc_service_manager->arc_bridge_service()->intent_helper(),
+ HandleUrlList);
+ }
+ }
if (!arc_intent_helper)
return false;

Powered by Google App Engine
This is Rietveld 408576698