Chromium Code Reviews| Index: Source/core/html/HTMLMediaElement.h |
| diff --git a/Source/core/html/HTMLMediaElement.h b/Source/core/html/HTMLMediaElement.h |
| index 2f1bea3fc8f96c6333f9c3c7361d47bcf86982df..9e98603a4c3a36ae444441fada49feb63cb78b03 100644 |
| --- a/Source/core/html/HTMLMediaElement.h |
| +++ b/Source/core/html/HTMLMediaElement.h |
| @@ -29,6 +29,7 @@ |
| #include "core/CoreExport.h" |
| #include "core/dom/ActiveDOMObject.h" |
| #include "core/events/GenericEventQueue.h" |
| +#include "core/html/AutoplayExperimentHelper.h" |
| #include "core/html/HTMLElement.h" |
| #include "core/html/track/TextTrack.h" |
| #include "platform/Supplementable.h" |
| @@ -390,7 +391,13 @@ private: |
| // This does not check user gesture restrictions. |
| void playInternal(); |
| - void gesturelessInitialPlayHalted(); |
| + // If we are about to enter a stopped state, call this to record |
|
philipj_slow
2015/08/13 10:15:40
s/stop/pause/, media elements don't really have a
liberato (no reviews please)
2015/09/01 06:54:20
updated, and the metric names. was trying not to
|
| + // autoplay metrics. If we were already in a stopped state, then |
| + // this does nothing. |
| + void recordMetricsIfStopping(); |
| + // Could stopping at this point be considered a bailout of playback? |
| + // (as in, "The user really didn't want to play this"). |
| + bool isBailout() const; |
| void autoplayMediaEncountered(); |
| void allowVideoRendering(); |
| @@ -426,6 +433,8 @@ private: |
| bool isBlockedOnMediaController() const; |
| bool isAutoplaying() const { return m_autoplaying; } |
| + void recordAutoplayMetric(AutoplayMetrics); |
| + |
| WebMediaPlayer::CORSMode corsMode() const; |
| // Returns the "direction of playback" value as specified in the HTML5 spec. |
| @@ -445,6 +454,12 @@ private: |
| // transition to HAVE_METADATA. |
| void selectInitialTracksIfNecessary(); |
| + // Return true if and only if we require a user gesture before letting |
| + // the media play. |
| + bool isUserGestureRequiredForPlay() const; |
| + void removeUserGestureRequirement(); |
| + void setInitialPlayWithoutUserGestures(bool); |
| + |
| void audioTracksTimerFired(Timer<HTMLMediaElement>*); |
| Timer<HTMLMediaElement> m_loadTimer; |
| @@ -617,6 +632,9 @@ private: |
| friend class Internals; |
| friend class TrackDisplayUpdateScope; |
| + friend class AutoplayExperimentHelper; |
| + |
| + AutoplayExperimentHelper m_autoplayHelper; |
| static URLRegistry* s_mediaStreamRegistry; |
| }; |