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

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLMediaElement.h

Issue 2511143006: Detect change on the intersection of video and viewport. (Closed)
Patch Set: Addressed comments from PS#2. 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights 2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights
3 * reserved. 3 * reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 526 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 void scheduleNotifyPlaying(); 537 void scheduleNotifyPlaying();
538 void resolveScheduledPlayPromises(); 538 void resolveScheduledPlayPromises();
539 void rejectScheduledPlayPromises(); 539 void rejectScheduledPlayPromises();
540 void rejectPlayPromises(ExceptionCode, const String&); 540 void rejectPlayPromises(ExceptionCode, const String&);
541 void rejectPlayPromisesInternal(ExceptionCode, const String&); 541 void rejectPlayPromisesInternal(ExceptionCode, const String&);
542 542
543 EnumerationHistogram& showControlsHistogram() const; 543 EnumerationHistogram& showControlsHistogram() const;
544 544
545 void onVisibilityChangedForAutoplay(bool isVisible); 545 void onVisibilityChangedForAutoplay(bool isVisible);
546 546
547 void checkViewportIntersectionChanged();
548 void viewportFillDebouncerTimerFired(TimerBase*);
549
547 UnthrottledThreadTimer<HTMLMediaElement> m_loadTimer; 550 UnthrottledThreadTimer<HTMLMediaElement> m_loadTimer;
548 UnthrottledThreadTimer<HTMLMediaElement> m_progressEventTimer; 551 UnthrottledThreadTimer<HTMLMediaElement> m_progressEventTimer;
549 UnthrottledThreadTimer<HTMLMediaElement> m_playbackProgressTimer; 552 UnthrottledThreadTimer<HTMLMediaElement> m_playbackProgressTimer;
550 UnthrottledThreadTimer<HTMLMediaElement> m_audioTracksTimer; 553 UnthrottledThreadTimer<HTMLMediaElement> m_audioTracksTimer;
554 UnthrottledThreadTimer<HTMLMediaElement> m_viewportFillDebouncerTimer;
551 Member<TimeRanges> m_playedTimeRanges; 555 Member<TimeRanges> m_playedTimeRanges;
552 Member<GenericEventQueue> m_asyncEventQueue; 556 Member<GenericEventQueue> m_asyncEventQueue;
553 557
554 double m_playbackRate; 558 double m_playbackRate;
555 double m_defaultPlaybackRate; 559 double m_defaultPlaybackRate;
556 NetworkState m_networkState; 560 NetworkState m_networkState;
557 ReadyState m_readyState; 561 ReadyState m_readyState;
558 ReadyState m_readyStateMaximum; 562 ReadyState m_readyStateMaximum;
559 KURL m_currentSrc; 563 KURL m_currentSrc;
560 Member<MediaStreamDescriptor> m_srcObject; 564 Member<MediaStreamDescriptor> m_srcObject;
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
724 728
725 Member<AutoplayExperimentHelper::Client> m_autoplayHelperClient; 729 Member<AutoplayExperimentHelper::Client> m_autoplayHelperClient;
726 Member<AutoplayExperimentHelper> m_autoplayHelper; 730 Member<AutoplayExperimentHelper> m_autoplayHelper;
727 Member<AutoplayUmaHelper> m_autoplayUmaHelper; 731 Member<AutoplayUmaHelper> m_autoplayUmaHelper;
728 732
729 WebRemotePlaybackClient* m_remotePlaybackClient; 733 WebRemotePlaybackClient* m_remotePlaybackClient;
730 734
731 // class AutoplayVisibilityObserver; 735 // class AutoplayVisibilityObserver;
732 Member<ElementVisibilityObserver> m_autoplayVisibilityObserver; 736 Member<ElementVisibilityObserver> m_autoplayVisibilityObserver;
733 737
738 IntRect m_currentIntersectRect;
739 bool m_mostlyFillingViewport = false;
ojan 2016/11/24 00:48:33 Put the bool up in line 653 instead with the ": 1"
xjz 2016/11/24 02:16:16 Done.
740
734 static URLRegistry* s_mediaStreamRegistry; 741 static URLRegistry* s_mediaStreamRegistry;
735 }; 742 };
736 743
737 inline bool isHTMLMediaElement(const HTMLElement& element) { 744 inline bool isHTMLMediaElement(const HTMLElement& element) {
738 return isHTMLAudioElement(element) || isHTMLVideoElement(element); 745 return isHTMLAudioElement(element) || isHTMLVideoElement(element);
739 } 746 }
740 747
741 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); 748 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement);
742 749
743 } // namespace blink 750 } // namespace blink
744 751
745 #endif // HTMLMediaElement_h 752 #endif // HTMLMediaElement_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698