From 251bb226ba998ce3b25f7a10116600d124c57a69 Mon Sep 17 00:00:00 2001 From: "dfalcantara@chromium.org" Date: Fri, 3 Oct 2014 10:44:20 -0700 Subject: [PATCH] [DevTools] Address crash by checking if Tab loaded successfully * Changes Tab::LoadIfNeeded()/Tab.loadIfNeeded() to return true if the call was "handled" and false if it failed. * DevTools checks if LoadIfNeeded() fails, and bails out if it does. BUG=403592 Committed: https://crrev.com/b90614c44a566be2ed618df1e036cd441538c6ef Cr-Commit-Position: refs/heads/master@{#297482} R=dtrainor@chromium.org Review URL: https://codereview.chromium.org/618513002 Cr-Commit-Position: refs/branch-heads/2171@{#42} Cr-Branched-From: 267aeeb8d85c8503a7fd12bd14654b8ea78d3974-refs/heads/master@{#297060} --- chrome/android/java/src/org/chromium/chrome/browser/Tab.java | 2 +- chrome/browser/android/dev_tools_manager_delegate_android.cc | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/chrome/android/java/src/org/chromium/chrome/browser/Tab.java b/chrome/android/java/src/org/chromium/chrome/browser/Tab.java index 648d6446e166b..e2eb139ef4ac7 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/Tab.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/Tab.java @@ -934,7 +934,7 @@ public Bitmap getFavicon() { /** * Loads the tab if it's not loaded (e.g. because it was killed in background). - * @return true iff tab load was triggered + * @return true iff the Tab handled the request. */ @CalledByNative public boolean loadIfNeeded() { diff --git a/chrome/browser/android/dev_tools_manager_delegate_android.cc b/chrome/browser/android/dev_tools_manager_delegate_android.cc index 2754946b111ee..d4f6631e9aef6 100644 --- a/chrome/browser/android/dev_tools_manager_delegate_android.cc +++ b/chrome/browser/android/dev_tools_manager_delegate_android.cc @@ -140,7 +140,9 @@ class TabTarget : public TargetBase { if (!tab) return NULL; - tab->LoadIfNeeded(); + if (!tab->LoadIfNeeded()) + return NULL; + web_contents = model->GetWebContentsAt(index); if (!web_contents) return NULL;