Commit c823d24d authored by rwlbuis@webkit.org's avatar rwlbuis@webkit.org

2011-05-12 Rob Buis <rwlbuis@gmail.com>

        Reviewed by Eric Seidel.

        REGRESSION(79985): Changes in fill-opacity should trigger repaint but don't
        https://bugs.webkit.org/show_bug.cgi?id=59941

        Also consider fill-opacity when determining whether StyleDifferenceRepaint is needed.

        Test: svg/custom/fill-opacity-update.svg

        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::SVGRenderStyle::diff):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86331 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 6da15387
2011-05-12 Rob Buis <rwlbuis@gmail.com>
Reviewed by Eric Seidel.
REGRESSION(79985): Changes in fill-opacity should trigger repaint but don't
https://bugs.webkit.org/show_bug.cgi?id=59941
* svg/custom/fill-opacity-update.svg: Added.
2011-05-10 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 226x188
RenderSVGRoot {svg} at (75,47) size 76x76
RenderSVGPath {circle} at (75,47) size 76x76 [fill={[type=SOLID] [color=#008000]}] [cx=300.00] [cy=225.00] [r=100.00]
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="6cm" height="5cm" viewBox="0 0 600 500"
xmlns="http://www.w3.org/2000/svg" version="1.1" onload="setTimeout('runTest()', 0)">
<script>
if (window.layoutTestController)
window.layoutTestController.waitUntilDone();
function circle_click(evt) {
evt.target.setAttribute("fill-opacity", "1");
if (window.layoutTestController)
layoutTestController.notifyDone();
}
function runTest() {
if (window.eventSender) {
eventSender.mouseMoveTo(100, 100);
eventSender.mouseDown();
eventSender.mouseUp();
}
}
</script>
<circle onclick="circle_click(evt)" cx="300" cy="225" r="100" fill="green" fill-opacity="0"/>
</svg>
2011-05-12 Rob Buis <rwlbuis@gmail.com>
Reviewed by Eric Seidel.
REGRESSION(79985): Changes in fill-opacity should trigger repaint but don't
https://bugs.webkit.org/show_bug.cgi?id=59941
Also consider fill-opacity when determining whether StyleDifferenceRepaint is needed.
Test: svg/custom/fill-opacity-update.svg
* rendering/style/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::diff):
2011-05-12 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Darin Adler.
......@@ -193,7 +193,8 @@ StyleDifference SVGRenderStyle::diff(const SVGRenderStyle* other) const
}
// If fill changes, we just need to repaint. Fill boundaries are not influenced by this, only by the Path, that RenderSVGPath contains.
if (fill->paintType != other->fill->paintType || fill->paintColor != other->fill->paintColor || fill->paintUri != other->fill->paintUri)
if (fill->paintType != other->fill->paintType || fill->paintColor != other->fill->paintColor
|| fill->paintUri != other->fill->paintUri || fill->opacity != other->fill->opacity)
return StyleDifferenceRepaint;
// If gradient stops change, we just need to repaint. Style updates are already handled through RenderSVGGradientSTop.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment