diff options
author | halliwell <halliwell@chromium.org> | 2016-02-17 21:19:07 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-18 05:20:17 +0000 |
commit | 7296007481dc9216de5a868451cde453b22cb00b (patch) | |
tree | df423ab24d94bc913eddeaac95eef075f91a5392 /chromecast | |
parent | 6b133b55a1a9c231e76f9d774cba1ff5644f99c6 (diff) | |
download | chromium_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.cc | 6 | ||||
-rw-r--r-- | chromecast/base/metrics/cast_metrics_helper.h | 3 | ||||
-rw-r--r-- | chromecast/browser/test/chromecast_browser_test.cc | 4 |
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(); } |