Chromium Code Reviews| 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); |
| + } |
| } |
| /** |