Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
| index f7b81e33a5ac0d72a474a8eaf8448b36811abc9c..f25719790f9af20ece0a6943bb39b7e6b6f2ecda 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java |
| @@ -44,7 +44,9 @@ import android.view.inputmethod.InputMethodInfo; |
| import android.view.inputmethod.InputMethodManager; |
| import android.view.inputmethod.InputMethodSubtype; |
| +import org.chromium.base.ActivityState; |
| import org.chromium.base.ApiCompatibilityUtils; |
| +import org.chromium.base.ApplicationStatus; |
| import org.chromium.base.BaseSwitches; |
| import org.chromium.base.CommandLine; |
| import org.chromium.base.Log; |
| @@ -552,8 +554,6 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
| public void onStartWithNative() { |
| super.onStartWithNative(); |
| getChromeApplication().onStartWithNative(); |
| - Tab tab = getActivityTab(); |
| - if (tab != null) tab.onActivityStart(); |
| FeatureUtilities.setDocumentModeEnabled(FeatureUtilities.isDocumentMode(this)); |
| WarmupManager.getInstance().clearWebContentsIfNecessary(); |
| @@ -567,6 +567,19 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
| mCompositorViewHolder.resetFlags(); |
| } |
| + @Override |
| + public void onWindowFocusChanged(boolean hasFocus) { |
| + super.onWindowFocusChanged(hasFocus); |
| + Tab tab = getActivityTab(); |
| + if (tab == null) return; |
| + if (hasFocus) { |
| + tab.onActivityShown(); |
| + } else { |
| + boolean stopped = ApplicationStatus.getStateForActivity(this) == ActivityState.STOPPED; |
| + if (stopped) tab.onActivityHidden(); |
| + } |
| + } |
| + |
| /** |
| * Set device status bar to a given color. |
| * @param tab The tab that is currently showing. |
| @@ -628,7 +641,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity |
| @Override |
| public void onStopWithNative() { |
| Tab tab = getActivityTab(); |
| - if (tab != null) tab.onActivityStop(); |
| + if (tab != null && !hasWindowFocus()) tab.onActivityHidden(); |
|
Ted C
2015/11/25 22:44:41
you probably "don't" need the hasWindowFocus() che
|
| if (mAppMenuHandler != null) mAppMenuHandler.hideAppMenu(); |
| if (mGSAServiceClient != null) { |
| mGSAServiceClient.disconnect(); |