Index: chrome/browser/metrics/tab_usage_recorder.h |
diff --git a/chrome/browser/metrics/tab_usage_recorder.h b/chrome/browser/metrics/tab_usage_recorder.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d3eca89ef7bc4095325a7c3ede952b0e4884212a |
--- /dev/null |
+++ b/chrome/browser/metrics/tab_usage_recorder.h |
@@ -0,0 +1,39 @@ |
+// Copyright 2013 The Chromium Authors. All rights reserved. |
Georges Khalil
2016/09/14 16:10:17
nit: 2016.
Patrick Monette
2016/09/16 00:14:00
Done.
|
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_METRICS_TAB_USAGE_RECORDER_H_ |
+#define CHROME_BROWSER_METRICS_TAB_USAGE_RECORDER_H_ |
+ |
+#include <map> |
+#include <memory> |
+ |
+#include "chrome/browser/ui/browser_list_observer.h" |
+ |
+namespace metrics { |
+ |
+// This class is used to record metrics about tab reactivation. Specifically, |
+// it records the number of time a tab is deactivated and reactivated. The |
Georges Khalil
2016/09/14 16:10:17
nit: s/time/times.
Patrick Monette
2016/09/16 00:14:00
Done.
|
+// ratio of both can be calculated for tabs with different properties (e.g. If |
+// the tab is pinned to the tab strip) to see if they are correlated with higher |
+// probability of tab reactivation. |
+class TabUsageRecorder : public chrome::BrowserListObserver { |
+ public: |
+ static void Initialize(); |
+ |
+ TabUsageRecorder(); |
Georges Khalil
2016/09/14 16:10:17
Make this private?
Patrick Monette
2016/09/16 00:14:00
Done.
|
+ ~TabUsageRecorder(); |
Georges Khalil
2016/09/14 16:10:17
Add override.
Patrick Monette
2016/09/16 00:14:00
Done.
|
+ |
+ // chrome::BrowserListObserver: |
+ void OnBrowserAdded(Browser* browser) override; |
+ void OnBrowserRemoved(Browser* browser) override; |
Georges Khalil
2016/09/14 16:10:17
Use BrowserTabStripTracker instead.
Patrick Monette
2016/09/16 00:14:00
Done.
I needed to change the TabStripModelObserve
Georges Khalil
2016/09/16 18:58:35
AFAIK, the tracker should be a drop in replacement
Patrick Monette
2016/09/19 17:47:12
I meant adding a TabStripModel* parameter to the i
|
+ |
+ private: |
+ class TabStripObserver; |
+ |
+ std::map<Browser*, std::unique_ptr<TabStripObserver>> tab_strip_observer_map_; |
Georges Khalil
2016/09/14 16:10:17
Comment this member. I don't see its usefulness, w
Patrick Monette
2016/09/16 00:14:00
No longer applicable as I removed it.
|
+}; |
Georges Khalil
2016/09/14 16:10:17
Disallow copy.
Patrick Monette
2016/09/16 00:14:00
Done.
|
+ |
+} // namespace metrics |
+ |
+#endif // CHROME_BROWSER_METRICS_TAB_USAGE_RECORDER_H_ |