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

Unified Diff: third_party/WebKit/Source/core/html/AutoplayUmaHelper.cpp

Issue 2576463002: [Autoplay] Add histogram metrics for cross-origin autoplay muted experiment (Closed)
Patch Set: Created 4 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/Source/core/html/AutoplayUmaHelper.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/core/html/AutoplayUmaHelper.cpp
diff --git a/third_party/WebKit/Source/core/html/AutoplayUmaHelper.cpp b/third_party/WebKit/Source/core/html/AutoplayUmaHelper.cpp
index bf2d6ffbe9d9b3952a08e4ee184f77283cc4e642..f97742b1154aa2dc234f477e34f7ae1aec01a9d4 100644
--- a/third_party/WebKit/Source/core/html/AutoplayUmaHelper.cpp
+++ b/third_party/WebKit/Source/core/html/AutoplayUmaHelper.cpp
@@ -97,6 +97,11 @@ void AutoplayUmaHelper::onAutoplayInitiated(AutoplaySource source) {
void AutoplayUmaHelper::recordCrossOriginAutoplayResult(
CrossOriginAutoplayResult result) {
+ DEFINE_STATIC_LOCAL(
+ EnumerationHistogram, autoplayResultHistogram,
+ ("Media.Autoplay.CrossOrigin.Result",
+ static_cast<int>(CrossOriginAutoplayResult::NumberOfResults)));
+
if (!m_element->isHTMLVideoElement())
return;
if (!m_element->isInCrossOriginFrame())
@@ -117,6 +122,7 @@ void AutoplayUmaHelper::recordCrossOriginAutoplayResult(
Platform::current()->recordRapporURL(
"Media.Autoplay.CrossOrigin.Allowed.TopLevelFrame",
m_element->document().topDocument().url());
+ autoplayResultHistogram.count(static_cast<int>(result));
m_recordedCrossOriginAutoplayResults.insert(result);
break;
case CrossOriginAutoplayResult::AutoplayBlocked:
@@ -126,6 +132,7 @@ void AutoplayUmaHelper::recordCrossOriginAutoplayResult(
Platform::current()->recordRapporURL(
"Media.Autoplay.CrossOrigin.Blocked.TopLevelFrame",
m_element->document().topDocument().url());
+ autoplayResultHistogram.count(static_cast<int>(result));
m_recordedCrossOriginAutoplayResults.insert(result);
break;
case CrossOriginAutoplayResult::PlayedWithGesture:
@@ -143,6 +150,22 @@ void AutoplayUmaHelper::recordCrossOriginAutoplayResult(
"Media.Autoplay.CrossOrigin.PlayedWithGestureAfterBlock."
"TopLevelFrame",
m_element->document().topDocument().url());
+ autoplayResultHistogram.count(static_cast<int>(result));
+ m_recordedCrossOriginAutoplayResults.insert(result);
+ break;
+ case CrossOriginAutoplayResult::UserPaused:
+ if (!shouldRecordUserPausedAutoplayingCrossOriginVideo())
+ return;
+ if (m_element->ended() || m_element->seeking())
+ return;
+ Platform::current()->recordRapporURL(
+ "Media.Autoplay.CrossOrigin.UserPausedAutoplayingVideo.ChildFrame",
+ m_element->document().url());
+ Platform::current()->recordRapporURL(
+ "Media.Autoplay.CrossOrigin.UserPausedAutoplayingVideo."
+ "TopLevelFrame",
+ m_element->document().topDocument().url());
+ autoplayResultHistogram.count(static_cast<int>(result));
m_recordedCrossOriginAutoplayResults.insert(result);
break;
default:
@@ -305,21 +328,7 @@ void AutoplayUmaHelper::maybeStopRecordingMutedVideoOffscreenDuration() {
}
void AutoplayUmaHelper::maybeRecordUserPausedAutoplayingCrossOriginVideo() {
- if (!shouldRecordUserPausedAutoplayingCrossOriginVideo())
- return;
-
- if (m_element->ended() || m_element->seeking())
- return;
-
- Platform::current()->recordRapporURL(
- "Media.Autoplay.CrossOrigin.UserPausedAutoplayingVideo.ChildFrame",
- m_element->document().url());
- Platform::current()->recordRapporURL(
- "Media.Autoplay.CrossOrigin.UserPausedAutoplayingVideo."
- "TopLevelFrame",
- m_element->document().topDocument().url());
-
- m_hasRecordedUserPausedAutoplayingCrossOriginVideo = true;
+ recordCrossOriginAutoplayResult(CrossOriginAutoplayResult::UserPaused);
maybeUnregisterMediaElementPauseListener();
}
@@ -346,7 +355,8 @@ bool AutoplayUmaHelper::shouldRecordUserPausedAutoplayingCrossOriginVideo()
const {
return m_element->isInCrossOriginFrame() && m_element->isHTMLVideoElement() &&
m_source != AutoplaySource::NumberOfSources &&
- !m_hasRecordedUserPausedAutoplayingCrossOriginVideo;
+ !m_recordedCrossOriginAutoplayResults.count(
+ CrossOriginAutoplayResult::UserPaused);
}
DEFINE_TRACE(AutoplayUmaHelper) {
« no previous file with comments | « third_party/WebKit/Source/core/html/AutoplayUmaHelper.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698