 Chromium Code Reviews
 Chromium Code Reviews Issue 1146813010:
  Introduce moderate binding  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 1146813010:
  Introduce moderate binding  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| Index: chrome/android/java_staging/src/org/chromium/chrome/browser/ChromeMobileApplication.java | 
| diff --git a/chrome/android/java_staging/src/org/chromium/chrome/browser/ChromeMobileApplication.java b/chrome/android/java_staging/src/org/chromium/chrome/browser/ChromeMobileApplication.java | 
| index 083cee4cb1f92758af07922bc1282fa64426d363..51b7b0ea320601703497399a614bface87918dd5 100644 | 
| --- a/chrome/android/java_staging/src/org/chromium/chrome/browser/ChromeMobileApplication.java | 
| +++ b/chrome/android/java_staging/src/org/chromium/chrome/browser/ChromeMobileApplication.java | 
| @@ -24,6 +24,7 @@ import org.chromium.base.ResourceExtractor; | 
| import org.chromium.base.ThreadUtils; | 
| import org.chromium.base.VisibleForTesting; | 
| import org.chromium.base.annotations.SuppressFBWarnings; | 
| +import org.chromium.base.metrics.RecordHistogram; | 
| import org.chromium.chrome.browser.accessibility.FontSizePrefs; | 
| import org.chromium.chrome.browser.banners.AppBannerManager; | 
| import org.chromium.chrome.browser.banners.AppDetailsDelegate; | 
| @@ -59,15 +60,18 @@ import org.chromium.chrome.browser.smartcard.EmptyPKCS11AuthenticationManager; | 
| import org.chromium.chrome.browser.smartcard.PKCS11AuthenticationManager; | 
| import org.chromium.chrome.browser.sync.SyncController; | 
| import org.chromium.chrome.browser.tab.AuthenticatorNavigationInterceptor; | 
| +import org.chromium.chrome.browser.tabmodel.TabModelSelector; | 
| import org.chromium.chrome.browser.tabmodel.document.ActivityDelegate; | 
| import org.chromium.chrome.browser.tabmodel.document.DocumentTabModelSelector; | 
| import org.chromium.chrome.browser.tabmodel.document.StorageDelegate; | 
| +import org.chromium.chrome.browser.util.FeatureUtilities; | 
| import org.chromium.content.browser.ChildProcessLauncher; | 
| import org.chromium.content.browser.ContentViewStatics; | 
| import org.chromium.content.browser.DownloadController; | 
| import org.chromium.printing.PrintingController; | 
| import org.chromium.ui.UiUtils; | 
| +import java.lang.ref.WeakReference; | 
| import java.util.Locale; | 
| /** | 
| @@ -396,6 +400,27 @@ public class ChromeMobileApplication extends ChromiumApplication { | 
| ChildProcessLauncher.onSentToBackground(); | 
| IntentHandler.clearPendingReferrer(); | 
| + | 
| + if (FeatureUtilities.isDocumentMode(this)) { | 
| + if (sDocumentTabModelSelector != null) { | 
| + RecordHistogram.recordCountHistogram("Tab.TotalTabCountBeforeLeavingApp", | 
| + sDocumentTabModelSelector.getTotalTabCount()); | 
| + } | 
| + } else { | 
| + int totalTabCount = 0; | 
| + for (WeakReference<Activity> reference : ApplicationStatus.getRunningActivities()) { | 
| + Activity activity = reference.get(); | 
| + if (activity == null) continue; | 
| 
Alexei Svitkine (slow)
2015/06/19 17:17:56
Nit: Not necessarily, since the check below will b
 
Jaekyun Seok (inactive)
2015/06/22 01:48:57
Done.
 | 
| + if (activity instanceof ChromeActivity) { | 
| + TabModelSelector tabModelSelector = | 
| + ((ChromeActivity) activity).getTabModelSelector(); | 
| + totalTabCount += | 
| + tabModelSelector == null ? 0 : tabModelSelector.getTotalTabCount(); | 
| 
Alexei Svitkine (slow)
2015/06/19 17:17:56
Nit: I think it's cleaner for this to be a regular
 
Jaekyun Seok (inactive)
2015/06/22 01:48:56
Done.
 | 
| + } | 
| + } | 
| + RecordHistogram.recordCountHistogram( | 
| + "Tab.TotalTabCountBeforeLeavingApp", totalTabCount); | 
| + } | 
| } | 
| /** |