| Index: chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
|
| index 22034cb6e799184a9ad511767f22756612be884b..726287a940a76679437870e9a6b0dbc1f85f9524 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
|
| @@ -470,6 +470,7 @@ public class Tab implements ViewGroup.OnHierarchyChangeListener,
|
| @Override
|
| public void rendererUnresponsive() {
|
| super.rendererUnresponsive();
|
| + showHungRendererInfobar();
|
| if (mFullscreenManager == null) return;
|
| mFullscreenHungRendererToken =
|
| mFullscreenManager.showControlsPersistentAndClearOldToken(
|
| @@ -479,6 +480,7 @@ public class Tab implements ViewGroup.OnHierarchyChangeListener,
|
| @Override
|
| public void rendererResponsive() {
|
| super.rendererResponsive();
|
| + clearHungRendererInfobar();
|
| if (mFullscreenManager == null) return;
|
| mFullscreenManager.hideControlsPersistent(mFullscreenHungRendererToken);
|
| mFullscreenHungRendererToken = FullscreenManager.INVALID_TOKEN;
|
| @@ -2785,6 +2787,16 @@ public class Tab implements ViewGroup.OnHierarchyChangeListener,
|
| return mParentIntent;
|
| }
|
|
|
| + private void showHungRendererInfobar() {
|
| + if (mNativeTabAndroid == 0) return;
|
| + nativeShowHungRendererInfoBar(mNativeTabAndroid);
|
| + }
|
| +
|
| + private void clearHungRendererInfobar() {
|
| + if (mNativeTabAndroid == 0) return;
|
| + nativeClearHungRendererInfoBar(mNativeTabAndroid);
|
| + }
|
| +
|
| /**
|
| * Creates a new tab to be loaded lazily. This can be used for tabs opened in the background
|
| * that should be loaded when switched to. initialize() needs to be called afterwards to
|
| @@ -2850,6 +2862,8 @@ public class Tab implements ViewGroup.OnHierarchyChangeListener,
|
| private native void nativeDetachOverlayContentViewCore(long nativeTabAndroid,
|
| ContentViewCore content);
|
| private native boolean nativeHasPrerenderedUrl(long nativeTabAndroid, String url);
|
| + private native void nativeShowHungRendererInfoBar(long nativeTabAndroid);
|
| + private native void nativeClearHungRendererInfoBar(long nativeTabAndroid);
|
|
|
| private static native void nativeRecordStartupToCommitUma();
|
| }
|
|
|