summaryrefslogtreecommitdiffstats
path: root/chromecast
diff options
context:
space:
mode:
authorhalliwell <halliwell@chromium.org>2016-02-17 21:19:07 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-18 05:20:17 +0000
commit7296007481dc9216de5a868451cde453b22cb00b (patch)
treedf423ab24d94bc913eddeaac95eef075f91a5392 /chromecast
parent6b133b55a1a9c231e76f9d774cba1ff5644f99c6 (diff)
downloadchromium_src-7296007481dc9216de5a868451cde453b22cb00b.zip
chromium_src-7296007481dc9216de5a868451cde453b22cb00b.tar.gz
chromium_src-7296007481dc9216de5a868451cde453b22cb00b.tar.bz2
[Chromecast] Set dummy metrics session ID for browser tests
This reverts https://codereview.chromium.org/1477483003/ which was intended to fix a problem where media playback in browser tests triggers metrics events that DCHECK on invalid session ID. Previous attempt set a dummy session ID, but this could mask bugs if we ever failed to set session ID correctly. Instead, explicitly only set the dummy ID for running browser tests. BUG= Review URL: https://codereview.chromium.org/1510973007 Cr-Commit-Position: refs/heads/master@{#376099}
Diffstat (limited to 'chromecast')
-rw-r--r--chromecast/base/metrics/cast_metrics_helper.cc6
-rw-r--r--chromecast/base/metrics/cast_metrics_helper.h3
-rw-r--r--chromecast/browser/test/chromecast_browser_test.cc4
3 files changed, 12 insertions, 1 deletions
diff --git a/chromecast/base/metrics/cast_metrics_helper.cc b/chromecast/base/metrics/cast_metrics_helper.cc
index 9680c80..8f12042b 100644
--- a/chromecast/base/metrics/cast_metrics_helper.cc
+++ b/chromecast/base/metrics/cast_metrics_helper.cc
@@ -91,7 +91,6 @@ CastMetricsHelper* CastMetricsHelper::GetInstance() {
CastMetricsHelper::CastMetricsHelper(
scoped_refptr<base::SingleThreadTaskRunner> task_runner)
: task_runner_(task_runner),
- session_id_("00000000000000000000000000000000"),
metrics_sink_(NULL),
logged_first_audio_(false),
record_action_callback_(base::Bind(&base::RecordComputedAction)) {
@@ -227,6 +226,11 @@ void CastMetricsHelper::SetRecordActionCallback(
record_action_callback_ = callback;
}
+void CastMetricsHelper::SetDummySessionIdForTesting() {
+ DCHECK(task_runner_->BelongsToCurrentThread());
+ session_id_ = "00000000-0000-0000-0000-000000000000";
+}
+
void CastMetricsHelper::RecordSimpleAction(const std::string& action) {
MAKE_SURE_THREAD(RecordSimpleAction, action);
diff --git a/chromecast/base/metrics/cast_metrics_helper.h b/chromecast/base/metrics/cast_metrics_helper.h
index 43f9f7e..251261d 100644
--- a/chromecast/base/metrics/cast_metrics_helper.h
+++ b/chromecast/base/metrics/cast_metrics_helper.h
@@ -104,6 +104,9 @@ class CastMetricsHelper {
// CastMetricsHelper only honors the last one.
virtual void SetRecordActionCallback(const RecordActionCallback& callback);
+ // Sets an all-0's session ID for running browser tests.
+ void SetDummySessionIdForTesting();
+
protected:
// Creates a CastMetricsHelper instance with no task runner. This should only
// be used by tests, since invoking any non-overridden methods on this
diff --git a/chromecast/browser/test/chromecast_browser_test.cc b/chromecast/browser/test/chromecast_browser_test.cc
index 3a502a1..5dcf1ee 100644
--- a/chromecast/browser/test/chromecast_browser_test.cc
+++ b/chromecast/browser/test/chromecast_browser_test.cc
@@ -7,6 +7,7 @@
#include "base/command_line.h"
#include "base/logging.h"
#include "base/message_loop/message_loop.h"
+#include "chromecast/base/metrics/cast_metrics_helper.h"
#include "chromecast/browser/cast_browser_context.h"
#include "chromecast/browser/cast_browser_process.h"
#include "chromecast/browser/cast_content_window.h"
@@ -69,6 +70,9 @@ content::WebContents* ChromecastBrowserTest::CreateBrowser() {
initial_size,
CastBrowserProcess::GetInstance()->browser_context());
window_->CreateWindowTree(initial_size, web_contents_.get());
+
+ metrics::CastMetricsHelper::GetInstance()->SetDummySessionIdForTesting();
+
return web_contents_.get();
}