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

Unified Diff: third_party/WebKit/Source/core/html/HTMLMediaElement.h

Issue 2475643004: Monitor the intersection of video and viewport. (Closed)
Patch Set: Moved the calculation of intersection ratio to RemotingController. Created 4 years, 1 month 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
Index: third_party/WebKit/Source/core/html/HTMLMediaElement.h
diff --git a/third_party/WebKit/Source/core/html/HTMLMediaElement.h b/third_party/WebKit/Source/core/html/HTMLMediaElement.h
index c927eeb9db8409a3900dd725e0749b70eb442480..9c634eec666739a9565af3af8e2dc6239d98321c 100644
--- a/third_party/WebKit/Source/core/html/HTMLMediaElement.h
+++ b/third_party/WebKit/Source/core/html/HTMLMediaElement.h
@@ -52,7 +52,7 @@ class AudioTrackList;
class AutoplayUmaHelper;
class ContentType;
class CueTimeline;
-class ElementVisibilityObserver;
+class ViewportIntersectionObserver;
class EnumerationHistogram;
class Event;
class ExceptionState;
@@ -309,6 +309,10 @@ class CORE_EXPORT HTMLMediaElement : public HTMLElement,
}
void setRemotePlaybackClient(WebRemotePlaybackClient*);
+ WebMediaPlayer::ViewportIntersectionInfo viewportIntersectInfo() const {
miu 2016/11/16 02:40:26 naming suggestion: How about something more descri
xjz 2016/11/16 07:45:55 Done.
+ return m_viewportIntersectInfo;
+ }
+
protected:
HTMLMediaElement(const QualifiedName&, Document&);
~HTMLMediaElement() override;
@@ -534,7 +538,8 @@ class CORE_EXPORT HTMLMediaElement : public HTMLElement,
EnumerationHistogram& showControlsHistogram() const;
- void onVisibilityChangedForAutoplay(bool isVisible);
+ void onVideoViewportIntersectionChanged(const WebRect& rootRect,
+ const WebRect& intersectRect);
UnthrottledThreadTimer<HTMLMediaElement> m_loadTimer;
UnthrottledThreadTimer<HTMLMediaElement> m_progressEventTimer;
@@ -658,6 +663,8 @@ class CORE_EXPORT HTMLMediaElement : public HTMLElement,
GC_PLUGIN_IGNORE("http://crbug.com/404577")
WeakMember<AudioSourceProviderClient> m_audioSourceNode;
+ WebMediaPlayer::ViewportIntersectionInfo m_viewportIntersectInfo;
+
// AudioClientImpl wraps an AudioSourceProviderClient.
// When the audio format is known, Chromium calls setFormat().
class AudioClientImpl final
@@ -716,11 +723,11 @@ class CORE_EXPORT HTMLMediaElement : public HTMLElement,
Member<AutoplayExperimentHelper::Client> m_autoplayHelperClient;
Member<AutoplayExperimentHelper> m_autoplayHelper;
Member<AutoplayUmaHelper> m_autoplayUmaHelper;
+ bool m_shouldAutoplayWhenVisible = false;
WebRemotePlaybackClient* m_remotePlaybackClient;
- // class AutoplayVisibilityObserver;
- Member<ElementVisibilityObserver> m_autoplayVisibilityObserver;
+ Member<ViewportIntersectionObserver> m_viewportIntersectionObserver;
static URLRegistry* s_mediaStreamRegistry;
};

Powered by Google App Engine
This is Rietveld 408576698