Changeset 246415 in webkit


Ignore:
Timestamp:
Jun 13, 2019 2:26:33 PM (5 years ago)
Author:
jer.noble@apple.com
Message:

AVKit play button bypasses MediaElementSession playbackPermitted() checks.
https://bugs.webkit.org/show_bug.cgi?id=198813

Reviewed by Eric Carlson.

HTMLMediaElement::togglePlayState() is an internal-only method that doesn't
run playbackPermitted() checks. For our imitation AVPlayerController, translate
requests to -togglePlayback: into calls to play() and pause() depending on
playback state.

  • platform/ios/WebAVPlayerController.mm:

(-[WebAVPlayerController togglePlayback:]):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r246409 r246415  
     12019-06-13  Jer Noble  <jer.noble@apple.com>
     2
     3        AVKit play button bypasses MediaElementSession playbackPermitted() checks.
     4        https://bugs.webkit.org/show_bug.cgi?id=198813
     5
     6        Reviewed by Eric Carlson.
     7
     8        HTMLMediaElement::togglePlayState() is an internal-only method that doesn't
     9        run playbackPermitted() checks. For our imitation AVPlayerController, translate
     10        requests to -togglePlayback: into calls to play() and pause() depending on
     11        playback state.
     12
     13        * platform/ios/WebAVPlayerController.mm:
     14        (-[WebAVPlayerController togglePlayback:]):
     15
    1162019-06-13  Commit Queue  <commit-queue@webkit.org>
    217
  • trunk/Source/WebCore/platform/ios/WebAVPlayerController.mm

    r238952 r246415  
    127127{
    128128    UNUSED_PARAM(sender);
    129     if (self.delegate)
    130         self.delegate->togglePlayState();
     129    if (!self.delegate)
     130        return;
     131
     132    if (self.delegate->isPlaying())
     133        self.delegate->pause();
     134    else
     135        self.delegate->play();
    131136}
    132137
Note: See TracChangeset for help on using the changeset viewer.