Title: [171735] branches/safari-600.1-branch/Source/WebKit2
- Revision
- 171735
- Author
- lforsch...@apple.com
- Date
- 2014-07-29 01:45:19 -0700 (Tue, 29 Jul 2014)
Log Message
Merged r171709. <rdar://problem/16988887>
Modified Paths
Diff
Modified: branches/safari-600.1-branch/Source/WebKit2/ChangeLog (171734 => 171735)
--- branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-29 08:41:10 UTC (rev 171734)
+++ branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-29 08:45:19 UTC (rev 171735)
@@ -1,5 +1,29 @@
2014-07-29 Lucas Forschler <lforsch...@apple.com>
+ Merge r171709
+
+ 2014-07-28 Benjamin Poulain <bpoul...@apple.com>
+
+ [iOS WK2] WKWebView sometime tries to change the size of a null DrawingAreaProxy
+ https://bugs.webkit.org/show_bug.cgi?id=135368
+ <rdar://problem/16988887>
+
+ Reviewed by Simon Fraser.
+
+ We should never assume DrawingAreaProxy exists in the API invoked by the clients
+ of WKWebView. There are at least two cases where the DrawingAreaProxy is null:
+ -In some path on initialization.
+ -After a crash.
+
+ * UIProcess/API/Cocoa/WKWebView.mm:
+ (-[WKWebView _frameOrBoundsChanged]):
+ (-[WKWebView _beginAnimatedResizeWithUpdates:]):
+ We can safely null check and skip setting the size. If the call was skipped,
+ the size is set on DrawingAreaProxy initialization by querying the current
+ size through the page client.
+
+2014-07-29 Lucas Forschler <lforsch...@apple.com>
+
Merge r171706
2014-07-28 Roger Fong <roger_f...@apple.com>
Modified: branches/safari-600.1-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (171734 => 171735)
--- branches/safari-600.1-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2014-07-29 08:41:10 UTC (rev 171734)
+++ branches/safari-600.1-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2014-07-29 08:45:19 UTC (rev 171735)
@@ -1351,7 +1351,8 @@
_page->setViewportConfigurationMinimumLayoutSizeForMinimalUI(WebCore::FloatSize(bounds.size));
if (!_overridesMaximumUnobscuredSize)
_page->setMaximumUnobscuredSize(WebCore::FloatSize(bounds.size));
- _page->drawingArea()->setSize(WebCore::IntSize(bounds.size), WebCore::IntSize(), WebCore::IntSize());
+ if (WebKit::DrawingAreaProxy* drawingArea = _page->drawingArea())
+ drawingArea->setSize(WebCore::IntSize(bounds.size), WebCore::IntSize(), WebCore::IntSize());
}
[_customContentView web_setMinimumSize:bounds.size];
@@ -2237,7 +2238,8 @@
CGRect unobscuredRectInContentCoordinates = [self convertRect:futureUnobscuredRectInSelfCoordinates toView:_contentView.get()];
_page->dynamicViewportSizeUpdate(newMinimumLayoutSize, newMinimumLayoutSizeForMinimalUI, newMaximumUnobscuredSize, visibleRectInContentCoordinates, unobscuredRectInContentCoordinates, futureUnobscuredRectInSelfCoordinates, targetScale, newOrientation);
- _page->drawingArea()->setSize(WebCore::IntSize(newBounds.size), WebCore::IntSize(), WebCore::IntSize());
+ if (WebKit::DrawingAreaProxy* drawingArea = _page->drawingArea())
+ drawingArea->setSize(WebCore::IntSize(newBounds.size), WebCore::IntSize(), WebCore::IntSize());
}
- (void)_endAnimatedResize
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes