Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(404)

Unified Diff: chrome/browser/resource_coordinator/tab_manager_unittest.cc

Issue 2962773002: [Tab Metrics] Added TabManager.SessionRestore.SwitchToTab UMA. (Closed)
Patch Set: Addresses histogram.xml comments and adds standard UMA enum warning Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resource_coordinator/tab_manager_unittest.cc
diff --git a/chrome/browser/resource_coordinator/tab_manager_unittest.cc b/chrome/browser/resource_coordinator/tab_manager_unittest.cc
index 238610c99fd9b59476d9d3d0e6fa86bf0d2c2cee..128e305ba67812fcbde5029ecf8900832b452f17 100644
--- a/chrome/browser/resource_coordinator/tab_manager_unittest.cc
+++ b/chrome/browser/resource_coordinator/tab_manager_unittest.cc
@@ -14,6 +14,7 @@
#include "base/memory/ptr_util.h"
#include "base/metrics/field_trial.h"
#include "base/strings/string16.h"
+#include "base/test/histogram_tester.h"
#include "base/test/mock_entropy_provider.h"
#include "base/test/simple_test_tick_clock.h"
#include "base/time/time.h"
@@ -601,4 +602,50 @@ TEST_F(TabManagerTest, OnSessionRestoreStartedAndFinishedLoadingTabs) {
EXPECT_FALSE(tab_manager->IsSessionRestoreLoadingTabs());
}
+TEST_F(TabManagerTest, HistogramsSessionRestoreSwitchToTab) {
+ const char kHistogramName[] = "TabManager.SessionRestore.SwitchToTab";
+
+ TabManager tab_manager;
+ WebContents* tab = CreateWebContents();
+ auto* data = tab_manager.GetWebContentsData(tab);
+
+ base::HistogramTester histograms;
+ histograms.ExpectTotalCount(kHistogramName, 0);
+
+ data->SetTabLoadingState(TAB_IS_LOADING);
+ tab_manager.RecordSwitchToTab(tab);
+ tab_manager.RecordSwitchToTab(tab);
+
+ // Nothing should happen until we're in a session restore
+ histograms.ExpectTotalCount(kHistogramName, 0);
+
+ tab_manager.OnSessionRestoreStartedLoadingTabs();
+
+ data->SetTabLoadingState(TAB_IS_NOT_LOADING);
+ tab_manager.RecordSwitchToTab(tab);
+ tab_manager.RecordSwitchToTab(tab);
+ histograms.ExpectTotalCount(kHistogramName, 2);
+ histograms.ExpectBucketCount(kHistogramName, TAB_IS_NOT_LOADING, 2);
+
+ data->SetTabLoadingState(TAB_IS_LOADING);
+ tab_manager.RecordSwitchToTab(tab);
+ tab_manager.RecordSwitchToTab(tab);
+ tab_manager.RecordSwitchToTab(tab);
+
+ histograms.ExpectTotalCount(kHistogramName, 5);
+ histograms.ExpectBucketCount(kHistogramName, TAB_IS_NOT_LOADING, 2);
+ histograms.ExpectBucketCount(kHistogramName, TAB_IS_LOADING, 3);
+
+ data->SetTabLoadingState(TAB_IS_LOADED);
+ tab_manager.RecordSwitchToTab(tab);
+ tab_manager.RecordSwitchToTab(tab);
+ tab_manager.RecordSwitchToTab(tab);
+ tab_manager.RecordSwitchToTab(tab);
+
+ histograms.ExpectTotalCount(kHistogramName, 9);
+ histograms.ExpectBucketCount(kHistogramName, TAB_IS_NOT_LOADING, 2);
+ histograms.ExpectBucketCount(kHistogramName, TAB_IS_LOADING, 3);
+ histograms.ExpectBucketCount(kHistogramName, TAB_IS_LOADED, 4);
+}
+
} // namespace resource_coordinator

Powered by Google App Engine
This is Rietveld 408576698