Commit 30bd2101 authored by Steven Holte's avatar Steven Holte Committed by Commit Bot

Migrate MediaEngagementContentsObserver to generated UKM builder.

Change-Id: I4a0a05dec6b7b768250889199775d6bc8b951ef4
Reviewed-on: https://chromium-review.googlesource.com/580522
Commit-Queue: Steven Holte <holte@chromium.org>
Reviewed-by: default avatarSteven Holte <holte@chromium.org>
Reviewed-by: default avatarMounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491168}
parent cbff1ee5
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "content/public/browser/render_frame_host.h" #include "content/public/browser/render_frame_host.h"
#include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents.h"
#include "content/public/common/associated_interface_provider.h" #include "content/public/common/associated_interface_provider.h"
#include "services/metrics/public/cpp/ukm_builders.h"
#include "services/metrics/public/cpp/ukm_entry_builder.h" #include "services/metrics/public/cpp/ukm_entry_builder.h"
#include "services/metrics/public/cpp/ukm_recorder.h" #include "services/metrics/public/cpp/ukm_recorder.h"
#include "third_party/WebKit/public/platform/media_engagement.mojom.h" #include "third_party/WebKit/public/platform/media_engagement.mojom.h"
...@@ -44,24 +45,6 @@ const char* const ...@@ -44,24 +45,6 @@ const char* const
MediaEngagementContentsObserver::kHistogramScoreAtPlaybackName = MediaEngagementContentsObserver::kHistogramScoreAtPlaybackName =
"Media.Engagement.ScoreAtPlayback"; "Media.Engagement.ScoreAtPlayback";
const char* const MediaEngagementContentsObserver::kUkmEntryName =
"Media.Engagement.SessionFinished";
const char* const
MediaEngagementContentsObserver::kUkmMetricPlaybacksTotalName =
"Playbacks.Total";
const char* const MediaEngagementContentsObserver::kUkmMetricVisitsTotalName =
"Visits.Total";
const char* const
MediaEngagementContentsObserver::kUkmMetricEngagementScoreName =
"Engagement.Score";
const char* const
MediaEngagementContentsObserver::kUkmMetricPlaybacksDeltaName =
"Playbacks.Delta";
const char* const MediaEngagementContentsObserver:: const char* const MediaEngagementContentsObserver::
kHistogramSignificantNotAddedFirstTimeName = kHistogramSignificantNotAddedFirstTimeName =
"Media.Engagement.SignificantPlayers.PlayerNotAdded.FirstTime"; "Media.Engagement.SignificantPlayers.PlayerNotAdded.FirstTime";
...@@ -116,21 +99,13 @@ void MediaEngagementContentsObserver::RecordUkmMetrics() { ...@@ -116,21 +99,13 @@ void MediaEngagementContentsObserver::RecordUkmMetrics() {
ukm::SourceId source_id = ukm_recorder->GetNewSourceID(); ukm::SourceId source_id = ukm_recorder->GetNewSourceID();
ukm_recorder->UpdateSourceURL(source_id, url); ukm_recorder->UpdateSourceURL(source_id, url);
std::unique_ptr<ukm::UkmEntryBuilder> builder = ukm_recorder->GetEntryBuilder(
source_id, MediaEngagementContentsObserver::kUkmEntryName);
MediaEngagementScore score = service_->CreateEngagementScore(url); MediaEngagementScore score = service_->CreateEngagementScore(url);
builder->AddMetric( ukm::builders::Media_Engagement_SessionFinished(source_id)
MediaEngagementContentsObserver::kUkmMetricPlaybacksTotalName, .SetPlaybacks_Total(score.media_playbacks())
score.media_playbacks()); .SetVisits_Total(score.visits())
builder->AddMetric(MediaEngagementContentsObserver::kUkmMetricVisitsTotalName, .SetEngagement_Score(ConvertScoreToPercentage(score.GetTotalScore()))
score.visits()); .SetPlaybacks_Delta(significant_playback_recorded_)
builder->AddMetric( .Record(ukm_recorder);
MediaEngagementContentsObserver::kUkmMetricEngagementScoreName,
ConvertScoreToPercentage(score.GetTotalScore()));
builder->AddMetric(
MediaEngagementContentsObserver::kUkmMetricPlaybacksDeltaName,
significant_playback_recorded_);
} }
void MediaEngagementContentsObserver::DidFinishNavigation( void MediaEngagementContentsObserver::DidFinishNavigation(
......
...@@ -159,12 +159,6 @@ class MediaEngagementContentsObserver : public content::WebContentsObserver { ...@@ -159,12 +159,6 @@ class MediaEngagementContentsObserver : public content::WebContentsObserver {
// Record the score and change in score to UKM. // Record the score and change in score to UKM.
void RecordUkmMetrics(); void RecordUkmMetrics();
static const char* const kUkmEntryName;
static const char* const kUkmMetricPlaybacksTotalName;
static const char* const kUkmMetricVisitsTotalName;
static const char* const kUkmMetricEngagementScoreName;
static const char* const kUkmMetricPlaybacksDeltaName;
bool is_visible_ = false; bool is_visible_ = false;
bool significant_playback_recorded_ = false; bool significant_playback_recorded_ = false;
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
#include "content/public/browser/navigation_handle.h" #include "content/public/browser/navigation_handle.h"
#include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents.h"
#include "content/public/test/web_contents_tester.h" #include "content/public/test/web_contents_tester.h"
#include "services/metrics/public/cpp/ukm_builders.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
class MediaEngagementContentsObserverTest class MediaEngagementContentsObserverTest
...@@ -164,38 +165,30 @@ class MediaEngagementContentsObserverTest ...@@ -164,38 +165,30 @@ class MediaEngagementContentsObserverTest
int visits_total, int visits_total,
int score, int score,
int playbacks_delta) { int playbacks_delta) {
using Entry = ukm::builders::Media_Engagement_SessionFinished;
std::vector<std::pair<const char*, int64_t>> metrics = { std::vector<std::pair<const char*, int64_t>> metrics = {
{MediaEngagementContentsObserver::kUkmMetricPlaybacksTotalName, {Entry::kPlaybacks_TotalName, playbacks_total},
playbacks_total}, {Entry::kVisits_TotalName, visits_total},
{MediaEngagementContentsObserver::kUkmMetricVisitsTotalName, {Entry::kEngagement_ScoreName, score},
visits_total}, {Entry::kPlaybacks_DeltaName, playbacks_delta},
{MediaEngagementContentsObserver::kUkmMetricEngagementScoreName, score},
{MediaEngagementContentsObserver::kUkmMetricPlaybacksDeltaName,
playbacks_delta},
}; };
const ukm::UkmSource* source = const ukm::UkmSource* source =
test_ukm_recorder_.GetSourceForUrl(url.spec().c_str()); test_ukm_recorder_.GetSourceForUrl(url.spec().c_str());
EXPECT_EQ(url, source->url()); EXPECT_EQ(url, source->url());
EXPECT_EQ(1, test_ukm_recorder_.CountEntries( EXPECT_EQ(1, test_ukm_recorder_.CountEntries(*source, Entry::kEntryName));
*source, MediaEngagementContentsObserver::kUkmEntryName)); test_ukm_recorder_.ExpectMetric(*source, Entry::kEntryName,
test_ukm_recorder_.ExpectMetric( Entry::kVisits_TotalName, visits_total);
*source, MediaEngagementContentsObserver::kUkmEntryName, test_ukm_recorder_.ExpectMetric(*source, Entry::kEntryName,
MediaEngagementContentsObserver::kUkmMetricVisitsTotalName, Entry::kPlaybacks_TotalName,
visits_total);
test_ukm_recorder_.ExpectMetric(
*source, MediaEngagementContentsObserver::kUkmEntryName,
MediaEngagementContentsObserver::kUkmMetricPlaybacksTotalName,
playbacks_total); playbacks_total);
test_ukm_recorder_.ExpectMetric( test_ukm_recorder_.ExpectMetric(*source, Entry::kEntryName,
*source, MediaEngagementContentsObserver::kUkmEntryName, Entry::kEngagement_ScoreName, score);
MediaEngagementContentsObserver::kUkmMetricEngagementScoreName, score); test_ukm_recorder_.ExpectMetric(*source, Entry::kEntryName,
test_ukm_recorder_.ExpectMetric( Entry::kPlaybacks_DeltaName,
*source, MediaEngagementContentsObserver::kUkmEntryName,
MediaEngagementContentsObserver::kUkmMetricPlaybacksDeltaName,
playbacks_delta); playbacks_delta);
test_ukm_recorder_.ExpectEntry( test_ukm_recorder_.ExpectEntry(*source, Entry::kEntryName, metrics);
*source, MediaEngagementContentsObserver::kUkmEntryName, metrics);
} }
void ExpectNoUkmEntry() { EXPECT_FALSE(test_ukm_recorder_.sources_count()); } void ExpectNoUkmEntry() { EXPECT_FALSE(test_ukm_recorder_.sources_count()); }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment