summaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
authorasvitkine <asvitkine@chromium.org>2014-09-03 09:33:21 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-03 16:36:56 +0000
commitbbde62b5db62e2a0902e79ebc4abee980c0bb443 (patch)
tree4a381d5cc3fc7c5bf3d2bae9da9a4c516eecd662 /components
parentbe173095fb2c38f914422473535df9b2da136bb2 (diff)
downloadchromium_src-bbde62b5db62e2a0902e79ebc4abee980c0bb443.zip
chromium_src-bbde62b5db62e2a0902e79ebc4abee980c0bb443.tar.gz
chromium_src-bbde62b5db62e2a0902e79ebc4abee980c0bb443.tar.bz2
Remove MetricsServiceObserver in favor of MetricsProvider.
The only user of this interface has been folded into NetworkMetricsProvider. BUG=409872 Review URL: https://codereview.chromium.org/532623003 Cr-Commit-Position: refs/heads/master@{#293149}
Diffstat (limited to 'components')
-rw-r--r--components/metrics.gypi2
-rw-r--r--components/metrics/BUILD.gn2
-rw-r--r--components/metrics/metrics_service.cc14
-rw-r--r--components/metrics/metrics_service.h20
-rw-r--r--components/metrics/metrics_service_observer.cc15
-rw-r--r--components/metrics/metrics_service_observer.h29
-rw-r--r--components/metrics/metrics_service_unittest.cc49
7 files changed, 5 insertions, 126 deletions
diff --git a/components/metrics.gypi b/components/metrics.gypi
index cf43cf7..25c17eb 100644
--- a/components/metrics.gypi
+++ b/components/metrics.gypi
@@ -43,8 +43,6 @@
'metrics/metrics_service.cc',
'metrics/metrics_service.h',
'metrics/metrics_service_client.h',
- 'metrics/metrics_service_observer.cc',
- 'metrics/metrics_service_observer.h',
'metrics/metrics_state_manager.cc',
'metrics/metrics_state_manager.h',
'metrics/metrics_switches.cc',
diff --git a/components/metrics/BUILD.gn b/components/metrics/BUILD.gn
index fa44a9b..cb25367 100644
--- a/components/metrics/BUILD.gn
+++ b/components/metrics/BUILD.gn
@@ -30,8 +30,6 @@ source_set("metrics") {
"metrics_service.cc",
"metrics_service.h",
"metrics_service_client.h",
- "metrics_service_observer.cc",
- "metrics_service_observer.h",
"metrics_state_manager.cc",
"metrics_state_manager.h",
"metrics_switches.cc",
diff --git a/components/metrics/metrics_service.cc b/components/metrics/metrics_service.cc
index fb800b6..daa7d5b 100644
--- a/components/metrics/metrics_service.cc
+++ b/components/metrics/metrics_service.cc
@@ -666,20 +666,8 @@ void MetricsService::GetUptimes(PrefService* pref,
}
}
-void MetricsService::AddObserver(MetricsServiceObserver* observer) {
- DCHECK(thread_checker_.CalledOnValidThread());
- observers_.AddObserver(observer);
-}
-
-void MetricsService::RemoveObserver(MetricsServiceObserver* observer) {
- DCHECK(thread_checker_.CalledOnValidThread());
- observers_.RemoveObserver(observer);
-}
-
void MetricsService::NotifyOnDidCreateMetricsLog() {
- DCHECK(thread_checker_.CalledOnValidThread());
- FOR_EACH_OBSERVER(
- MetricsServiceObserver, observers_, OnDidCreateMetricsLog());
+ DCHECK(IsSingleThreaded());
for (size_t i = 0; i < metrics_providers_.size(); ++i)
metrics_providers_[i]->OnDidCreateMetricsLog();
}
diff --git a/components/metrics/metrics_service.h b/components/metrics/metrics_service.h
index 3952fb3..4ed7ad1 100644
--- a/components/metrics/metrics_service.h
+++ b/components/metrics/metrics_service.h
@@ -21,14 +21,10 @@
#include "base/metrics/histogram_flattener.h"
#include "base/metrics/histogram_snapshot_manager.h"
#include "base/metrics/user_metrics.h"
-#include "base/observer_list.h"
-#include "base/strings/string16.h"
-#include "base/threading/thread_checker.h"
#include "base/time/time.h"
#include "components/metrics/metrics_log.h"
#include "components/metrics/metrics_log_manager.h"
#include "components/metrics/metrics_provider.h"
-#include "components/metrics/metrics_service_observer.h"
#include "components/variations/active_field_trials.h"
class MetricsServiceAccessor;
@@ -283,9 +279,7 @@ class MetricsService : public base::HistogramFlattener {
// Set up client ID, session ID, etc.
void InitializeMetricsState();
- // Registers/unregisters |observer| to receive MetricsLog notifications.
- void AddObserver(MetricsServiceObserver* observer);
- void RemoveObserver(MetricsServiceObserver* observer);
+ // Notifies providers when a new metrics log is created.
void NotifyOnDidCreateMetricsLog();
// Schedule the next save of LocalState information. This is called
@@ -446,6 +440,9 @@ class MetricsService : public base::HistogramFlattener {
// Stores the time of the last call to |GetUptimes()|.
base::TimeTicks last_updated_time_;
+ // Field trial groups that map to Chrome configuration states.
+ SyntheticTrialGroups synthetic_trial_groups_;
+
// Execution phase the browser is in.
static ExecutionPhase execution_phase_;
@@ -453,18 +450,9 @@ class MetricsService : public base::HistogramFlattener {
// exited-cleanly bit in the prefs.
static ShutdownCleanliness clean_shutdown_status_;
- // Field trial groups that map to Chrome configuration states.
- SyntheticTrialGroups synthetic_trial_groups_;
-
- ObserverList<MetricsServiceObserver> observers_;
-
- // Confirms single-threaded access to |observers_| in debug builds.
- base::ThreadChecker thread_checker_;
-
friend class ::MetricsServiceAccessor;
FRIEND_TEST_ALL_PREFIXES(MetricsServiceTest, IsPluginProcess);
- FRIEND_TEST_ALL_PREFIXES(MetricsServiceTest, MetricsServiceObserver);
FRIEND_TEST_ALL_PREFIXES(MetricsServiceTest,
PermutedEntropyCacheClearedWhenLowEntropyReset);
FRIEND_TEST_ALL_PREFIXES(MetricsServiceTest, RegisterSyntheticTrial);
diff --git a/components/metrics/metrics_service_observer.cc b/components/metrics/metrics_service_observer.cc
deleted file mode 100644
index e7116f8..0000000
--- a/components/metrics/metrics_service_observer.cc
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/metrics/metrics_service_observer.h"
-
-namespace metrics {
-
-MetricsServiceObserver::MetricsServiceObserver() {
-}
-
-MetricsServiceObserver::~MetricsServiceObserver() {
-}
-
-} // namespace metrics
diff --git a/components/metrics/metrics_service_observer.h b/components/metrics/metrics_service_observer.h
deleted file mode 100644
index a0efb84..0000000
--- a/components/metrics/metrics_service_observer.h
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef COMPONENTS_METRICS_METRICS_SERVICE_OBSERVER_H_
-#define COMPONENTS_METRICS_METRICS_SERVICE_OBSERVER_H_
-
-#include "base/macros.h"
-
-namespace metrics {
-
-// MetricsServiceObserver receives notifications from MetricsService.
-// An observer must be added, removed, and notified on the same thread.
-class MetricsServiceObserver {
- public:
- // Called when a new MetricsLog is created.
- virtual void OnDidCreateMetricsLog() = 0;
-
- protected:
- MetricsServiceObserver();
- virtual ~MetricsServiceObserver();
-
- private:
- DISALLOW_COPY_AND_ASSIGN(MetricsServiceObserver);
-};
-
-} // namespace metrics
-
-#endif // COMPONENTS_METRICS_METRICS_SERVICE_OBSERVER_H_
diff --git a/components/metrics/metrics_service_unittest.cc b/components/metrics/metrics_service_unittest.cc
index 2ee7e1d..e85f351 100644
--- a/components/metrics/metrics_service_unittest.cc
+++ b/components/metrics/metrics_service_unittest.cc
@@ -15,7 +15,6 @@
#include "components/metrics/compression_utils.h"
#include "components/metrics/metrics_log.h"
#include "components/metrics/metrics_pref_names.h"
-#include "components/metrics/metrics_service_observer.h"
#include "components/metrics/metrics_state_manager.h"
#include "components/metrics/test_metrics_service_client.h"
#include "components/variations/metrics_util.h"
@@ -130,22 +129,6 @@ class MetricsServiceTest : public testing::Test {
DISALLOW_COPY_AND_ASSIGN(MetricsServiceTest);
};
-class TestMetricsServiceObserver : public MetricsServiceObserver {
- public:
- TestMetricsServiceObserver(): observed_(0) {}
- virtual ~TestMetricsServiceObserver() {}
-
- virtual void OnDidCreateMetricsLog() OVERRIDE {
- ++observed_;
- }
- int observed() const { return observed_; }
-
- private:
- int observed_;
-
- DISALLOW_COPY_AND_ASSIGN(TestMetricsServiceObserver);
-};
-
} // namespace
TEST_F(MetricsServiceTest, InitialStabilityLogAfterCleanShutDown) {
@@ -283,36 +266,4 @@ TEST_F(MetricsServiceTest, RegisterSyntheticTrial) {
service.log_manager_.FinishCurrentLog();
}
-TEST_F(MetricsServiceTest, MetricsServiceObserver) {
- metrics::TestMetricsServiceClient client;
- MetricsService service(GetMetricsStateManager(), &client, GetLocalState());
- TestMetricsServiceObserver observer1;
- TestMetricsServiceObserver observer2;
-
- service.AddObserver(&observer1);
- EXPECT_EQ(0, observer1.observed());
- EXPECT_EQ(0, observer2.observed());
-
- service.OpenNewLog();
- EXPECT_EQ(1, observer1.observed());
- EXPECT_EQ(0, observer2.observed());
- service.log_manager_.FinishCurrentLog();
-
- service.AddObserver(&observer2);
-
- service.OpenNewLog();
- EXPECT_EQ(2, observer1.observed());
- EXPECT_EQ(1, observer2.observed());
- service.log_manager_.FinishCurrentLog();
-
- service.RemoveObserver(&observer1);
-
- service.OpenNewLog();
- EXPECT_EQ(2, observer1.observed());
- EXPECT_EQ(2, observer2.observed());
- service.log_manager_.FinishCurrentLog();
-
- service.RemoveObserver(&observer2);
-}
-
} // namespace metrics