| OLD | NEW |
| 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 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 326 void attachLayoutTree(const AttachContext& = AttachContext()) override; | 326 void attachLayoutTree(const AttachContext& = AttachContext()) override; |
| 327 | 327 |
| 328 void didMoveToNewDocument(Document& oldDocument) override; | 328 void didMoveToNewDocument(Document& oldDocument) override; |
| 329 virtual KURL posterImageURL() const { return KURL(); } | 329 virtual KURL posterImageURL() const { return KURL(); } |
| 330 | 330 |
| 331 enum DisplayMode { Unknown, Poster, Video }; | 331 enum DisplayMode { Unknown, Poster, Video }; |
| 332 DisplayMode getDisplayMode() const { return m_displayMode; } | 332 DisplayMode getDisplayMode() const { return m_displayMode; } |
| 333 virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; } | 333 virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; } |
| 334 | 334 |
| 335 private: | 335 private: |
| 336 // Friend class for testing. |
| 337 friend class MediaElementFillingViewportTest; |
| 338 |
| 336 void resetMediaPlayerAndMediaSource(); | 339 void resetMediaPlayerAndMediaSource(); |
| 337 | 340 |
| 338 bool alwaysCreateUserAgentShadowRoot() const final { return true; } | 341 bool alwaysCreateUserAgentShadowRoot() const final { return true; } |
| 339 bool areAuthorShadowsAllowed() const final { return false; } | 342 bool areAuthorShadowsAllowed() const final { return false; } |
| 340 | 343 |
| 341 bool supportsFocus() const final; | 344 bool supportsFocus() const final; |
| 342 bool isMouseFocusable() const final; | 345 bool isMouseFocusable() const final; |
| 343 bool layoutObjectIsNeeded(const ComputedStyle&) override; | 346 bool layoutObjectIsNeeded(const ComputedStyle&) override; |
| 344 LayoutObject* createLayoutObject(const ComputedStyle&) override; | 347 LayoutObject* createLayoutObject(const ComputedStyle&) override; |
| 345 InsertionNotificationRequest insertedInto(ContainerNode*) final; | 348 InsertionNotificationRequest insertedInto(ContainerNode*) final; |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 533 void scheduleNotifyPlaying(); | 536 void scheduleNotifyPlaying(); |
| 534 void resolveScheduledPlayPromises(); | 537 void resolveScheduledPlayPromises(); |
| 535 void rejectScheduledPlayPromises(); | 538 void rejectScheduledPlayPromises(); |
| 536 void rejectPlayPromises(ExceptionCode, const String&); | 539 void rejectPlayPromises(ExceptionCode, const String&); |
| 537 void rejectPlayPromisesInternal(ExceptionCode, const String&); | 540 void rejectPlayPromisesInternal(ExceptionCode, const String&); |
| 538 | 541 |
| 539 EnumerationHistogram& showControlsHistogram() const; | 542 EnumerationHistogram& showControlsHistogram() const; |
| 540 | 543 |
| 541 void onVisibilityChangedForAutoplay(bool isVisible); | 544 void onVisibilityChangedForAutoplay(bool isVisible); |
| 542 | 545 |
| 546 void checkViewportIntersectionChanged(); |
| 547 void viewportFillDebouncerTimerFired(TimerBase*); |
| 548 |
| 543 UnthrottledThreadTimer<HTMLMediaElement> m_loadTimer; | 549 UnthrottledThreadTimer<HTMLMediaElement> m_loadTimer; |
| 544 UnthrottledThreadTimer<HTMLMediaElement> m_progressEventTimer; | 550 UnthrottledThreadTimer<HTMLMediaElement> m_progressEventTimer; |
| 545 UnthrottledThreadTimer<HTMLMediaElement> m_playbackProgressTimer; | 551 UnthrottledThreadTimer<HTMLMediaElement> m_playbackProgressTimer; |
| 546 UnthrottledThreadTimer<HTMLMediaElement> m_audioTracksTimer; | 552 UnthrottledThreadTimer<HTMLMediaElement> m_audioTracksTimer; |
| 553 UnthrottledThreadTimer<HTMLMediaElement> m_viewportFillDebouncerTimer; |
| 547 Member<TimeRanges> m_playedTimeRanges; | 554 Member<TimeRanges> m_playedTimeRanges; |
| 548 Member<GenericEventQueue> m_asyncEventQueue; | 555 Member<GenericEventQueue> m_asyncEventQueue; |
| 549 | 556 |
| 550 double m_playbackRate; | 557 double m_playbackRate; |
| 551 double m_defaultPlaybackRate; | 558 double m_defaultPlaybackRate; |
| 552 NetworkState m_networkState; | 559 NetworkState m_networkState; |
| 553 ReadyState m_readyState; | 560 ReadyState m_readyState; |
| 554 ReadyState m_readyStateMaximum; | 561 ReadyState m_readyStateMaximum; |
| 555 KURL m_currentSrc; | 562 KURL m_currentSrc; |
| 556 Member<MediaStreamDescriptor> m_srcObject; | 563 Member<MediaStreamDescriptor> m_srcObject; |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 636 | 643 |
| 637 bool m_textTracksVisible : 1; | 644 bool m_textTracksVisible : 1; |
| 638 bool m_shouldPerformAutomaticTrackSelection : 1; | 645 bool m_shouldPerformAutomaticTrackSelection : 1; |
| 639 | 646 |
| 640 bool m_tracksAreReady : 1; | 647 bool m_tracksAreReady : 1; |
| 641 bool m_processingPreferenceChange : 1; | 648 bool m_processingPreferenceChange : 1; |
| 642 bool m_playingRemotely : 1; | 649 bool m_playingRemotely : 1; |
| 643 // Whether this element is in overlay fullscreen mode. | 650 // Whether this element is in overlay fullscreen mode. |
| 644 bool m_inOverlayFullscreenVideo : 1; | 651 bool m_inOverlayFullscreenVideo : 1; |
| 645 | 652 |
| 653 bool m_mostlyFillingViewport : 1; |
| 654 |
| 646 TraceWrapperMember<AudioTrackList> m_audioTracks; | 655 TraceWrapperMember<AudioTrackList> m_audioTracks; |
| 647 TraceWrapperMember<VideoTrackList> m_videoTracks; | 656 TraceWrapperMember<VideoTrackList> m_videoTracks; |
| 648 TraceWrapperMember<TextTrackList> m_textTracks; | 657 TraceWrapperMember<TextTrackList> m_textTracks; |
| 649 HeapVector<Member<TextTrack>> m_textTracksWhenResourceSelectionBegan; | 658 HeapVector<Member<TextTrack>> m_textTracksWhenResourceSelectionBegan; |
| 650 | 659 |
| 651 Member<CueTimeline> m_cueTimeline; | 660 Member<CueTimeline> m_cueTimeline; |
| 652 | 661 |
| 653 HeapVector<Member<ScriptPromiseResolver>> m_playPromiseResolvers; | 662 HeapVector<Member<ScriptPromiseResolver>> m_playPromiseResolvers; |
| 654 TaskHandle m_playPromiseResolveTaskHandle; | 663 TaskHandle m_playPromiseResolveTaskHandle; |
| 655 TaskHandle m_playPromiseRejectTaskHandle; | 664 TaskHandle m_playPromiseRejectTaskHandle; |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 717 friend class MediaControlsTest; | 726 friend class MediaControlsTest; |
| 718 friend class HTMLVideoElementTest; | 727 friend class HTMLVideoElementTest; |
| 719 | 728 |
| 720 Member<AutoplayUmaHelper> m_autoplayUmaHelper; | 729 Member<AutoplayUmaHelper> m_autoplayUmaHelper; |
| 721 | 730 |
| 722 WebRemotePlaybackClient* m_remotePlaybackClient; | 731 WebRemotePlaybackClient* m_remotePlaybackClient; |
| 723 | 732 |
| 724 // class AutoplayVisibilityObserver; | 733 // class AutoplayVisibilityObserver; |
| 725 Member<ElementVisibilityObserver> m_autoplayVisibilityObserver; | 734 Member<ElementVisibilityObserver> m_autoplayVisibilityObserver; |
| 726 | 735 |
| 736 IntRect m_currentIntersectRect; |
| 737 |
| 727 static URLRegistry* s_mediaStreamRegistry; | 738 static URLRegistry* s_mediaStreamRegistry; |
| 728 }; | 739 }; |
| 729 | 740 |
| 730 inline bool isHTMLMediaElement(const HTMLElement& element) { | 741 inline bool isHTMLMediaElement(const HTMLElement& element) { |
| 731 return isHTMLAudioElement(element) || isHTMLVideoElement(element); | 742 return isHTMLAudioElement(element) || isHTMLVideoElement(element); |
| 732 } | 743 } |
| 733 | 744 |
| 734 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); | 745 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); |
| 735 | 746 |
| 736 } // namespace blink | 747 } // namespace blink |
| 737 | 748 |
| 738 #endif // HTMLMediaElement_h | 749 #endif // HTMLMediaElement_h |
| OLD | NEW |