Title: [164997] trunk/Source/WebKit2
- Revision
- 164997
- Author
- simon.fra...@apple.com
- Date
- 2014-03-03 12:01:26 -0800 (Mon, 03 Mar 2014)
Log 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):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (164996 => 164997)
--- trunk/Source/WebKit2/ChangeLog 2014-03-03 19:30:49 UTC (rev 164996)
+++ trunk/Source/WebKit2/ChangeLog 2014-03-03 20:01:26 UTC (rev 164997)
@@ -1,3 +1,16 @@
+2014-03-03 Simon Fraser <simon.fra...@apple.com>
+
+ 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):
+
2014-03-03 Carlos Garcia Campos <cgar...@igalia.com>
[GTK] WebKit2WebExtension GIR can't be used in vala
Modified: trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm (164996 => 164997)
--- trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm 2014-03-03 19:30:49 UTC (rev 164996)
+++ trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm 2014-03-03 20:01:26 UTC (rev 164997)
@@ -72,8 +72,15 @@
{
RemoteLayerTreeDrawingAreaProxy* remoteDrawingAreaProxy = toRemoteLayerTreeDrawingAreaProxy(m_page->drawingArea());
- UIView *videoView = remoteDrawingAreaProxy->remoteLayerTreeHost().getLayer(videoLayerID);
- setVideoLayer(videoView.layer);
+ if (videoLayerID) {
+ // Entering fullscreen.
+ UIView *videoView = remoteDrawingAreaProxy->remoteLayerTreeHost().getLayer(videoLayerID);
+ // Remove the UIView from its superlayer, so we can reparent the layer without problems.
+ [videoView removeFromSuperview];
+
+ setVideoLayer(videoView.layer);
+ } else
+ setVideoLayer(nil);
m_videoLayerID = videoLayerID;
m_enterFullscreenAfterVideoLayerUnparentedTransaction = true;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes