[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