Changeset 228824 in webkit


Ignore:
Timestamp:
Feb 20, 2018 10:29:02 AM (6 years ago)
Author:
eric.carlson@apple.com
Message:

[iOS] Returning from Auto-PiP causes Safari to be unresponsive
https://bugs.webkit.org/show_bug.cgi?id=182977
<rdar://problem/37685981>

Reviewed by Jer Noble.

Remove the error handling added in r228115, it breaks auto-pip.

  • platform/ios/VideoFullscreenInterfaceAVKit.mm:

(VideoFullscreenInterfaceAVKit::applicationDidBecomeActive):
(VideoFullscreenInterfaceAVKit::enterFullscreenStandard):
(VideoFullscreenInterfaceAVKit::exitFullscreen):
(VideoFullscreenInterfaceAVKit::cleanupFullscreen):
(VideoFullscreenInterfaceAVKit::didStartPictureInPicture):
(VideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler):
(VideoFullscreenInterfaceAVKit::exitFullscreenHandler):
(VideoFullscreenInterfaceAVKit::enterFullscreenHandler):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r228823 r228824  
     12018-02-20  Eric Carlson  <eric.carlson@apple.com>
     2
     3        [iOS] Returning from Auto-PiP causes Safari to be unresponsive
     4        https://bugs.webkit.org/show_bug.cgi?id=182977
     5        <rdar://problem/37685981>
     6
     7        Reviewed by Jer Noble.
     8
     9        Remove the error handling added in r228115, it breaks auto-pip.
     10
     11        * platform/ios/VideoFullscreenInterfaceAVKit.mm:
     12        (VideoFullscreenInterfaceAVKit::applicationDidBecomeActive):
     13        (VideoFullscreenInterfaceAVKit::enterFullscreenStandard):
     14        (VideoFullscreenInterfaceAVKit::exitFullscreen):
     15        (VideoFullscreenInterfaceAVKit::cleanupFullscreen):
     16        (VideoFullscreenInterfaceAVKit::didStartPictureInPicture):
     17        (VideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler):
     18        (VideoFullscreenInterfaceAVKit::exitFullscreenHandler):
     19        (VideoFullscreenInterfaceAVKit::enterFullscreenHandler):
     20
    1212018-02-20  Jer Noble  <jer.noble@apple.com>
    222
  • trunk/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm

    r228389 r228824  
    593593        [[m_playerViewController view] layoutIfNeeded];
    594594        [m_playerViewController exitFullScreenAnimated:NO completionHandler:[protectedThis = makeRefPtr(this), this] (BOOL success, NSError* error) {
    595             if (!success) {
     595            if (!success)
    596596                WTFLogAlways("-[AVPlayerViewController exitFullScreenAnimated:completionHandler:] failed with error %s", [[error localizedDescription] UTF8String]);
    597                 ASSERT_NOT_REACHED();
    598             }
    599597
    600598            [m_window setHidden:YES];
     
    722720    [[m_playerViewController view] layoutIfNeeded];
    723721    [m_playerViewController enterFullScreenAnimated:YES completionHandler:[this, protectedThis = makeRefPtr(this)] (BOOL succeeded, NSError* error) {
    724         if (!succeeded) {
     722        if (!succeeded)
    725723            WTFLogAlways("-[AVPlayerViewController enterFullScreenAnimated:completionHandler:] failed with error %s", [[error localizedDescription] UTF8String]);
    726             ASSERT_NOT_REACHED();
    727             m_videoFullscreenModel->requestFullscreenMode(HTMLMediaElementEnums::VideoFullscreenModeNone, YES);
    728             return;
    729         }
    730724
    731725        LOG(Fullscreen, "VideoFullscreenInterfaceAVKit::enterFullscreenStandard - lambda(%p) - succeeded(%s)", this, boolString(succeeded));
     
    764758    } else if (m_currentMode.hasPictureInPicture() && m_currentMode.hasFullscreen()) {
    765759        [m_playerViewController exitFullScreenAnimated:NO completionHandler:[protectedThis = makeRefPtr(this), this] (BOOL success, NSError* error) {
    766             if (!success) {
     760            if (!success)
    767761                WTFLogAlways("-[AVPlayerViewController exitFullScreenAnimated:completionHandler:] failed with error %s", [[error localizedDescription] UTF8String]);
    768                 ASSERT_NOT_REACHED();
    769             }
    770762
    771763            clearMode(HTMLMediaElementEnums::VideoFullscreenModeStandard);
     
    775767    } else if (m_currentMode.isFullscreen()) {
    776768        [m_playerViewController exitFullScreenAnimated:YES completionHandler:[protectedThis = makeRefPtr(this), this] (BOOL success, NSError* error) mutable {
    777             if (!success) {
     769            if (!success)
    778770                WTFLogAlways("-[AVPlayerViewController exitFullScreenAnimated:completionHandler:] failed with error %s", [[error localizedDescription] UTF8String]);
    779             }
    780771
    781772            m_exitCompleted = true;
     
    812803        [[m_playerViewController view] layoutIfNeeded];
    813804        [m_playerViewController exitFullScreenAnimated:NO completionHandler:[] (BOOL success, NSError* error) {
    814             if (!success) {
     805            if (!success)
    815806                WTFLogAlways("-[AVPlayerViewController exitFullScreenAnimated:completionHandler:] failed with error %s", [[error localizedDescription] UTF8String]);
    816             }
    817807        }];
    818808    }
     
    903893            [[m_playerViewController view] layoutIfNeeded];
    904894            [m_playerViewController exitFullScreenAnimated:YES completionHandler:[protectedThis = makeRefPtr(this), this] (BOOL success, NSError* error) {
    905                 if (!success) {
     895                if (!success)
    906896                    WTFLogAlways("-[AVPlayerViewController exitFullScreenAnimated:completionHandler:] failed with error %s", [[error localizedDescription] UTF8String]);
    907                     ASSERT_NOT_REACHED();
    908                 }
    909897                [m_window setHidden:YES];
    910898                [[m_playerViewController view] setHidden:YES];
     
    990978        [[m_playerViewController view] layoutIfNeeded];
    991979        [m_playerViewController enterFullScreenAnimated:YES completionHandler:^(BOOL succeeded, NSError *error) {
    992             if (!succeeded) {
     980            if (!succeeded)
    993981                WTFLogAlways("-[AVPlayerViewController enterFullScreenAnimated:completionHandler:] failed with error %s", [[error localizedDescription] UTF8String]);
    994                 ASSERT_NOT_REACHED();
    995                 m_videoFullscreenModel->requestFullscreenMode(HTMLMediaElementEnums::VideoFullscreenModeNone, YES);
    996                 return;
    997             }
    998982
    999983            m_restoringFullscreenForPictureInPictureStop = false;
     
    11111095        [[m_playerViewController view] layoutIfNeeded];
    11121096        [m_playerViewController exitFullScreenAnimated:NO completionHandler:[] (BOOL success, NSError* error) {
    1113             if (!success) {
     1097            if (!success)
    11141098                WTFLogAlways("-[AVPlayerViewController exitFullScreenAnimated:completionHandler:] failed with error %s", [[error localizedDescription] UTF8String]);
    1115                 ASSERT_NOT_REACHED();
    1116             }
    11171099        }];
    11181100    }
     
    15551537void VideoFullscreenInterfaceAVKit::exitFullscreenHandler(BOOL success, NSError* error)
    15561538{
    1557     if (!success) {
     1539    if (!success)
    15581540        WTFLogAlways("-[AVPlayerViewController exitFullScreenAnimated:completionHandler:] failed with error %s", [[error localizedDescription] UTF8String]);
    1559     }
    1560 
    1561     UNUSED_PARAM(success);
     1541
    15621542    LOG(Fullscreen, "VideoFullscreenInterfaceAVKit::didExitFullscreen(%p) - %d", this, success);
    15631543
     
    15841564void VideoFullscreenInterfaceAVKit::enterFullscreenHandler(BOOL success, NSError* error)
    15851565{
    1586     if (!success) {
     1566    if (!success)
    15871567        WTFLogAlways("-[AVPlayerViewController enterFullScreenAnimated:completionHandler:] failed with error %s", [[error localizedDescription] UTF8String]);
    1588         ASSERT_NOT_REACHED();
    1589         m_videoFullscreenModel->requestFullscreenMode(HTMLMediaElementEnums::VideoFullscreenModeNone, YES);
    1590         return;
    1591     }
    15921568
    15931569    LOG(Fullscreen, "VideoFullscreenInterfaceAVKit::enterFullscreenStandard - lambda(%p)", this);
Note: See TracChangeset for help on using the changeset viewer.