Title: [190992] trunk/Source/WebKit2
Revision
190992
Author
[email protected]
Date
2015-10-13 09:54:16 -0700 (Tue, 13 Oct 2015)

Log Message

[iOS] Avoid crash due to invalid screen bounds
https://bugs.webkit.org/show_bug.cgi?id=150048
<rdar://problem/22112664>

Reviewed by Jer Noble.

Check for an invalid bounds, and reset it to a known state before
attempting to use it.

* WebProcess/ios/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenManager::setVideoLayerFrameFenced):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (190991 => 190992)


--- trunk/Source/WebKit2/ChangeLog	2015-10-13 16:03:22 UTC (rev 190991)
+++ trunk/Source/WebKit2/ChangeLog	2015-10-13 16:54:16 UTC (rev 190992)
@@ -1,3 +1,17 @@
+2015-10-13  Brent Fulgham  <[email protected]>
+
+        [iOS] Avoid crash due to invalid screen bounds
+        https://bugs.webkit.org/show_bug.cgi?id=150048
+        <rdar://problem/22112664>
+
+        Reviewed by Jer Noble.
+
+        Check for an invalid bounds, and reset it to a known state before
+        attempting to use it.
+
+        * WebProcess/ios/WebVideoFullscreenManager.mm:
+        (WebKit::WebVideoFullscreenManager::setVideoLayerFrameFenced):
+
 2015-10-13  Sergio Villar Senin  <[email protected]>
 
         [GTK] Fix build for ENABLE_TOUCH_EVENTS=OFF

Modified: trunk/Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.mm (190991 => 190992)


--- trunk/Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.mm	2015-10-13 16:03:22 UTC (rev 190991)
+++ trunk/Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.mm	2015-10-13 16:54:16 UTC (rev 190992)
@@ -540,6 +540,11 @@
     RefPtr<WebVideoFullscreenInterfaceContext> interface;
     std::tie(model, interface) = ensureModelAndInterface(contextId);
 
+    if (std::isnan(bounds.x()) || std::isnan(bounds.y()) || std::isnan(bounds.width()) || std::isnan(bounds.height())) {
+        FloatRect clientRect = clientRectForElement(model->videoElement());
+        bounds = FloatRect(0, 0, clientRect.width(), clientRect.height());
+    }
+    
     [CATransaction begin];
     [CATransaction setAnimationDuration:0];
     if (interface->layerHostingContext())
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to