Title: [168226] trunk/Source/WebCore
- Revision
- 168226
- Author
- simon.fra...@apple.com
- Date
- 2014-05-03 12:13:56 -0700 (Sat, 03 May 2014)
Log Message
Fix crash in WebKit client app when zooming
https://bugs.webkit.org/show_bug.cgi?id=132475
<rdar://problem/16703405>
Reviewed by Tim Horton.
It's possible for a WebTiledBackingLayer CALayer to remain in the CALayer
hierarchy after we've called -invalidate on it, which clears the _tileController.
Project the getters against null derefs to handle this.
* platform/graphics/ca/mac/WebTiledBackingLayer.mm:
(-[WebTiledBackingLayer isOpaque]):
(-[WebTiledBackingLayer acceleratesDrawing]):
(-[WebTiledBackingLayer contentsScale]):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (168225 => 168226)
--- trunk/Source/WebCore/ChangeLog 2014-05-03 18:52:45 UTC (rev 168225)
+++ trunk/Source/WebCore/ChangeLog 2014-05-03 19:13:56 UTC (rev 168226)
@@ -1,3 +1,20 @@
+2014-05-03 Simon Fraser <simon.fra...@apple.com>
+
+ Fix crash in WebKit client app when zooming
+ https://bugs.webkit.org/show_bug.cgi?id=132475
+ <rdar://problem/16703405>
+
+ Reviewed by Tim Horton.
+
+ It's possible for a WebTiledBackingLayer CALayer to remain in the CALayer
+ hierarchy after we've called -invalidate on it, which clears the _tileController.
+ Project the getters against null derefs to handle this.
+
+ * platform/graphics/ca/mac/WebTiledBackingLayer.mm:
+ (-[WebTiledBackingLayer isOpaque]):
+ (-[WebTiledBackingLayer acceleratesDrawing]):
+ (-[WebTiledBackingLayer contentsScale]):
+
2014-05-03 Carlos Garcia Campos <cgar...@igalia.com>
Unreviewed. Fix GTK+ build after r168209.
Modified: trunk/Source/WebCore/platform/graphics/ca/mac/WebTiledBackingLayer.mm (168225 => 168226)
--- trunk/Source/WebCore/platform/graphics/ca/mac/WebTiledBackingLayer.mm 2014-05-03 18:52:45 UTC (rev 168225)
+++ trunk/Source/WebCore/platform/graphics/ca/mac/WebTiledBackingLayer.mm 2014-05-03 19:13:56 UTC (rev 168226)
@@ -90,7 +90,7 @@
- (BOOL)isOpaque
{
- return _tileController->tilesAreOpaque();
+ return _tileController ? _tileController->tilesAreOpaque() : NO;
}
- (void)setNeedsDisplay
@@ -110,7 +110,7 @@
- (BOOL)acceleratesDrawing
{
- return _tileController->acceleratesDrawing();
+ return _tileController ? _tileController->acceleratesDrawing() : NO;
}
- (void)setContentsScale:(CGFloat)contentsScale
@@ -120,7 +120,7 @@
- (CGFloat)contentsScale
{
- return _tileController->contentsScale();
+ return _tileController ? _tileController->contentsScale() : 1;
}
- (WebCore::TiledBacking*)tiledBacking
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes