Title: [109486] trunk/Source/WebCore
Revision
109486
Author
[email protected]
Date
2012-03-01 19:11:56 -0800 (Thu, 01 Mar 2012)

Log Message

Crash when doing repeated double-tap-to-zoom gesture on apple startpage
https://bugs.webkit.org/show_bug.cgi?id=80081
<rdar://problem/10966391>

Reviewed by Sam Weinig.

Setting the contents scale on the tile cache layer was creating a WebTileCacheLayer presentation layer copy with a null _tileCache.

Implement -[WebTileCacheLayer actionForKey:] and have it always return nil so we'll avoid implicit animations, and thus creating presentation layers.

* platform/graphics/ca/mac/WebTileCacheLayer.mm:
(-[WebTileCacheLayer initWithLayer:]):
Implement this and assert that it's never reached. We should never create presentation layers since we don't animate this layer.

(-[WebTileCacheLayer actionForKey:]):
Implement this and always return nil.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (109485 => 109486)


--- trunk/Source/WebCore/ChangeLog	2012-03-02 03:10:44 UTC (rev 109485)
+++ trunk/Source/WebCore/ChangeLog	2012-03-02 03:11:56 UTC (rev 109486)
@@ -1,3 +1,22 @@
+2012-03-01  Anders Carlsson  <[email protected]>
+
+        Crash when doing repeated double-tap-to-zoom gesture on apple startpage
+        https://bugs.webkit.org/show_bug.cgi?id=80081
+        <rdar://problem/10966391>
+
+        Reviewed by Sam Weinig.
+
+        Setting the contents scale on the tile cache layer was creating a WebTileCacheLayer presentation layer copy with a null _tileCache.
+
+        Implement -[WebTileCacheLayer actionForKey:] and have it always return nil so we'll avoid implicit animations, and thus creating presentation layers.
+
+        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
+        (-[WebTileCacheLayer initWithLayer:]):
+        Implement this and assert that it's never reached. We should never create presentation layers since we don't animate this layer.
+
+        (-[WebTileCacheLayer actionForKey:]):
+        Implement this and always return nil.
+
 2012-03-01  Hajime Morrita  <[email protected]>
 
         Custom scrollbars do not support transparency

Modified: trunk/Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.mm (109485 => 109486)


--- trunk/Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.mm	2012-03-02 03:10:44 UTC (rev 109485)
+++ trunk/Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.mm	2012-03-02 03:11:56 UTC (rev 109486)
@@ -58,6 +58,22 @@
     [super dealloc];
 }
 
+- (id)initWithLayer:(id)layer
+{
+    UNUSED_PARAM(layer);
+
+    ASSERT_NOT_REACHED();
+    return nil;
+}
+
+- (id<CAAction>)actionForKey:(NSString *)key
+{
+    UNUSED_PARAM(key);
+    
+    // Disable all animations.
+    return nil;
+}
+
 - (void)setBounds:(CGRect)bounds
 {
     [super setBounds:bounds];
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to