Changeset 164997 in webkit


Ignore:
Timestamp:
Mar 3, 2014 12:01:26 PM (10 years ago)
Author:
Simon Fraser
Message:

Crash when going into video fullscreen on iOS
https://bugs.webkit.org/show_bug.cgi?id=129613

Reviewed by Dean Jackson.

We shouldn't reparent a UIView's layer without unparenting
the view first.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::setVideoLayerID):

Location:
trunk/Source/WebKit2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r164973 r164997  
     12014-03-03  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Crash when going into video fullscreen on iOS
     4        https://bugs.webkit.org/show_bug.cgi?id=129613
     5
     6        Reviewed by Dean Jackson.
     7       
     8        We shouldn't reparent a UIView's layer without unparenting
     9        the view first.
     10
     11        * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
     12        (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerID):
     13
    1142014-03-03  Carlos Garcia Campos  <cgarcia@igalia.com>
    215
  • trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm

    r164890 r164997  
    7373    RemoteLayerTreeDrawingAreaProxy* remoteDrawingAreaProxy = toRemoteLayerTreeDrawingAreaProxy(m_page->drawingArea());
    7474
    75     UIView *videoView = remoteDrawingAreaProxy->remoteLayerTreeHost().getLayer(videoLayerID);
    76     setVideoLayer(videoView.layer);
     75    if (videoLayerID) {
     76        // Entering fullscreen.
     77        UIView *videoView = remoteDrawingAreaProxy->remoteLayerTreeHost().getLayer(videoLayerID);
     78        // Remove the UIView from its superlayer, so we can reparent the layer without problems.
     79        [videoView removeFromSuperview];
     80       
     81        setVideoLayer(videoView.layer);
     82    } else
     83        setVideoLayer(nil);
    7784   
    7885    m_videoLayerID = videoLayerID;
Note: See TracChangeset for help on using the changeset viewer.