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

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

Issue 2681863005: [Video] MediaSession API event handlers can resume background video. (Closed)
Patch Set: Tweaked the logic in HTMLME a bit Created 3 years, 10 months 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 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
386 void removeVideoTrack(WebMediaPlayer::TrackId) final; 386 void removeVideoTrack(WebMediaPlayer::TrackId) final;
387 void addTextTrack(WebInbandTextTrack*) final; 387 void addTextTrack(WebInbandTextTrack*) final;
388 void removeTextTrack(WebInbandTextTrack*) final; 388 void removeTextTrack(WebInbandTextTrack*) final;
389 void mediaSourceOpened(WebMediaSource*) final; 389 void mediaSourceOpened(WebMediaSource*) final;
390 void requestSeek(double) final; 390 void requestSeek(double) final;
391 void remoteRouteAvailabilityChanged(WebRemotePlaybackAvailability) final; 391 void remoteRouteAvailabilityChanged(WebRemotePlaybackAvailability) final;
392 void connectedToRemoteDevice() final; 392 void connectedToRemoteDevice() final;
393 void disconnectedFromRemoteDevice() final; 393 void disconnectedFromRemoteDevice() final;
394 void cancelledRemotePlaybackRequest() final; 394 void cancelledRemotePlaybackRequest() final;
395 void remotePlaybackStarted() final; 395 void remotePlaybackStarted() final;
396 void wasPausedWhenBackgrounded() final;
397 void wasResumedWhenForegrounded() final;
396 bool hasSelectedVideoTrack() final; 398 bool hasSelectedVideoTrack() final;
397 WebMediaPlayer::TrackId getSelectedVideoTrackId() final; 399 WebMediaPlayer::TrackId getSelectedVideoTrackId() final;
398 bool isAutoplayingMuted() final; 400 bool isAutoplayingMuted() final;
399 void requestReload(const WebURL&) final; 401 void requestReload(const WebURL&) final;
400 void activateViewportIntersectionMonitoring(bool) final; 402 void activateViewportIntersectionMonitoring(bool) final;
403 bool isBackgroundVideoPlaybackUnlocked() final;
401 404
402 void loadTimerFired(TimerBase*); 405 void loadTimerFired(TimerBase*);
403 void progressEventTimerFired(TimerBase*); 406 void progressEventTimerFired(TimerBase*);
404 void playbackProgressTimerFired(TimerBase*); 407 void playbackProgressTimerFired(TimerBase*);
405 void checkViewportIntersectionTimerFired(TimerBase*); 408 void checkViewportIntersectionTimerFired(TimerBase*);
406 void startPlaybackProgressTimer(); 409 void startPlaybackProgressTimer();
407 void startProgressEventTimer(); 410 void startProgressEventTimer();
408 void stopPeriodicTimers(); 411 void stopPeriodicTimers();
409 412
410 void seek(double time); 413 void seek(double time);
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
627 mutable bool m_officialPlaybackPositionNeedsUpdate; 630 mutable bool m_officialPlaybackPositionNeedsUpdate;
628 631
629 double m_fragmentEndTime; 632 double m_fragmentEndTime;
630 633
631 typedef unsigned PendingActionFlags; 634 typedef unsigned PendingActionFlags;
632 PendingActionFlags m_pendingActionFlags; 635 PendingActionFlags m_pendingActionFlags;
633 636
634 // FIXME: HTMLMediaElement has way too many state bits. 637 // FIXME: HTMLMediaElement has way too many state bits.
635 bool m_lockedPendingUserGesture : 1; 638 bool m_lockedPendingUserGesture : 1;
636 bool m_lockedPendingUserGestureIfCrossOriginExperimentEnabled : 1; 639 bool m_lockedPendingUserGestureIfCrossOriginExperimentEnabled : 1;
640 bool m_wasLockedWhenBackgrounded : 1;
637 bool m_playing : 1; 641 bool m_playing : 1;
638 bool m_shouldDelayLoadEvent : 1; 642 bool m_shouldDelayLoadEvent : 1;
639 bool m_haveFiredLoadedData : 1; 643 bool m_haveFiredLoadedData : 1;
640 bool m_canAutoplay : 1; 644 bool m_canAutoplay : 1;
641 bool m_muted : 1; 645 bool m_muted : 1;
642 bool m_paused : 1; 646 bool m_paused : 1;
643 bool m_seeking : 1; 647 bool m_seeking : 1;
644 648
645 // data has not been loaded since sending a "stalled" event 649 // data has not been loaded since sending a "stalled" event
646 bool m_sentStalledEvent : 1; 650 bool m_sentStalledEvent : 1;
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
750 754
751 inline bool isHTMLMediaElement(const HTMLElement& element) { 755 inline bool isHTMLMediaElement(const HTMLElement& element) {
752 return isHTMLAudioElement(element) || isHTMLVideoElement(element); 756 return isHTMLAudioElement(element) || isHTMLVideoElement(element);
753 } 757 }
754 758
755 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement); 759 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLMediaElement);
756 760
757 } // namespace blink 761 } // namespace blink
758 762
759 #endif // HTMLMediaElement_h 763 #endif // HTMLMediaElement_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698