Title: [170610] trunk/Source/WebKit2
- Revision
- 170610
- Author
- [email protected]
- Date
- 2014-06-30 15:58:36 -0700 (Mon, 30 Jun 2014)
Log Message
[iOS WK2] Don't crash on status bar tap with overflow scroll views
https://bugs.webkit.org/show_bug.cgi?id=134459
Reviewed by Tim Horton.
The tiled scrolling indicator parents UIViews under CALayers, but that causes
those views to miss -willMoveToWindow:nil notifications on teardown. This can leave
deleted UIScrollViews in UIKit's "scroll to top" list.
Fix by not making UIScrollViews in the debug layer tree host.
* UIProcess/ios/RemoteLayerTreeHostIOS.mm:
(WebKit::RemoteLayerTreeHost::createLayer):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (170609 => 170610)
--- trunk/Source/WebKit2/ChangeLog 2014-06-30 22:52:32 UTC (rev 170609)
+++ trunk/Source/WebKit2/ChangeLog 2014-06-30 22:58:36 UTC (rev 170610)
@@ -1,3 +1,19 @@
+2014-06-30 Simon Fraser <[email protected]>
+
+ [iOS WK2] Don't crash on status bar tap with overflow scroll views
+ https://bugs.webkit.org/show_bug.cgi?id=134459
+
+ Reviewed by Tim Horton.
+
+ The tiled scrolling indicator parents UIViews under CALayers, but that causes
+ those views to miss -willMoveToWindow:nil notifications on teardown. This can leave
+ deleted UIScrollViews in UIKit's "scroll to top" list.
+
+ Fix by not making UIScrollViews in the debug layer tree host.
+
+ * UIProcess/ios/RemoteLayerTreeHostIOS.mm:
+ (WebKit::RemoteLayerTreeHost::createLayer):
+
2014-06-28 Oliver Hunt <[email protected]>
Restrict network process sandbox
Modified: trunk/Source/WebKit2/UIProcess/ios/RemoteLayerTreeHostIOS.mm (170609 => 170610)
--- trunk/Source/WebKit2/UIProcess/ios/RemoteLayerTreeHostIOS.mm 2014-06-30 22:52:32 UTC (rev 170609)
+++ trunk/Source/WebKit2/UIProcess/ios/RemoteLayerTreeHostIOS.mm 2014-06-30 22:58:36 UTC (rev 170610)
@@ -140,9 +140,12 @@
case PlatformCALayer::LayerTypeTiledBackingLayer:
case PlatformCALayer::LayerTypePageTiledBackingLayer:
case PlatformCALayer::LayerTypeTiledBackingTileLayer:
- if (layerProperties && layerProperties->customBehavior == GraphicsLayer::CustomScrollingBehavior)
- view = adoptNS([[UIScrollView alloc] init]);
- else
+ if (layerProperties && layerProperties->customBehavior == GraphicsLayer::CustomScrollingBehavior) {
+ if (!m_isDebugLayerTreeHost)
+ view = adoptNS([[UIScrollView alloc] init]);
+ else // The debug indicator parents views under layers, which can cause crashes with UIScrollView.
+ view = adoptNS([[UIView alloc] init]);
+ } else
view = adoptNS([[WKCompositingView alloc] init]);
break;
case PlatformCALayer::LayerTypeTransformLayer:
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes