OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_METRICS_CHROME_BROWSER_MAIN_EXTRA_PARTS_METRICS_H_ | 5 #ifndef CHROME_BROWSER_METRICS_CHROME_BROWSER_MAIN_EXTRA_PARTS_METRICS_H_ |
6 #define CHROME_BROWSER_METRICS_CHROME_BROWSER_MAIN_EXTRA_PARTS_METRICS_H_ | 6 #define CHROME_BROWSER_METRICS_CHROME_BROWSER_MAIN_EXTRA_PARTS_METRICS_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
11 | 11 |
12 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
13 #include "base/macros.h" | 13 #include "base/macros.h" |
14 #include "build/build_config.h" | 14 #include "build/build_config.h" |
15 #include "chrome/browser/chrome_browser_main_extra_parts.h" | 15 #include "chrome/browser/chrome_browser_main_extra_parts.h" |
| 16 #include "chrome/browser/ui/tabs/tab_strip_model_observer.h" |
16 #include "ui/display/display_observer.h" | 17 #include "ui/display/display_observer.h" |
17 | 18 |
18 class ChromeBrowserMainParts; | 19 class ChromeBrowserMainParts; |
19 | 20 |
20 namespace chrome { | 21 namespace chrome { |
21 void AddMetricsExtraParts(ChromeBrowserMainParts* main_parts); | 22 void AddMetricsExtraParts(ChromeBrowserMainParts* main_parts); |
22 } | 23 } |
23 | 24 |
24 namespace ui { | 25 namespace ui { |
25 class InputDeviceEventObserver; | 26 class InputDeviceEventObserver; |
26 } // namespace ui | 27 } // namespace ui |
27 | 28 |
28 class ChromeBrowserMainExtraPartsMetrics : public ChromeBrowserMainExtraParts, | 29 class ChromeBrowserMainExtraPartsMetrics : public ChromeBrowserMainExtraParts, |
29 public display::DisplayObserver { | 30 public display::DisplayObserver, |
| 31 public TabStripModelObserver { |
30 public: | 32 public: |
31 ChromeBrowserMainExtraPartsMetrics(); | 33 ChromeBrowserMainExtraPartsMetrics(); |
32 ~ChromeBrowserMainExtraPartsMetrics() override; | 34 ~ChromeBrowserMainExtraPartsMetrics() override; |
33 | 35 |
34 // Overridden from ChromeBrowserMainExtraParts: | 36 // Overridden from ChromeBrowserMainExtraParts: |
35 void PreProfileInit() override; | 37 void PreProfileInit() override; |
36 void PreBrowserStart() override; | 38 void PreBrowserStart() override; |
37 void PostBrowserStart() override; | 39 void PostBrowserStart() override; |
38 | 40 |
| 41 // Overridden from TabStripModelObserver: |
| 42 void TabInsertedAt(TabStripModel* tab_strip_model, |
| 43 content::WebContents* contents, |
| 44 int index, |
| 45 bool foreground) override; |
| 46 |
39 private: | 47 private: |
40 #if defined(OS_MACOSX) | 48 #if defined(OS_MACOSX) |
41 // Records Mac specific metrics. | 49 // Records Mac specific metrics. |
42 void RecordMacMetrics(); | 50 void RecordMacMetrics(); |
43 #endif // defined(OS_MACOSX) | 51 #endif // defined(OS_MACOSX) |
44 | 52 |
45 // DisplayObserver overrides. | 53 // DisplayObserver overrides. |
46 void OnDisplayAdded(const display::Display& new_display) override; | 54 void OnDisplayAdded(const display::Display& new_display) override; |
47 void OnDisplayRemoved(const display::Display& old_display) override; | 55 void OnDisplayRemoved(const display::Display& old_display) override; |
48 void OnDisplayMetricsChanged(const display::Display& display, | 56 void OnDisplayMetricsChanged(const display::Display& display, |
(...skipping 10 matching lines...) Expand all Loading... |
59 bool is_screen_observer_; | 67 bool is_screen_observer_; |
60 | 68 |
61 #if defined(USE_OZONE) || defined(USE_X11) | 69 #if defined(USE_OZONE) || defined(USE_X11) |
62 std::unique_ptr<ui::InputDeviceEventObserver> input_device_event_observer_; | 70 std::unique_ptr<ui::InputDeviceEventObserver> input_device_event_observer_; |
63 #endif // defined(USE_OZONE) || defined(USE_X11) | 71 #endif // defined(USE_OZONE) || defined(USE_X11) |
64 | 72 |
65 DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainExtraPartsMetrics); | 73 DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainExtraPartsMetrics); |
66 }; | 74 }; |
67 | 75 |
68 #endif // CHROME_BROWSER_METRICS_CHROME_BROWSER_MAIN_EXTRA_PARTS_METRICS_H_ | 76 #endif // CHROME_BROWSER_METRICS_CHROME_BROWSER_MAIN_EXTRA_PARTS_METRICS_H_ |
OLD | NEW |