Index: chrome/browser/chromeos/arc/intent_helper/arc_navigation_throttle.cc |
diff --git a/chrome/browser/chromeos/arc/intent_helper/arc_navigation_throttle.cc b/chrome/browser/chromeos/arc/intent_helper/arc_navigation_throttle.cc |
index 37683d8702f355970cf9a07df527d125da0f0100..e009095994cc86f4b8d982079104ba81c4b53592 100644 |
--- a/chrome/browser/chromeos/arc/intent_helper/arc_navigation_throttle.cc |
+++ b/chrome/browser/chromeos/arc/intent_helper/arc_navigation_throttle.cc |
@@ -27,10 +27,6 @@ namespace arc { |
namespace { |
-constexpr uint32_t kMinVersionForHandleUrl = 2; |
-constexpr uint32_t kMinVersionForRequestUrlHandlerList = 2; |
-constexpr uint32_t kMinVersionForAddPreferredPackage = 7; |
- |
scoped_refptr<ActivityIconLoader> GetIconLoader() { |
DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
ArcServiceManager* arc_service_manager = ArcServiceManager::Get(); |
@@ -182,7 +178,9 @@ ArcNavigationThrottle::HandleRequest() { |
return content::NavigationThrottle::PROCEED; |
ArcServiceManager* arc_service_manager = ArcServiceManager::Get(); |
- DCHECK(arc_service_manager); |
+ if (!arc_service_manager) |
+ return content::NavigationThrottle::PROCEED; |
+ |
scoped_refptr<LocalActivityResolver> local_resolver = |
arc_service_manager->activity_resolver(); |
if (local_resolver->ShouldChromeHandleUrl(url)) { |
@@ -191,8 +189,9 @@ ArcNavigationThrottle::HandleRequest() { |
return content::NavigationThrottle::PROCEED; |
} |
- auto* instance = ArcIntentHelperBridge::GetIntentHelperInstance( |
- "RequestUrlHandlerList", kMinVersionForRequestUrlHandlerList); |
+ auto* instance = ARC_GET_INSTANCE_FOR_METHOD( |
+ arc_service_manager->arc_bridge_service()->intent_helper(), |
+ RequestUrlHandlerList); |
if (!instance) |
return content::NavigationThrottle::PROCEED; |
instance->RequestUrlHandlerList( |
@@ -296,8 +295,13 @@ void ArcNavigationThrottle::OnIntentPickerClosed( |
previous_user_action_ = close_reason; |
// Make sure that the instance at least supports HandleUrl. |
- auto* instance = ArcIntentHelperBridge::GetIntentHelperInstance( |
- "HandleUrl", kMinVersionForHandleUrl); |
+ auto* arc_service_manager = ArcServiceManager::Get(); |
+ mojom::IntentHelperInstance* instance = nullptr; |
+ if (arc_service_manager) { |
+ instance = ARC_GET_INSTANCE_FOR_METHOD( |
+ arc_service_manager->arc_bridge_service()->intent_helper(), HandleUrl); |
+ } |
+ |
// Since we are selecting an app by its package name, we need to locate it |
// on the |handlers| structure before sending the IPC to ARC. |
const size_t selected_app_index = GetAppIndex(handlers, selected_app_package); |
@@ -323,8 +327,10 @@ void ArcNavigationThrottle::OnIntentPickerClosed( |
case CloseReason::ALWAYS_PRESSED: { |
// Call AddPreferredPackage if it is supported. Reusing the same |
// |instance| is okay. |
- if (ArcIntentHelperBridge::GetIntentHelperInstance( |
- "AddPreferredPackage", kMinVersionForAddPreferredPackage)) { |
+ DCHECK(arc_service_manager); |
+ if (ARC_GET_INSTANCE_FOR_METHOD( |
+ arc_service_manager->arc_bridge_service()->intent_helper(), |
+ AddPreferredPackage)) { |
instance->AddPreferredPackage( |
handlers[selected_app_index]->package_name); |
} |