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

Side by Side Diff: chrome/browser/metrics/metrics_service_unittest.cc

Issue 292433015: Refactor MetricsLogChromeOS to ChromeOSMetricsProvider. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "chrome/browser/metrics/metrics_service.h" 5 #include "chrome/browser/metrics/metrics_service.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/threading/platform_thread.h" 10 #include "base/threading/platform_thread.h"
11 #include "chrome/browser/metrics/metrics_state_manager.h" 11 #include "chrome/browser/metrics/metrics_state_manager.h"
12 #include "chrome/common/pref_names.h" 12 #include "chrome/common/pref_names.h"
13 #include "chrome/test/base/scoped_testing_local_state.h" 13 #include "chrome/test/base/scoped_testing_local_state.h"
14 #include "chrome/test/base/testing_browser_process.h" 14 #include "chrome/test/base/testing_browser_process.h"
15 #include "components/metrics/metrics_service_observer.h" 15 #include "components/metrics/metrics_service_observer.h"
16 #include "components/metrics/test_metrics_service_client.h" 16 #include "components/metrics/test_metrics_service_client.h"
17 #include "components/variations/metrics_util.h" 17 #include "components/variations/metrics_util.h"
18 #include "content/public/common/process_type.h" 18 #include "content/public/common/process_type.h"
19 #include "content/public/common/webplugininfo.h" 19 #include "content/public/common/webplugininfo.h"
20 #include "content/public/test/test_browser_thread_bundle.h" 20 #include "content/public/test/test_browser_thread_bundle.h"
21 #include "testing/gtest/include/gtest/gtest.h" 21 #include "testing/gtest/include/gtest/gtest.h"
22 #include "ui/gfx/size.h" 22 #include "ui/gfx/size.h"
23 23
24 #if defined(OS_CHROMEOS)
25 #include "chrome/browser/metrics/metrics_log_chromeos.h"
26 #endif // OS_CHROMEOS
27
28 namespace { 24 namespace {
29 25
30 using metrics::MetricsLogManager; 26 using metrics::MetricsLogManager;
31 27
32 class TestMetricsService : public MetricsService { 28 class TestMetricsService : public MetricsService {
33 public: 29 public:
34 TestMetricsService(metrics::MetricsStateManager* state_manager, 30 TestMetricsService(metrics::MetricsStateManager* state_manager,
35 metrics::MetricsServiceClient* client) 31 metrics::MetricsServiceClient* client)
36 : MetricsService(state_manager, client) { 32 : MetricsService(state_manager, client) {
37 } 33 }
38 virtual ~TestMetricsService() {} 34 virtual ~TestMetricsService() {}
39 35
40 MetricsLogManager* log_manager() { 36 MetricsLogManager* log_manager() {
41 return &log_manager_; 37 return &log_manager_;
42 } 38 }
43 39
44 private: 40 private:
45 DISALLOW_COPY_AND_ASSIGN(TestMetricsService); 41 DISALLOW_COPY_AND_ASSIGN(TestMetricsService);
46 }; 42 };
47 43
48 #if defined(OS_CHROMEOS)
49 class TestMetricsLogChromeOS : public MetricsLogChromeOS {
50 public:
51 explicit TestMetricsLogChromeOS(
52 metrics::ChromeUserMetricsExtension* uma_proto)
53 : MetricsLogChromeOS(uma_proto) {
54 }
55
56 protected:
57 // Don't touch bluetooth information, as it won't be correctly initialized.
58 virtual void WriteBluetoothProto() OVERRIDE {
59 }
60 };
61 #endif // OS_CHROMEOS
62
63 class TestMetricsLog : public MetricsLog { 44 class TestMetricsLog : public MetricsLog {
64 public: 45 public:
65 TestMetricsLog(const std::string& client_id, int session_id) 46 TestMetricsLog(const std::string& client_id, int session_id)
66 : MetricsLog(client_id, session_id, MetricsLog::ONGOING_LOG) { 47 : MetricsLog(client_id, session_id, MetricsLog::ONGOING_LOG) {
67 #if defined(OS_CHROMEOS)
68 metrics_log_chromeos_.reset(new TestMetricsLogChromeOS(
69 MetricsLog::uma_proto()));
70 #endif // OS_CHROMEOS
71 } 48 }
72 virtual ~TestMetricsLog() {} 49 virtual ~TestMetricsLog() {}
73 50
74 private: 51 private:
75 virtual gfx::Size GetScreenSize() const OVERRIDE { 52 virtual gfx::Size GetScreenSize() const OVERRIDE {
76 return gfx::Size(1024, 768); 53 return gfx::Size(1024, 768);
77 } 54 }
78 55
79 virtual float GetScreenDeviceScaleFactor() const OVERRIDE { 56 virtual float GetScreenDeviceScaleFactor() const OVERRIDE {
80 return 1.0f; 57 return 1.0f;
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 343
367 service.RemoveObserver(&observer1); 344 service.RemoveObserver(&observer1);
368 345
369 service.OpenNewLog(); 346 service.OpenNewLog();
370 EXPECT_EQ(2, observer1.observed()); 347 EXPECT_EQ(2, observer1.observed());
371 EXPECT_EQ(2, observer2.observed()); 348 EXPECT_EQ(2, observer2.observed());
372 service.log_manager_.FinishCurrentLog(); 349 service.log_manager_.FinishCurrentLog();
373 350
374 service.RemoveObserver(&observer2); 351 service.RemoveObserver(&observer2);
375 } 352 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698