Skip to content
  • jer.noble@apple.com's avatar
    Going full screen and cancelling gets system into a weird state · fc205776
    jer.noble@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=113445
    
    Reviewed by Eric Carlson.
    
    Replace an array of BOOL member variables to track full screen state with a single enum, and
    add state tracking for the "waiting to enter" and "waiting to exit" states. Use this new,
    more specific enum to be more stringent about the state when responding to WebProcess
    messages. Also only set the placeholder view's target once in full screen mode.
    
    * UIProcess/mac/WKFullScreenWindowController.h:
    * UIProcess/mac/WKFullScreenWindowController.mm:
    (-[WKFullScreenWindowController isFullScreen]): Yes when in full screen, entering full screen,
        or waiting to enter full screen.
    (-[WKFullScreenWindowController cancelOperation:]): Only requestExitFullScreen() if a watchdog
        has not already been made active.
    (-[WKFullScreenWindowController enterFullScreen:]): Use the new state variable.
    (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Ditto.
    (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Ditto. Set the placeholder target.
    (-[WKFullScreenWindowController exitFullScreen]): Ditto. Clear the placeholder target.
    (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Ditto.
    (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): Ditto.
    (-[WKFullScreenWindowController performClose:]): Ditto.
    (-[WKFullScreenWindowController close]): Ditto.
    (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Ditto.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147013 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    fc205776