[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

thakis at chromium.org thakis at chromium.org
Wed Dec 22 13:24:38 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 5856862d8521641ee9541d3974766ca3310fb2d5
Author: thakis at chromium.org <thakis at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Sep 14 17:16:32 2010 +0000

    2010-09-14  Nico Weber  <thakis at chromium.org>
    
            Reviewed by Darin Fisher.
    
            [chromium]: crash less in compositor mode on mac
            https://bugs.webkit.org/show_bug.cgi?id=45714
    
            The contents image can go away when the dom is updated. Since the
            layer tree is updated asynchronously, it needs to ref the native image,
            else it will hold on to a stale object.
    
            This still needs to be done for skia, too.
    
            * platform/graphics/chromium/ImageLayerChromium.h:
            * platform/graphics/chromium/ImageLayerChromium.cpp:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67477 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 839f124..74a9260 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2010-09-14  Nico Weber  <thakis at chromium.org>
+
+        Reviewed by Darin Fisher.
+
+        [chromium]: crash less in compositor mode on mac
+        https://bugs.webkit.org/show_bug.cgi?id=45714
+
+        The contents image can go away when the dom is updated. Since the
+        layer tree is updated asynchronously, it needs to ref the native image,
+        else it will hold on to a stale object.
+
+        This still needs to be done for skia, too.
+
+        * platform/graphics/chromium/ImageLayerChromium.h:
+        * platform/graphics/chromium/ImageLayerChromium.cpp:
+
 2010-09-14  Andrey Kosyakov  <caseq at chromium.org>
 
         Reviewed by Yury Semikhatsky.
diff --git a/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp b/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp
index 060bb46..f4cad7a 100644
--- a/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp
+++ b/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp
@@ -95,7 +95,7 @@ void ImageLayerChromium::updateContents()
     }
 #elif PLATFORM(CG)
     // NativeImagePtr is a CGImageRef on Mac OS X.
-    CGImageRef cgImage = m_contents;
+    CGImageRef cgImage = m_contents.get();
     int width = CGImageGetWidth(cgImage);
     int height = CGImageGetHeight(cgImage);
     requiredTextureSize = IntSize(width, height);
diff --git a/WebCore/platform/graphics/chromium/ImageLayerChromium.h b/WebCore/platform/graphics/chromium/ImageLayerChromium.h
index e95284c..a497b5c 100644
--- a/WebCore/platform/graphics/chromium/ImageLayerChromium.h
+++ b/WebCore/platform/graphics/chromium/ImageLayerChromium.h
@@ -36,6 +36,10 @@
 
 #include "ContentLayerChromium.h"
 
+#if PLATFORM(CG)
+#include <wtf/RetainPtr.h>
+#endif
+
 namespace WebCore {
 
 // A Layer that contains only an Image element.
@@ -50,7 +54,13 @@ public:
 
 private:
     ImageLayerChromium(GraphicsLayerChromium* owner);
+
+#if PLATFORM(CG)
+    RetainPtr<CGImageRef> m_contents;
+#elif 
+    // FIXME: This needs to be an owning type.
     NativeImagePtr m_contents;
+#endif
 };
 
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list