Avoid crash when ServiceTabLauncher::OnTabLaunched given bad request_id

The |request_id| given to OnTabLaunched should be in the
tab_launched_callbacks_ set, however it is not always the case. Don't
crash.

R=tedchoc@chromium.org

Bug: 962873
Change-Id: Iaea08c2ff2a41527dacce84e84afa396c04efc65
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1613673
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Commit-Queue: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#660179}
diff --git a/chrome/browser/android/service_tab_launcher.cc b/chrome/browser/android/service_tab_launcher.cc
index 4c39017..0077f25a 100644
--- a/chrome/browser/android/service_tab_launcher.cc
+++ b/chrome/browser/android/service_tab_launcher.cc
@@ -75,7 +75,9 @@
 void ServiceTabLauncher::OnTabLaunched(int request_id,
                                        content::WebContents* web_contents) {
   TabLaunchedCallback* callback = tab_launched_callbacks_.Lookup(request_id);
-  DCHECK(callback);
-  std::move(*callback).Run(web_contents);
+  // TODO(crbug.com/962873): The Lookup() can fail though we don't expect that
+  // it should be able to. It would be nice if this was a DCHECK() instead.
+  if (callback)
+    std::move(*callback).Run(web_contents);
   tab_launched_callbacks_.Remove(request_id);
 }