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

zimmermann at webkit.org zimmermann at webkit.org
Wed Dec 22 11:48:22 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 8cd95f1bdd2abeac9ae49235d9c811d3bbf1b2a4
Author: zimmermann at webkit.org <zimmermann at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Aug 7 09:25:48 2010 +0000

    2010-08-07  Nikolas Zimmermann  <nzimmermann at rim.com>
    
            Reviewed by Daniel Bates.
    
            Pattern fill with image not rendered after reload
            https://bugs.webkit.org/show_bug.cgi?id=41596
    
            Fixed by a one-liner. Instead of just invalidating it's own resources, images also have to update
            resources in the ancestor chain, if imageChanged() has been called (for example, a slow loading image)
    
            Test: http/tests/misc/slow-loading-image-in-pattern.html
    
            * rendering/RenderSVGImage.cpp:
            (WebCore::RenderSVGImage::imageChanged):
    
    2010-08-07  Nikolas Zimmermann  <nzimmermann at rim.com>
    
            Reviewed by Daniel Bates.
    
            Pattern fill with image not rendered after reload
            https://bugs.webkit.org/show_bug.cgi?id=41596
    
            Added test verifying that resources are properly updated, if an image child element has changed.
    
            * http/tests/misc/slow-loading-image-in-pattern.html: Added.
            * platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.checksum: Added.
            * platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.png: Added.
            * platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.txt: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64901 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index f5c0df0..5a312c6 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,17 @@
+2010-08-07  Nikolas Zimmermann  <nzimmermann at rim.com>
+
+        Reviewed by Daniel Bates.
+
+        Pattern fill with image not rendered after reload
+        https://bugs.webkit.org/show_bug.cgi?id=41596
+
+        Added test verifying that resources are properly updated, if an image child element has changed.
+
+        * http/tests/misc/slow-loading-image-in-pattern.html: Added.
+        * platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.checksum: Added.
+        * platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.png: Added.
+        * platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.txt: Added.
+
 2010-08-07  Kent Tamura  <tkent at chromium.org>
 
         Unreviewed, test expectation update.
diff --git a/LayoutTests/http/tests/misc/slow-loading-image-in-pattern.html b/LayoutTests/http/tests/misc/slow-loading-image-in-pattern.html
new file mode 100644
index 0000000..258f7b8
--- /dev/null
+++ b/LayoutTests/http/tests/misc/slow-loading-image-in-pattern.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<body>
+This tests slow loading png images referenced from a image element inside a SVG pattern resource.<br>
+You should see a 400x300 rect containing a tiled rendering of the Acid3 reference image.
+
+<svg width="400" height="300" style="position: absolute; left: 10px; top: 50px; border: solid;">
+<defs>
+    <pattern id="pattern" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse" viewBox="0 0 800 600">
+        <image width="800" height="600" xlink:href="resources/slow-png-load.pl?name=../acid3-expected.png&loadtime=1"/>
+  </pattern>
+</defs>
+<rect width="400" height="300" fill="url(#pattern)"/>
+</svg>
+<script>
+// Force a layout
+document.body.offsetWidth;
+
+// Repaint immediately before image arrived
+if (window.layoutTestController)
+    layoutTestController.display();
+</script>
+</body>
+</html>
diff --git a/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.checksum b/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.checksum
new file mode 100644
index 0000000..741ff03
--- /dev/null
+++ b/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.checksum
@@ -0,0 +1 @@
+62ada66f96758fc4564c2ca355747ff1
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.png b/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.png
new file mode 100644
index 0000000..b04b086
Binary files /dev/null and b/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.png differ
diff --git a/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.txt b/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.txt
new file mode 100644
index 0000000..0d1be0e
--- /dev/null
+++ b/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.txt
@@ -0,0 +1,18 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x52
+  RenderBlock {HTML} at (0,0) size 800x52
+    RenderBody {BODY} at (8,8) size 784x36
+      RenderText {#text} at (0,0) size 627x18
+        text run at (0,0) width 627: "This tests slow loading png images referenced from a image element inside a SVG pattern resource."
+      RenderBR {BR} at (627,0) size 0x18
+      RenderText {#text} at (0,18) size 563x18
+        text run at (0,18) width 563: "You should see a 400x300 rect containing a tiled rendering of the Acid3 reference image."
+      RenderText {#text} at (0,0) size 0x0
+      RenderText {#text} at (0,0) size 0x0
+layer at (10,50) size 406x306
+  RenderSVGRoot {svg} at (10,50) size 406x306
+    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+      RenderSVGResourcePattern {pattern} [id="pattern"] [patternUnits=userSpaceOnUse] [patternContentUnits=userSpaceOnUse]
+        RenderSVGImage {image} at (13,53) size 403x303
+    RenderPath {rect} at (13,53) size 400x300 [fill={[type=PATTERN] [id="pattern"]}] [data="M0.00,0.00 L400.00,0.00 L400.00,300.00 L0.00,300.00 Z"]
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 54677bd..9953316 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-08-07  Nikolas Zimmermann  <nzimmermann at rim.com>
+
+        Reviewed by Daniel Bates.
+
+        Pattern fill with image not rendered after reload
+        https://bugs.webkit.org/show_bug.cgi?id=41596
+
+        Fixed by a one-liner. Instead of just invalidating it's own resources, images also have to update
+        resources in the ancestor chain, if imageChanged() has been called (for example, a slow loading image)
+
+        Test: http/tests/misc/slow-loading-image-in-pattern.html
+
+        * rendering/RenderSVGImage.cpp:
+        (WebCore::RenderSVGImage::imageChanged):
+
 2010-08-06  Dirk Schulze  <krit at webkit.org>
 
         Reviewed by Nikolas Zimmermann.
diff --git a/WebCore/rendering/RenderSVGImage.cpp b/WebCore/rendering/RenderSVGImage.cpp
index 5a92e33..993278c 100644
--- a/WebCore/rendering/RenderSVGImage.cpp
+++ b/WebCore/rendering/RenderSVGImage.cpp
@@ -179,6 +179,9 @@ void RenderSVGImage::imageChanged(WrappedImagePtr image, const IntRect* rect)
     if (SVGResources* resources = SVGResourcesCache::cachedResourcesForRenderObject(this))
         resources->invalidateClient(this);
 
+    // Eventually notify parent resources, that we've changed.
+    RenderSVGResource::markForLayoutAndParentResourceInvalidation(this, false);
+
     repaint();
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list