Changeset 69774 in webkit


Ignore:
Timestamp:
Oct 14, 2010 10:12:38 AM (14 years ago)
Author:
commit-queue@webkit.org
Message:

2010-10-14 Renata Hodovan <reni@inf.u-szeged.hu>

Reviewed by Andreas Kling.

SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change.
https://bugs.webkit.org/show_bug.cgi?id=47660

Adding layout tests for feConvolveMatrix dynamic DOM changes. SVGDOM tests cases will be in the following patch because of patch-size limitation (2M in bugzilla).

  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.png: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.checksum: Added.
  • platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.png: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html: Added.
  • svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-bias-attr.js: Added. (executeTest):
  • svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-divisor-attr.js: Added. (executeTest):
  • svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-edgeMode-attr.js: Added. (executeTest):
  • svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-in-attr.js: Added. (executeTest):
  • svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.js: Added. (executeTest):
  • svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.js: Added. (executeTest):
  • svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-order-attr.js: Added. (executeTest):
  • svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.js: Added. (executeTest):
  • svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-targetX-attr.js: Added. (executeTest):
  • svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-targetY-attr.js: Added. (executeTest):

2010-10-14 Renata Hodovan <reni@inf.u-szeged.hu>

Reviewed by Andreas Kling.

SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change.
https://bugs.webkit.org/show_bug.cgi?id=47660

The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
The patch also implements the simple setOrder and setKernelUnitLength methods.

Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html

svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html
svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html

  • svg/SVGFEConvolveMatrixElement.cpp: (WebCore::SVGFEConvolveMatrixElement::setOrder): (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength): (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
  • svg/SVGFEConvolveMatrixElement.h:
Location:
trunk
Files:
50 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r69771 r69774  
     12010-10-14  Renata Hodovan  <reni@inf.u-szeged.hu>
     2
     3        Reviewed by Andreas Kling.
     4
     5        SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change.
     6        https://bugs.webkit.org/show_bug.cgi?id=47660
     7
     8        Adding layout tests for feConvolveMatrix dynamic DOM changes. SVGDOM tests cases will be in the following patch because of patch-size limitation (2M in bugzilla).
     9
     10        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.checksum: Added.
     11        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.png: Added.
     12        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.checksum: Added.
     13        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.png: Added.
     14        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.checksum: Added.
     15        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.png: Added.
     16        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.checksum: Added.
     17        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.png: Added.
     18        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.checksum: Added.
     19        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.png: Added.
     20        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.checksum: Added.
     21        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.png: Added.
     22        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.checksum: Added.
     23        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.png: Added.
     24        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.checksum: Added.
     25        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.png: Added.
     26        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.checksum: Added.
     27        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.png: Added.
     28        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.checksum: Added.
     29        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.png: Added.
     30        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.txt: Added.
     31        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html: Added.
     32        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.txt: Added.
     33        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html: Added.
     34        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.txt: Added.
     35        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html: Added.
     36        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.txt: Added.
     37        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html: Added.
     38        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.txt: Added.
     39        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html: Added.
     40        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.txt: Added.
     41        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html: Added.
     42        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.txt: Added.
     43        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html: Added.
     44        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.txt: Added.
     45        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html: Added.
     46        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.txt: Added.
     47        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html: Added.
     48        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.txt: Added.
     49        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html: Added.
     50        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-bias-attr.js: Added.
     51        (executeTest):
     52        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-divisor-attr.js: Added.
     53        (executeTest):
     54        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-edgeMode-attr.js: Added.
     55        (executeTest):
     56        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-in-attr.js: Added.
     57        (executeTest):
     58        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.js: Added.
     59        (executeTest):
     60        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.js: Added.
     61        (executeTest):
     62        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-order-attr.js: Added.
     63        (executeTest):
     64        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.js: Added.
     65        (executeTest):
     66        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-targetX-attr.js: Added.
     67        (executeTest):
     68        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-targetY-attr.js: Added.
     69        (executeTest):
     70
    1712010-10-14  Nate Chapin  <japhet@chromium.org>
    272
  • trunk/WebCore/ChangeLog

    r69773 r69774  
     12010-10-14  Renata Hodovan  <reni@inf.u-szeged.hu>
     2
     3        Reviewed by Andreas Kling.
     4
     5        SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change.
     6        https://bugs.webkit.org/show_bug.cgi?id=47660
     7
     8        The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
     9        The patch also implements the simple setOrder and setKernelUnitLength methods.
     10
     11        Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html
     12               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html
     13               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html
     14               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html
     15               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html
     16               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html
     17               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html
     18               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html
     19               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html
     20               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html
     21
     22        * svg/SVGFEConvolveMatrixElement.cpp:
     23        (WebCore::SVGFEConvolveMatrixElement::setOrder):
     24        (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
     25        (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
     26        * svg/SVGFEConvolveMatrixElement.h:
     27
    1282010-10-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
    229
  • trunk/WebCore/svg/SVGFEConvolveMatrixElement.cpp

    r67847 r69774  
    9494}
    9595
    96 void SVGFEConvolveMatrixElement::setOrder(float, float)
     96void SVGFEConvolveMatrixElement::setOrder(float x, float y)
    9797{
    98     // FIXME: Needs an implementation.
     98    setOrderXBaseValue(x);
     99    setOrderYBaseValue(y);
     100    invalidate();
    99101}
    100102
    101 void SVGFEConvolveMatrixElement::setKernelUnitLength(float, float)
     103void SVGFEConvolveMatrixElement::setKernelUnitLength(float x, float y)
    102104{
    103     // FIXME: Needs an implementation.
     105    setKernelUnitLengthXBaseValue(x);
     106    setKernelUnitLengthYBaseValue(y);
     107    invalidate();
     108}
     109
     110void SVGFEConvolveMatrixElement::svgAttributeChanged(const QualifiedName& attrName)
     111{
     112    SVGFilterPrimitiveStandardAttributes::svgAttributeChanged(attrName);
     113
     114    if (attrName == SVGNames::inAttr
     115        || attrName == SVGNames::orderAttr
     116        || attrName == SVGNames::edgeModeAttr
     117        || attrName == SVGNames::kernelMatrixAttr
     118        || attrName == SVGNames::divisorAttr
     119        || attrName == SVGNames::biasAttr
     120        || attrName == SVGNames::targetXAttr
     121        || attrName == SVGNames::targetYAttr
     122        || attrName == SVGNames::kernelUnitLengthAttr
     123        || attrName == SVGNames::preserveAlphaAttr)
     124        invalidate();
    104125}
    105126
  • trunk/WebCore/svg/SVGFEConvolveMatrixElement.h

    r68022 r69774  
    3939
    4040    virtual void parseMappedAttribute(Attribute*);
     41    virtual void svgAttributeChanged(const QualifiedName&);
    4142    virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
    4243
Note: See TracChangeset for help on using the changeset viewer.