| Index: chrome/browser/ui/android/external_protocol_dialog_android.cc
|
| diff --git a/chrome/browser/ui/android/external_protocol_dialog_android.cc b/chrome/browser/ui/android/external_protocol_dialog_android.cc
|
| index b47057b8a4abddc7ca43d1f5404b7aebefa43b4f..a39764e22f1bf8c6729efe8519fdb229cdfef24f 100644
|
| --- a/chrome/browser/ui/android/external_protocol_dialog_android.cc
|
| +++ b/chrome/browser/ui/android/external_protocol_dialog_android.cc
|
| @@ -3,10 +3,21 @@
|
| // found in the LICENSE file.
|
|
|
| #include "base/logging.h"
|
| +#include "chrome/browser/android/tab_android.h"
|
| #include "chrome/browser/external_protocol/external_protocol_handler.h"
|
| +#include "chrome/browser/tab_contents/tab_util.h"
|
| +#include "content/public/browser/web_contents.h"
|
| +
|
| +using content::WebContents;
|
|
|
| // static
|
| void ExternalProtocolHandler::RunExternalProtocolDialog(
|
| const GURL& url, int render_process_host_id, int routing_id) {
|
| - NOTIMPLEMENTED() << "TODO(mkosiba): Upstream the actual implementation.";
|
| + WebContents* web_contents = tab_util::GetWebContentsByID(
|
| + render_process_host_id, routing_id);
|
| + if (web_contents) {
|
| + TabAndroid* tab = TabAndroid::FromWebContents(web_contents);
|
| + if (tab)
|
| + return tab->RunExternalProtocolDialog(url);
|
| + }
|
| }
|
|
|