Title: [197105] releases/WebKitGTK/webkit-2.12
Revision
197105
Author
carlo...@webkit.org
Date
2016-02-25 05:56:57 -0800 (Thu, 25 Feb 2016)

Log Message

Merge r196977 - [SVG] Update SVG source to return string literals as ASCIILiteral and add test cases for case sensitivity
https://bugs.webkit.org/show_bug.cgi?id=154373

Patch by Nikos Andronikos <nikos.andronikos-web...@cisra.canon.com.au> on 2016-02-23
Reviewed by Youenn Fablet.

Source/WebCore:

Update SVGAnimatedEnumeration toString method to return ASCIILiteral for string literals and add test cases for
case-sensitivity for these elements.

Test: svg/dom/SVGAnimatedEnumeration-case-sensitive.html

* svg/SVGComponentTransferFunctionElement.h:
(WebCore::SVGPropertyTraits<ComponentTransferType>::toString):
* svg/SVGFEBlendElement.h:
(WebCore::SVGPropertyTraits<BlendMode>::toString):
* svg/SVGFEColorMatrixElement.h:
(WebCore::SVGPropertyTraits<ColorMatrixType>::toString):
* svg/SVGFECompositeElement.h:
(WebCore::SVGPropertyTraits<CompositeOperationType>::toString):
* svg/SVGFEConvolveMatrixElement.h:
(WebCore::SVGPropertyTraits<EdgeModeType>::toString):
* svg/SVGFEDisplacementMapElement.h:
(WebCore::SVGPropertyTraits<ChannelSelectorType>::toString):
* svg/SVGFEMorphologyElement.h:
(WebCore::SVGPropertyTraits<MorphologyOperatorType>::toString):
* svg/SVGFETurbulenceElement.h:
(WebCore::SVGPropertyTraits<SVGStitchOptions>::toString):
(WebCore::SVGPropertyTraits<TurbulenceType>::toString):
* svg/SVGGradientElement.h:
(WebCore::SVGPropertyTraits<SVGSpreadMethodType>::toString):
* svg/SVGMarkerElement.h:
(WebCore::SVGPropertyTraits<SVGMarkerUnitsType>::toString):
* svg/SVGTextContentElement.h:
(WebCore::SVGPropertyTraits<SVGLengthAdjustType>::toString):
* svg/SVGTextPathElement.h:
(WebCore::SVGPropertyTraits<SVGTextPathMethodType>::toString):
(WebCore::SVGPropertyTraits<SVGTextPathSpacingType>::toString):
* svg/SVGUnitTypes.h:
(WebCore::SVGPropertyTraits<SVGUnitTypes::SVGUnitType>::toString):

LayoutTests:

Add test cases for case-sensitivity for SVGAnimatedEnumeration elements.

* svg/dom/SVGAnimatedEnumeration-case-sensitive-expected.txt: Added.
* svg/dom/SVGAnimatedEnumeration-case-sensitive.html: Added.
* svg/dom/script-tests/SVGAnimatedEnumeration-case-sensitive.js: Added.
(testCaseSensitivity):

Modified Paths

Added Paths

Diff

Modified: releases/WebKitGTK/webkit-2.12/LayoutTests/ChangeLog (197104 => 197105)


--- releases/WebKitGTK/webkit-2.12/LayoutTests/ChangeLog	2016-02-25 13:49:08 UTC (rev 197104)
+++ releases/WebKitGTK/webkit-2.12/LayoutTests/ChangeLog	2016-02-25 13:56:57 UTC (rev 197105)
@@ -1,3 +1,17 @@
+2016-02-23  Nikos Andronikos  <nikos.andronikos-web...@cisra.canon.com.au>
+
+        [SVG] Update SVG source to return string literals as ASCIILiteral and add test cases for case sensitivity
+        https://bugs.webkit.org/show_bug.cgi?id=154373
+
+        Reviewed by Youenn Fablet.
+
+        Add test cases for case-sensitivity for SVGAnimatedEnumeration elements.
+
+        * svg/dom/SVGAnimatedEnumeration-case-sensitive-expected.txt: Added.
+        * svg/dom/SVGAnimatedEnumeration-case-sensitive.html: Added.
+        * svg/dom/script-tests/SVGAnimatedEnumeration-case-sensitive.js: Added.
+        (testCaseSensitivity):
+
 2016-02-22  Myles C. Maxfield  <mmaxfi...@apple.com>
 
         Font features specified in @font-face blocks don't apply to local() families

Added: releases/WebKitGTK/webkit-2.12/LayoutTests/svg/dom/SVGAnimatedEnumeration-case-sensitive-expected.txt (0 => 197105)


--- releases/WebKitGTK/webkit-2.12/LayoutTests/svg/dom/SVGAnimatedEnumeration-case-sensitive-expected.txt	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.12/LayoutTests/svg/dom/SVGAnimatedEnumeration-case-sensitive-expected.txt	2016-02-25 13:56:57 UTC (rev 197105)
@@ -0,0 +1,487 @@
+CONSOLE MESSAGE: line 1: Warning: feConvolveMatrix: problem parsing edgeMode="DUPLICATE". Filtered element will not be displayed.
+CONSOLE MESSAGE: line 1: Warning: feConvolveMatrix: problem parsing edgeMode="WRAP". Filtered element will not be displayed.
+CONSOLE MESSAGE: line 1: Warning: feConvolveMatrix: problem parsing edgeMode="NONE". Filtered element will not be displayed.
+This test checks the case-sensitivity of SVGAnimatedEnumeration elements
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+
+Check valid feFuncR 'type'
+
+PASS transferFunctionElement.setAttribute('type', 'identity') is undefined.
+PASS transferFunctionElement.getAttribute('type') is "identity"
+PASS transferFunctionElement.type.baseVal is SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY
+
+PASS transferFunctionElement.setAttribute('type', 'table') is undefined.
+PASS transferFunctionElement.getAttribute('type') is "table"
+PASS transferFunctionElement.type.baseVal is SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_TABLE
+
+PASS transferFunctionElement.setAttribute('type', 'discrete') is undefined.
+PASS transferFunctionElement.getAttribute('type') is "discrete"
+PASS transferFunctionElement.type.baseVal is SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE
+
+PASS transferFunctionElement.setAttribute('type', 'linear') is undefined.
+PASS transferFunctionElement.getAttribute('type') is "linear"
+PASS transferFunctionElement.type.baseVal is SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_LINEAR
+
+PASS transferFunctionElement.setAttribute('type', 'gamma') is undefined.
+PASS transferFunctionElement.getAttribute('type') is "gamma"
+PASS transferFunctionElement.type.baseVal is SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_GAMMA
+
+Check invalid case feFuncR 'type'
+
+transferFunctionElement.setAttribute('type', 'table')
+PASS transferFunctionElement.setAttribute('type', 'IDENTITY') is undefined.
+PASS transferFunctionElement.getAttribute('type') is "IDENTITY"
+PASS transferFunctionElement.type.baseVal is SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_TABLE
+
+transferFunctionElement.setAttribute('type', 'discrete')
+PASS transferFunctionElement.setAttribute('type', 'TABLE') is undefined.
+PASS transferFunctionElement.getAttribute('type') is "TABLE"
+PASS transferFunctionElement.type.baseVal is SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE
+
+transferFunctionElement.setAttribute('type', 'linear')
+PASS transferFunctionElement.setAttribute('type', 'DISCRETE') is undefined.
+PASS transferFunctionElement.getAttribute('type') is "DISCRETE"
+PASS transferFunctionElement.type.baseVal is SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_LINEAR
+
+transferFunctionElement.setAttribute('type', 'gamma')
+PASS transferFunctionElement.setAttribute('type', 'LINEAR') is undefined.
+PASS transferFunctionElement.getAttribute('type') is "LINEAR"
+PASS transferFunctionElement.type.baseVal is SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_GAMMA
+
+transferFunctionElement.setAttribute('type', 'identity')
+PASS transferFunctionElement.setAttribute('type', 'GAMMA') is undefined.
+PASS transferFunctionElement.getAttribute('type') is "GAMMA"
+PASS transferFunctionElement.type.baseVal is SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY
+
+Check valid feBlend 'mode'
+
+PASS feBlendElement.setAttribute('mode', 'normal') is undefined.
+PASS feBlendElement.getAttribute('mode') is "normal"
+PASS feBlendElement.mode.baseVal is SVGFEBlendElement.SVG_FEBLEND_MODE_NORMAL
+
+PASS feBlendElement.setAttribute('mode', 'multiply') is undefined.
+PASS feBlendElement.getAttribute('mode') is "multiply"
+PASS feBlendElement.mode.baseVal is SVGFEBlendElement.SVG_FEBLEND_MODE_MULTIPLY
+
+PASS feBlendElement.setAttribute('mode', 'screen') is undefined.
+PASS feBlendElement.getAttribute('mode') is "screen"
+PASS feBlendElement.mode.baseVal is SVGFEBlendElement.SVG_FEBLEND_MODE_SCREEN
+
+PASS feBlendElement.setAttribute('mode', 'darken') is undefined.
+PASS feBlendElement.getAttribute('mode') is "darken"
+PASS feBlendElement.mode.baseVal is SVGFEBlendElement.SVG_FEBLEND_MODE_DARKEN
+
+PASS feBlendElement.setAttribute('mode', 'lighten') is undefined.
+PASS feBlendElement.getAttribute('mode') is "lighten"
+PASS feBlendElement.mode.baseVal is SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN
+
+Check invalid case feBlend 'mode'
+
+feBlendElement.setAttribute('mode', 'multiply')
+PASS feBlendElement.setAttribute('mode', 'NORMAL') is undefined.
+PASS feBlendElement.getAttribute('mode') is "NORMAL"
+PASS feBlendElement.mode.baseVal is SVGFEBlendElement.SVG_FEBLEND_MODE_MULTIPLY
+
+feBlendElement.setAttribute('mode', 'screen')
+PASS feBlendElement.setAttribute('mode', 'MULTIPLY') is undefined.
+PASS feBlendElement.getAttribute('mode') is "MULTIPLY"
+PASS feBlendElement.mode.baseVal is SVGFEBlendElement.SVG_FEBLEND_MODE_SCREEN
+
+feBlendElement.setAttribute('mode', 'darken')
+PASS feBlendElement.setAttribute('mode', 'SCREEN') is undefined.
+PASS feBlendElement.getAttribute('mode') is "SCREEN"
+PASS feBlendElement.mode.baseVal is SVGFEBlendElement.SVG_FEBLEND_MODE_DARKEN
+
+feBlendElement.setAttribute('mode', 'lighten')
+PASS feBlendElement.setAttribute('mode', 'DARKEN') is undefined.
+PASS feBlendElement.getAttribute('mode') is "DARKEN"
+PASS feBlendElement.mode.baseVal is SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN
+
+feBlendElement.setAttribute('mode', 'normal')
+PASS feBlendElement.setAttribute('mode', 'LIGHTEN') is undefined.
+PASS feBlendElement.getAttribute('mode') is "LIGHTEN"
+PASS feBlendElement.mode.baseVal is SVGFEBlendElement.SVG_FEBLEND_MODE_NORMAL
+
+Check valid feColorMatrix 'type'
+
+PASS feColorMatrixElement.setAttribute('type', 'matrix') is undefined.
+PASS feColorMatrixElement.getAttribute('type') is "matrix"
+PASS feColorMatrixElement.type.baseVal is SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_MATRIX
+
+PASS feColorMatrixElement.setAttribute('type', 'saturate') is undefined.
+PASS feColorMatrixElement.getAttribute('type') is "saturate"
+PASS feColorMatrixElement.type.baseVal is SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE
+
+PASS feColorMatrixElement.setAttribute('type', 'hueRotate') is undefined.
+PASS feColorMatrixElement.getAttribute('type') is "hueRotate"
+PASS feColorMatrixElement.type.baseVal is SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_HUEROTATE
+
+PASS feColorMatrixElement.setAttribute('type', 'luminanceToAlpha') is undefined.
+PASS feColorMatrixElement.getAttribute('type') is "luminanceToAlpha"
+PASS feColorMatrixElement.type.baseVal is SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA
+
+Check invalid case feColorMatrix 'type'
+
+feColorMatrixElement.setAttribute('type', 'saturate')
+PASS feColorMatrixElement.setAttribute('type', 'MATRIX') is undefined.
+PASS feColorMatrixElement.getAttribute('type') is "MATRIX"
+PASS feColorMatrixElement.type.baseVal is SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE
+
+feColorMatrixElement.setAttribute('type', 'hueRotate')
+PASS feColorMatrixElement.setAttribute('type', 'SATURATE') is undefined.
+PASS feColorMatrixElement.getAttribute('type') is "SATURATE"
+PASS feColorMatrixElement.type.baseVal is SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_HUEROTATE
+
+feColorMatrixElement.setAttribute('type', 'luminanceToAlpha')
+PASS feColorMatrixElement.setAttribute('type', 'HUEROTATE') is undefined.
+PASS feColorMatrixElement.getAttribute('type') is "HUEROTATE"
+PASS feColorMatrixElement.type.baseVal is SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA
+
+feColorMatrixElement.setAttribute('type', 'matrix')
+PASS feColorMatrixElement.setAttribute('type', 'LUMINANCETOALPHA') is undefined.
+PASS feColorMatrixElement.getAttribute('type') is "LUMINANCETOALPHA"
+PASS feColorMatrixElement.type.baseVal is SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_MATRIX
+
+Check valid feComposite 'operator'
+
+PASS feCompositeElement.setAttribute('operator', 'over') is undefined.
+PASS feCompositeElement.getAttribute('operator') is "over"
+PASS feCompositeElement.operator.baseVal is SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_OVER
+
+PASS feCompositeElement.setAttribute('operator', 'in') is undefined.
+PASS feCompositeElement.getAttribute('operator') is "in"
+PASS feCompositeElement.operator.baseVal is SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_IN
+
+PASS feCompositeElement.setAttribute('operator', 'out') is undefined.
+PASS feCompositeElement.getAttribute('operator') is "out"
+PASS feCompositeElement.operator.baseVal is SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_OUT
+
+PASS feCompositeElement.setAttribute('operator', 'atop') is undefined.
+PASS feCompositeElement.getAttribute('operator') is "atop"
+PASS feCompositeElement.operator.baseVal is SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_ATOP
+
+PASS feCompositeElement.setAttribute('operator', 'xor') is undefined.
+PASS feCompositeElement.getAttribute('operator') is "xor"
+PASS feCompositeElement.operator.baseVal is SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_XOR
+
+PASS feCompositeElement.setAttribute('operator', 'arithmetic') is undefined.
+PASS feCompositeElement.getAttribute('operator') is "arithmetic"
+PASS feCompositeElement.operator.baseVal is SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_ARITHMETIC
+
+Check invalid case feComposite 'operator'
+
+feCompositeElement.setAttribute('operator', 'in')
+PASS feCompositeElement.setAttribute('operator', 'OVER') is undefined.
+PASS feCompositeElement.getAttribute('operator') is "OVER"
+PASS feCompositeElement.operator.baseVal is SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_IN
+
+feCompositeElement.setAttribute('operator', 'out')
+PASS feCompositeElement.setAttribute('operator', 'IN') is undefined.
+PASS feCompositeElement.getAttribute('operator') is "IN"
+PASS feCompositeElement.operator.baseVal is SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_OUT
+
+feCompositeElement.setAttribute('operator', 'atop')
+PASS feCompositeElement.setAttribute('operator', 'OUT') is undefined.
+PASS feCompositeElement.getAttribute('operator') is "OUT"
+PASS feCompositeElement.operator.baseVal is SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_ATOP
+
+feCompositeElement.setAttribute('operator', 'xor')
+PASS feCompositeElement.setAttribute('operator', 'ATOP') is undefined.
+PASS feCompositeElement.getAttribute('operator') is "ATOP"
+PASS feCompositeElement.operator.baseVal is SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_XOR
+
+feCompositeElement.setAttribute('operator', 'arithmetic')
+PASS feCompositeElement.setAttribute('operator', 'XOR') is undefined.
+PASS feCompositeElement.getAttribute('operator') is "XOR"
+PASS feCompositeElement.operator.baseVal is SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_ARITHMETIC
+
+feCompositeElement.setAttribute('operator', 'over')
+PASS feCompositeElement.setAttribute('operator', 'ARITHMETIC') is undefined.
+PASS feCompositeElement.getAttribute('operator') is "ARITHMETIC"
+PASS feCompositeElement.operator.baseVal is SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_OVER
+
+Check valid feConvolveMatrix 'edgeMode'
+
+PASS feConvolveMatrixElement.setAttribute('edgeMode', 'duplicate') is undefined.
+PASS feConvolveMatrixElement.getAttribute('edgeMode') is "duplicate"
+PASS feConvolveMatrixElement.edgeMode.baseVal is SVGFEConvolveMatrixElement.SVG_EDGEMODE_DUPLICATE
+
+PASS feConvolveMatrixElement.setAttribute('edgeMode', 'wrap') is undefined.
+PASS feConvolveMatrixElement.getAttribute('edgeMode') is "wrap"
+PASS feConvolveMatrixElement.edgeMode.baseVal is SVGFEConvolveMatrixElement.SVG_EDGEMODE_WRAP
+
+PASS feConvolveMatrixElement.setAttribute('edgeMode', 'none') is undefined.
+PASS feConvolveMatrixElement.getAttribute('edgeMode') is "none"
+PASS feConvolveMatrixElement.edgeMode.baseVal is SVGFEConvolveMatrixElement.SVG_EDGEMODE_NONE
+
+Check invalid case feConvolveMatrix 'edgeMode'
+
+feConvolveMatrixElement.setAttribute('edgeMode', 'wrap')
+PASS feConvolveMatrixElement.setAttribute('edgeMode', 'DUPLICATE') is undefined.
+PASS feConvolveMatrixElement.getAttribute('edgeMode') is "DUPLICATE"
+PASS feConvolveMatrixElement.edgeMode.baseVal is SVGFEConvolveMatrixElement.SVG_EDGEMODE_WRAP
+
+feConvolveMatrixElement.setAttribute('edgeMode', 'none')
+PASS feConvolveMatrixElement.setAttribute('edgeMode', 'WRAP') is undefined.
+PASS feConvolveMatrixElement.getAttribute('edgeMode') is "WRAP"
+PASS feConvolveMatrixElement.edgeMode.baseVal is SVGFEConvolveMatrixElement.SVG_EDGEMODE_NONE
+
+feConvolveMatrixElement.setAttribute('edgeMode', 'duplicate')
+PASS feConvolveMatrixElement.setAttribute('edgeMode', 'NONE') is undefined.
+PASS feConvolveMatrixElement.getAttribute('edgeMode') is "NONE"
+PASS feConvolveMatrixElement.edgeMode.baseVal is SVGFEConvolveMatrixElement.SVG_EDGEMODE_DUPLICATE
+
+Check valid feDisplacementMap 'xChannelSelector'
+
+PASS feDisplacementMapElement.setAttribute('xChannelSelector', 'R') is undefined.
+PASS feDisplacementMapElement.getAttribute('xChannelSelector') is "R"
+PASS feDisplacementMapElement.xChannelSelector.baseVal is SVGFEDisplacementMapElement.SVG_CHANNEL_R
+
+PASS feDisplacementMapElement.setAttribute('xChannelSelector', 'G') is undefined.
+PASS feDisplacementMapElement.getAttribute('xChannelSelector') is "G"
+PASS feDisplacementMapElement.xChannelSelector.baseVal is SVGFEDisplacementMapElement.SVG_CHANNEL_G
+
+PASS feDisplacementMapElement.setAttribute('xChannelSelector', 'B') is undefined.
+PASS feDisplacementMapElement.getAttribute('xChannelSelector') is "B"
+PASS feDisplacementMapElement.xChannelSelector.baseVal is SVGFEDisplacementMapElement.SVG_CHANNEL_B
+
+PASS feDisplacementMapElement.setAttribute('xChannelSelector', 'A') is undefined.
+PASS feDisplacementMapElement.getAttribute('xChannelSelector') is "A"
+PASS feDisplacementMapElement.xChannelSelector.baseVal is SVGFEDisplacementMapElement.SVG_CHANNEL_A
+
+Check invalid case feDisplacementMap 'xChannelSelector'
+
+feDisplacementMapElement.setAttribute('xChannelSelector', 'G')
+PASS feDisplacementMapElement.setAttribute('xChannelSelector', 'r') is undefined.
+PASS feDisplacementMapElement.getAttribute('xChannelSelector') is "r"
+PASS feDisplacementMapElement.xChannelSelector.baseVal is SVGFEDisplacementMapElement.SVG_CHANNEL_G
+
+feDisplacementMapElement.setAttribute('xChannelSelector', 'B')
+PASS feDisplacementMapElement.setAttribute('xChannelSelector', 'g') is undefined.
+PASS feDisplacementMapElement.getAttribute('xChannelSelector') is "g"
+PASS feDisplacementMapElement.xChannelSelector.baseVal is SVGFEDisplacementMapElement.SVG_CHANNEL_B
+
+feDisplacementMapElement.setAttribute('xChannelSelector', 'A')
+PASS feDisplacementMapElement.setAttribute('xChannelSelector', 'b') is undefined.
+PASS feDisplacementMapElement.getAttribute('xChannelSelector') is "b"
+PASS feDisplacementMapElement.xChannelSelector.baseVal is SVGFEDisplacementMapElement.SVG_CHANNEL_A
+
+feDisplacementMapElement.setAttribute('xChannelSelector', 'R')
+PASS feDisplacementMapElement.setAttribute('xChannelSelector', 'a') is undefined.
+PASS feDisplacementMapElement.getAttribute('xChannelSelector') is "a"
+PASS feDisplacementMapElement.xChannelSelector.baseVal is SVGFEDisplacementMapElement.SVG_CHANNEL_R
+
+Check valid feMorphology 'operator'
+
+PASS feMorphologyElement.setAttribute('operator', 'erode') is undefined.
+PASS feMorphologyElement.getAttribute('operator') is "erode"
+PASS feMorphologyElement.operator.baseVal is SVGFEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_ERODE
+
+PASS feMorphologyElement.setAttribute('operator', 'dilate') is undefined.
+PASS feMorphologyElement.getAttribute('operator') is "dilate"
+PASS feMorphologyElement.operator.baseVal is SVGFEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_DILATE
+
+Check invalid case feMorphology 'operator'
+
+feMorphologyElement.setAttribute('operator', 'dilate')
+PASS feMorphologyElement.setAttribute('operator', 'ERODE') is undefined.
+PASS feMorphologyElement.getAttribute('operator') is "ERODE"
+PASS feMorphologyElement.operator.baseVal is SVGFEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_DILATE
+
+feMorphologyElement.setAttribute('operator', 'erode')
+PASS feMorphologyElement.setAttribute('operator', 'DILATE') is undefined.
+PASS feMorphologyElement.getAttribute('operator') is "DILATE"
+PASS feMorphologyElement.operator.baseVal is SVGFEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_ERODE
+
+Check valid feTurbulence 'type'
+
+PASS feTurbulenceElement.setAttribute('type', 'fractalNoise') is undefined.
+PASS feTurbulenceElement.getAttribute('type') is "fractalNoise"
+PASS feTurbulenceElement.type.baseVal is SVGFETurbulenceElement.SVG_TURBULENCE_TYPE_FRACTALNOISE
+
+PASS feTurbulenceElement.setAttribute('type', 'turbulence') is undefined.
+PASS feTurbulenceElement.getAttribute('type') is "turbulence"
+PASS feTurbulenceElement.type.baseVal is SVGFETurbulenceElement.SVG_TURBULENCE_TYPE_TURBULENCE
+
+Check invalid case feTurbulence 'type'
+
+feTurbulenceElement.setAttribute('type', 'turbulence')
+PASS feTurbulenceElement.setAttribute('type', 'FRACTALNOISE') is undefined.
+PASS feTurbulenceElement.getAttribute('type') is "FRACTALNOISE"
+PASS feTurbulenceElement.type.baseVal is SVGFETurbulenceElement.SVG_TURBULENCE_TYPE_TURBULENCE
+
+feTurbulenceElement.setAttribute('type', 'fractalNoise')
+PASS feTurbulenceElement.setAttribute('type', 'TURBULENCE') is undefined.
+PASS feTurbulenceElement.getAttribute('type') is "TURBULENCE"
+PASS feTurbulenceElement.type.baseVal is SVGFETurbulenceElement.SVG_TURBULENCE_TYPE_FRACTALNOISE
+
+Check valid feTurbulence 'stitchTiles'
+
+PASS feTurbulenceElement.setAttribute('stitchTiles', 'stitch') is undefined.
+PASS feTurbulenceElement.getAttribute('stitchTiles') is "stitch"
+PASS feTurbulenceElement.stitchTiles.baseVal is SVGFETurbulenceElement.SVG_STITCHTYPE_STITCH
+
+PASS feTurbulenceElement.setAttribute('stitchTiles', 'noStitch') is undefined.
+PASS feTurbulenceElement.getAttribute('stitchTiles') is "noStitch"
+PASS feTurbulenceElement.stitchTiles.baseVal is SVGFETurbulenceElement.SVG_STITCHTYPE_NOSTITCH
+
+Check invalid case feTurbulence 'stitchTiles'
+
+feTurbulenceElement.setAttribute('stitchTiles', 'noStitch')
+PASS feTurbulenceElement.setAttribute('stitchTiles', 'STITCH') is undefined.
+PASS feTurbulenceElement.getAttribute('stitchTiles') is "STITCH"
+PASS feTurbulenceElement.stitchTiles.baseVal is SVGFETurbulenceElement.SVG_STITCHTYPE_NOSTITCH
+
+feTurbulenceElement.setAttribute('stitchTiles', 'stitch')
+PASS feTurbulenceElement.setAttribute('stitchTiles', 'NOSTITCH') is undefined.
+PASS feTurbulenceElement.getAttribute('stitchTiles') is "NOSTITCH"
+PASS feTurbulenceElement.stitchTiles.baseVal is SVGFETurbulenceElement.SVG_STITCHTYPE_STITCH
+
+Check valid linearGradient 'spreadMethod'
+
+PASS gradientElement.setAttribute('spreadMethod', 'pad') is undefined.
+PASS gradientElement.getAttribute('spreadMethod') is "pad"
+PASS gradientElement.spreadMethod.baseVal is SVGGradientElement.SVG_SPREADMETHOD_PAD
+
+PASS gradientElement.setAttribute('spreadMethod', 'reflect') is undefined.
+PASS gradientElement.getAttribute('spreadMethod') is "reflect"
+PASS gradientElement.spreadMethod.baseVal is SVGGradientElement.SVG_SPREADMETHOD_REFLECT
+
+PASS gradientElement.setAttribute('spreadMethod', 'repeat') is undefined.
+PASS gradientElement.getAttribute('spreadMethod') is "repeat"
+PASS gradientElement.spreadMethod.baseVal is SVGGradientElement.SVG_SPREADMETHOD_REPEAT
+
+Check invalid case linearGradient 'spreadMethod'
+
+gradientElement.setAttribute('spreadMethod', 'reflect')
+PASS gradientElement.setAttribute('spreadMethod', 'PAD') is undefined.
+PASS gradientElement.getAttribute('spreadMethod') is "PAD"
+PASS gradientElement.spreadMethod.baseVal is SVGGradientElement.SVG_SPREADMETHOD_REFLECT
+
+gradientElement.setAttribute('spreadMethod', 'repeat')
+PASS gradientElement.setAttribute('spreadMethod', 'REFLECT') is undefined.
+PASS gradientElement.getAttribute('spreadMethod') is "REFLECT"
+PASS gradientElement.spreadMethod.baseVal is SVGGradientElement.SVG_SPREADMETHOD_REPEAT
+
+gradientElement.setAttribute('spreadMethod', 'pad')
+PASS gradientElement.setAttribute('spreadMethod', 'REPEAT') is undefined.
+PASS gradientElement.getAttribute('spreadMethod') is "REPEAT"
+PASS gradientElement.spreadMethod.baseVal is SVGGradientElement.SVG_SPREADMETHOD_PAD
+
+Check valid linearGradient 'gradientUnits'
+
+PASS gradientElement.setAttribute('gradientUnits', 'userSpaceOnUse') is undefined.
+PASS gradientElement.getAttribute('gradientUnits') is "userSpaceOnUse"
+PASS gradientElement.gradientUnits.baseVal is SVGUnitTypes.SVG_UNIT_TYPE_USERSPACEONUSE
+
+PASS gradientElement.setAttribute('gradientUnits', 'objectBoundingBox') is undefined.
+PASS gradientElement.getAttribute('gradientUnits') is "objectBoundingBox"
+PASS gradientElement.gradientUnits.baseVal is SVGUnitTypes.SVG_UNIT_TYPE_OBJECTBOUNDINGBOX
+
+Check invalid case linearGradient 'gradientUnits'
+
+gradientElement.setAttribute('gradientUnits', 'objectBoundingBox')
+PASS gradientElement.setAttribute('gradientUnits', 'USERSPACEONUSE') is undefined.
+PASS gradientElement.getAttribute('gradientUnits') is "USERSPACEONUSE"
+PASS gradientElement.gradientUnits.baseVal is SVGUnitTypes.SVG_UNIT_TYPE_OBJECTBOUNDINGBOX
+
+gradientElement.setAttribute('gradientUnits', 'userSpaceOnUse')
+PASS gradientElement.setAttribute('gradientUnits', 'OBJECTBOUNDINGBOX') is undefined.
+PASS gradientElement.getAttribute('gradientUnits') is "OBJECTBOUNDINGBOX"
+PASS gradientElement.gradientUnits.baseVal is SVGUnitTypes.SVG_UNIT_TYPE_USERSPACEONUSE
+
+Check valid marker 'markerUnits'
+
+PASS markerElement.setAttribute('markerUnits', 'userSpaceOnUse') is undefined.
+PASS markerElement.getAttribute('markerUnits') is "userSpaceOnUse"
+PASS markerElement.markerUnits.baseVal is SVGMarkerElement.SVG_MARKERUNITS_USERSPACEONUSE
+
+PASS markerElement.setAttribute('markerUnits', 'strokeWidth') is undefined.
+PASS markerElement.getAttribute('markerUnits') is "strokeWidth"
+PASS markerElement.markerUnits.baseVal is SVGMarkerElement.SVG_MARKERUNITS_STROKEWIDTH
+
+Check invalid case marker 'markerUnits'
+
+markerElement.setAttribute('markerUnits', 'strokeWidth')
+PASS markerElement.setAttribute('markerUnits', 'USERSPACEONUSE') is undefined.
+PASS markerElement.getAttribute('markerUnits') is "USERSPACEONUSE"
+PASS markerElement.markerUnits.baseVal is SVGMarkerElement.SVG_MARKERUNITS_STROKEWIDTH
+
+markerElement.setAttribute('markerUnits', 'userSpaceOnUse')
+PASS markerElement.setAttribute('markerUnits', 'STROKEWIDTH') is undefined.
+PASS markerElement.getAttribute('markerUnits') is "STROKEWIDTH"
+PASS markerElement.markerUnits.baseVal is SVGMarkerElement.SVG_MARKERUNITS_USERSPACEONUSE
+
+Check valid text 'lengthAdjust'
+
+PASS textContentElement.setAttribute('lengthAdjust', 'spacing') is undefined.
+PASS textContentElement.getAttribute('lengthAdjust') is "spacing"
+PASS textContentElement.lengthAdjust.baseVal is SVGTextContentElement.LENGTHADJUST_SPACING
+
+PASS textContentElement.setAttribute('lengthAdjust', 'spacingAndGlyphs') is undefined.
+PASS textContentElement.getAttribute('lengthAdjust') is "spacingAndGlyphs"
+PASS textContentElement.lengthAdjust.baseVal is SVGTextContentElement.LENGTHADJUST_SPACINGANDGLYPHS
+
+Check invalid case text 'lengthAdjust'
+
+textContentElement.setAttribute('lengthAdjust', 'spacingAndGlyphs')
+PASS textContentElement.setAttribute('lengthAdjust', 'SPACING') is undefined.
+PASS textContentElement.getAttribute('lengthAdjust') is "SPACING"
+PASS textContentElement.lengthAdjust.baseVal is SVGTextContentElement.LENGTHADJUST_SPACINGANDGLYPHS
+
+textContentElement.setAttribute('lengthAdjust', 'spacing')
+PASS textContentElement.setAttribute('lengthAdjust', 'SPACINGANDGLYPHS') is undefined.
+PASS textContentElement.getAttribute('lengthAdjust') is "SPACINGANDGLYPHS"
+PASS textContentElement.lengthAdjust.baseVal is SVGTextContentElement.LENGTHADJUST_SPACING
+
+Check valid textPath 'method'
+
+PASS textPathElement.setAttribute('method', 'align') is undefined.
+PASS textPathElement.getAttribute('method') is "align"
+PASS textPathElement.method.baseVal is SVGTextPathElement.TEXTPATH_METHODTYPE_ALIGN
+
+PASS textPathElement.setAttribute('method', 'stretch') is undefined.
+PASS textPathElement.getAttribute('method') is "stretch"
+PASS textPathElement.method.baseVal is SVGTextPathElement.TEXTPATH_METHODTYPE_STRETCH
+
+Check invalid case textPath 'method'
+
+textPathElement.setAttribute('method', 'stretch')
+PASS textPathElement.setAttribute('method', 'ALIGN') is undefined.
+PASS textPathElement.getAttribute('method') is "ALIGN"
+PASS textPathElement.method.baseVal is SVGTextPathElement.TEXTPATH_METHODTYPE_STRETCH
+
+textPathElement.setAttribute('method', 'align')
+PASS textPathElement.setAttribute('method', 'STRETCH') is undefined.
+PASS textPathElement.getAttribute('method') is "STRETCH"
+PASS textPathElement.method.baseVal is SVGTextPathElement.TEXTPATH_METHODTYPE_ALIGN
+
+Check valid textPath 'spacing'
+
+PASS textPathElement.setAttribute('spacing', 'auto') is undefined.
+PASS textPathElement.getAttribute('spacing') is "auto"
+PASS textPathElement.spacing.baseVal is SVGTextPathElement.TEXTPATH_SPACINGTYPE_AUTO
+
+PASS textPathElement.setAttribute('spacing', 'exact') is undefined.
+PASS textPathElement.getAttribute('spacing') is "exact"
+PASS textPathElement.spacing.baseVal is SVGTextPathElement.TEXTPATH_SPACINGTYPE_EXACT
+
+Check invalid case textPath 'spacing'
+
+textPathElement.setAttribute('spacing', 'exact')
+PASS textPathElement.setAttribute('spacing', 'AUTO') is undefined.
+PASS textPathElement.getAttribute('spacing') is "AUTO"
+PASS textPathElement.spacing.baseVal is SVGTextPathElement.TEXTPATH_SPACINGTYPE_EXACT
+
+textPathElement.setAttribute('spacing', 'auto')
+PASS textPathElement.setAttribute('spacing', 'EXACT') is undefined.
+PASS textPathElement.getAttribute('spacing') is "EXACT"
+PASS textPathElement.spacing.baseVal is SVGTextPathElement.TEXTPATH_SPACINGTYPE_AUTO
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: releases/WebKitGTK/webkit-2.12/LayoutTests/svg/dom/SVGAnimatedEnumeration-case-sensitive.html (0 => 197105)


--- releases/WebKitGTK/webkit-2.12/LayoutTests/svg/dom/SVGAnimatedEnumeration-case-sensitive.html	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.12/LayoutTests/svg/dom/SVGAnimatedEnumeration-case-sensitive.html	2016-02-25 13:56:57 UTC (rev 197105)
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src=""
+<script src=""
+</body>
+</html>

Added: releases/WebKitGTK/webkit-2.12/LayoutTests/svg/dom/script-tests/SVGAnimatedEnumeration-case-sensitive.js (0 => 197105)


--- releases/WebKitGTK/webkit-2.12/LayoutTests/svg/dom/script-tests/SVGAnimatedEnumeration-case-sensitive.js	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.12/LayoutTests/svg/dom/script-tests/SVGAnimatedEnumeration-case-sensitive.js	2016-02-25 13:56:57 UTC (rev 197105)
@@ -0,0 +1,207 @@
+description("This test checks the case-sensitivity of SVGAnimatedEnumeration elements");
+
+var svgAnimatedEnumeration = {
+
+    "SVGComponentTransferFunctionElement" : {
+        "type" : [
+            {"id" : "identity", "val" : "SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY"},
+            {"id" : "table", "val" : "SVG_FECOMPONENTTRANSFER_TYPE_TABLE"},
+            {"id" : "discrete", "val" : "SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE"},
+            {"id" : "linear", "val" : "SVG_FECOMPONENTTRANSFER_TYPE_LINEAR"},
+            {"id" : "gamma", "val" : "SVG_FECOMPONENTTRANSFER_TYPE_GAMMA"}
+        ]
+    },
+    "SVGFEBlendElement" : {
+        "mode" : [
+            {"id" : "normal", "val" : "SVG_FEBLEND_MODE_NORMAL"},
+            {"id" : "multiply", "val" : "SVG_FEBLEND_MODE_MULTIPLY"},
+            {"id" : "screen", "val" : "SVG_FEBLEND_MODE_SCREEN"},
+            {"id" : "darken", "val" : "SVG_FEBLEND_MODE_DARKEN"},
+            {"id" : "lighten", "val" : "SVG_FEBLEND_MODE_LIGHTEN"}
+        ]
+    },
+    "SVGFEColorMatrixElement" : {
+        "type" : [
+            {"id" : "matrix", "val" : "SVG_FECOLORMATRIX_TYPE_MATRIX"},
+            {"id" : "saturate", "val" : "SVG_FECOLORMATRIX_TYPE_SATURATE"},
+            {"id" : "hueRotate", "val" : "SVG_FECOLORMATRIX_TYPE_HUEROTATE"},
+            {"id" : "luminanceToAlpha", "val" : "SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA"}
+        ]
+    },
+    "SVGFECompositeElement" : {
+        "operator" : [
+            {"id" : "over", "val" : "SVG_FECOMPOSITE_OPERATOR_OVER"},
+            {"id" : "in", "val" : "SVG_FECOMPOSITE_OPERATOR_IN"},
+            {"id" : "out", "val" : "SVG_FECOMPOSITE_OPERATOR_OUT"},
+            {"id" : "atop", "val" : "SVG_FECOMPOSITE_OPERATOR_ATOP"},
+            {"id" : "xor", "val" : "SVG_FECOMPOSITE_OPERATOR_XOR"},
+            {"id" : "arithmetic", "val" : "SVG_FECOMPOSITE_OPERATOR_ARITHMETIC"}
+        ]
+    },
+    "SVGFEConvolveMatrixElement" : {
+        "edgeMode" : [
+            {"id" : "duplicate", "val" : "SVG_EDGEMODE_DUPLICATE"},
+            {"id" : "wrap", "val" : "SVG_EDGEMODE_WRAP"},
+            {"id" : "none", "val" : "SVG_EDGEMODE_NONE"}
+        ]
+    },
+    "SVGFEDisplacementMapElement" : {
+        "xChannelSelector" : [
+            {"id" : "R", "val" : "SVG_CHANNEL_R"},
+            {"id" : "G", "val" : "SVG_CHANNEL_G"},
+            {"id" : "B", "val" : "SVG_CHANNEL_B"},
+            {"id" : "A", "val" : "SVG_CHANNEL_A"}
+        ]
+    },
+    "SVGFEMorphologyElement" : {
+        "operator" : [
+            {"id" : "erode", "val" : "SVG_MORPHOLOGY_OPERATOR_ERODE"},
+            {"id" : "dilate", "val" : "SVG_MORPHOLOGY_OPERATOR_DILATE"}
+        ]
+    },
+    "SVGFETurbulenceElement" : {
+        "type" : [
+            {"id" : "fractalNoise", "val" : "SVG_TURBULENCE_TYPE_FRACTALNOISE"},
+            {"id" : "turbulence", "val" : "SVG_TURBULENCE_TYPE_TURBULENCE"}
+        ],
+        "stitchTiles" : [
+            {"id" : "stitch", "val" : "SVG_STITCHTYPE_STITCH"},
+            {"id" : "noStitch", "val" : "SVG_STITCHTYPE_NOSTITCH"}
+        ]
+    },
+    "SVGGradientElement" : {
+        "spreadMethod" : [
+            {"id" : "pad", "val" : "SVG_SPREADMETHOD_PAD"},
+            {"id" : "reflect", "val" : "SVG_SPREADMETHOD_REFLECT"},
+            {"id" : "repeat", "val" : "SVG_SPREADMETHOD_REPEAT"}
+        ]
+    },
+    "SVGMarkerElement" : {
+        "markerUnits" : [
+            {"id" : "userSpaceOnUse", "val" : "SVG_MARKERUNITS_USERSPACEONUSE"},
+            {"id" : "strokeWidth", "val" : "SVG_MARKERUNITS_STROKEWIDTH"}
+        ]
+    },
+    "SVGTextContentElement" : {
+        "lengthAdjust" : [
+            {"id" : "spacing", "val" : "LENGTHADJUST_SPACING"},
+            {"id" : "spacingAndGlyphs", "val" : "LENGTHADJUST_SPACINGANDGLYPHS"}
+        ]
+    },
+    "SVGTextPathElement" : {
+        "method" : [
+            {"id" : "align", "val" : "TEXTPATH_METHODTYPE_ALIGN"},
+            {"id" : "stretch", "val" : "TEXTPATH_METHODTYPE_STRETCH"}
+        ],
+        "spacing" : [
+            {"id" : "auto", "val" : "TEXTPATH_SPACINGTYPE_AUTO"},
+            {"id" : "exact", "val" : "TEXTPATH_SPACINGTYPE_EXACT"}
+        ]
+    },
+    // All *Units attributes in SVG use SVGUnitTypes so we only need to test this once.
+    "SVGUnitTypes" : {
+        "gradientUnits" : [
+            {"id" : "userSpaceOnUse", "val" : "SVG_UNIT_TYPE_USERSPACEONUSE"},
+            {"id" : "objectBoundingBox", "val" : "SVG_UNIT_TYPE_OBJECTBOUNDINGBOX"}
+        ]
+    },
+};
+
+function testCaseSensitivity(elementType, element, enumType)
+{
+    debug("");
+    debug("Check valid " + element.tagName + " '" + enumType + "'");
+
+    var enumValues = svgAnimatedEnumeration[elementType][enumType];
+
+    for (var i = 0; i < enumValues.length; i++) {
+        debug("");
+        shouldBeUndefined(element.id + ".setAttribute('" + enumType + "', '" + enumValues[i].id + "')");
+        shouldBeEqualToString(element.id + ".getAttribute('" + enumType + "')", enumValues[i].id);
+        shouldBe(element.id + "." + enumType + ".baseVal", elementType + "." + enumValues[i].val);
+    } 
+
+    debug("");
+    debug("Check invalid case " + element.tagName + " '" + enumType + "'");
+    for (var i = 0; i < enumValues.length; i++) {
+        var val = enumValues[i].id;
+        var alt_val = enumValues[((i + 1) % enumValues.length)];
+    
+        debug("");
+       
+        debug(element.id + ".setAttribute('" + enumType + "', '" + alt_val.id + "')");
+        element.setAttribute(enumType, alt_val.id);
+
+        var val_check = (val.toUpperCase() == val) ? val.toLowerCase() : val.toUpperCase();
+        shouldBeUndefined(element.id + ".setAttribute('" + enumType + "', '" + val_check + "')");
+        shouldBeEqualToString(element.id + ".getAttribute('" + enumType + "')", val_check);
+        shouldBe(element.id + "." + enumType + ".baseVal", elementType + "." + alt_val.val);
+    } 
+}
+
+// SVGComponentTransferFunctionElement
+var transferFunctionElement = document.createElementNS("http://www.w3.org/2000/svg", "feFuncR");
+transferFunctionElement.id = "transferFunctionElement";
+testCaseSensitivity("SVGComponentTransferFunctionElement", transferFunctionElement, "type");
+
+// SVGFEBlendElement
+var feBlendElement = document.createElementNS("http://www.w3.org/2000/svg", "feBlend");
+feBlendElement.id = "feBlendElement";
+testCaseSensitivity("SVGFEBlendElement", feBlendElement, "mode");
+
+// SVGFEColorMatrixElement
+var feColorMatrixElement = document.createElementNS("http://www.w3.org/2000/svg", "feColorMatrix");
+feColorMatrixElement.id = "feColorMatrixElement";
+testCaseSensitivity("SVGFEColorMatrixElement", feColorMatrixElement, "type");
+
+// SVGFECompositeElement
+var feCompositeElement = document.createElementNS("http://www.w3.org/2000/svg", "feComposite");
+feCompositeElement.id = "feCompositeElement";
+testCaseSensitivity("SVGFECompositeElement", feCompositeElement, "operator");
+
+// SVGFEConvolveMatrixElement
+var feConvolveMatrixElement = document.createElementNS("http://www.w3.org/2000/svg", "feConvolveMatrix");
+feConvolveMatrixElement.id = "feConvolveMatrixElement";
+testCaseSensitivity("SVGFEConvolveMatrixElement", feConvolveMatrixElement, "edgeMode");
+
+// SVGFEDisplacementMapElement
+var feDisplacementMapElement = document.createElementNS("http://www.w3.org/2000/svg", "feDisplacementMap");
+feDisplacementMapElement.id = "feDisplacementMapElement";
+testCaseSensitivity("SVGFEDisplacementMapElement", feDisplacementMapElement, "xChannelSelector");
+
+// SVGFEMorphologyElement
+var feMorphologyElement = document.createElementNS("http://www.w3.org/2000/svg", "feMorphology");
+feMorphologyElement.id = "feMorphologyElement";
+testCaseSensitivity("SVGFEMorphologyElement", feMorphologyElement, "operator");
+
+// SVGFETurbulenceElement
+var feTurbulenceElement = document.createElementNS("http://www.w3.org/2000/svg", "feTurbulence");
+feTurbulenceElement.id = "feTurbulenceElement";
+testCaseSensitivity("SVGFETurbulenceElement", feTurbulenceElement, "type");
+testCaseSensitivity("SVGFETurbulenceElement", feTurbulenceElement, "stitchTiles");
+
+// SVGGradientElement
+var gradientElement = document.createElementNS("http://www.w3.org/2000/svg", "linearGradient");
+gradientElement.id = "gradientElement";
+testCaseSensitivity("SVGGradientElement", gradientElement, "spreadMethod");
+testCaseSensitivity("SVGUnitTypes", gradientElement, "gradientUnits");
+
+// SVGMarkerElement
+var markerElement = document.createElementNS("http://www.w3.org/2000/svg", "marker");
+markerElement.id = "markerElement";
+testCaseSensitivity("SVGMarkerElement", markerElement, "markerUnits");
+
+// SVGTextContentElement
+var textContentElement = document.createElementNS("http://www.w3.org/2000/svg", "text");
+textContentElement.id = "textContentElement";
+testCaseSensitivity("SVGTextContentElement", textContentElement, "lengthAdjust");
+
+// SVGTextPathElement
+var textPathElement = document.createElementNS("http://www.w3.org/2000/svg", "textPath");
+textPathElement.id = "textPathElement";
+testCaseSensitivity("SVGTextPathElement", textPathElement, "method");
+testCaseSensitivity("SVGTextPathElement", textPathElement, "spacing");
+
+debug("");
+
+successfullyParsed = true;

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/ChangeLog (197104 => 197105)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/ChangeLog	2016-02-25 13:49:08 UTC (rev 197104)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/ChangeLog	2016-02-25 13:56:57 UTC (rev 197105)
@@ -1,3 +1,44 @@
+2016-02-23  Nikos Andronikos  <nikos.andronikos-web...@cisra.canon.com.au>
+
+        [SVG] Update SVG source to return string literals as ASCIILiteral and add test cases for case sensitivity
+        https://bugs.webkit.org/show_bug.cgi?id=154373
+
+        Reviewed by Youenn Fablet.
+
+        Update SVGAnimatedEnumeration toString method to return ASCIILiteral for string literals and add test cases for
+        case-sensitivity for these elements.
+
+        Test: svg/dom/SVGAnimatedEnumeration-case-sensitive.html
+
+        * svg/SVGComponentTransferFunctionElement.h:
+        (WebCore::SVGPropertyTraits<ComponentTransferType>::toString):
+        * svg/SVGFEBlendElement.h:
+        (WebCore::SVGPropertyTraits<BlendMode>::toString):
+        * svg/SVGFEColorMatrixElement.h:
+        (WebCore::SVGPropertyTraits<ColorMatrixType>::toString):
+        * svg/SVGFECompositeElement.h:
+        (WebCore::SVGPropertyTraits<CompositeOperationType>::toString):
+        * svg/SVGFEConvolveMatrixElement.h:
+        (WebCore::SVGPropertyTraits<EdgeModeType>::toString):
+        * svg/SVGFEDisplacementMapElement.h:
+        (WebCore::SVGPropertyTraits<ChannelSelectorType>::toString):
+        * svg/SVGFEMorphologyElement.h:
+        (WebCore::SVGPropertyTraits<MorphologyOperatorType>::toString):
+        * svg/SVGFETurbulenceElement.h:
+        (WebCore::SVGPropertyTraits<SVGStitchOptions>::toString):
+        (WebCore::SVGPropertyTraits<TurbulenceType>::toString):
+        * svg/SVGGradientElement.h:
+        (WebCore::SVGPropertyTraits<SVGSpreadMethodType>::toString):
+        * svg/SVGMarkerElement.h:
+        (WebCore::SVGPropertyTraits<SVGMarkerUnitsType>::toString):
+        * svg/SVGTextContentElement.h:
+        (WebCore::SVGPropertyTraits<SVGLengthAdjustType>::toString):
+        * svg/SVGTextPathElement.h:
+        (WebCore::SVGPropertyTraits<SVGTextPathMethodType>::toString):
+        (WebCore::SVGPropertyTraits<SVGTextPathSpacingType>::toString):
+        * svg/SVGUnitTypes.h:
+        (WebCore::SVGPropertyTraits<SVGUnitTypes::SVGUnitType>::toString):
+
 2016-02-22  Gavin Barraclough  <barraclo...@apple.com>
 
         Some timer alignment cleanup.

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGComponentTransferFunctionElement.h (197104 => 197105)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGComponentTransferFunctionElement.h	2016-02-25 13:49:08 UTC (rev 197104)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGComponentTransferFunctionElement.h	2016-02-25 13:56:57 UTC (rev 197105)
@@ -38,15 +38,15 @@
         case FECOMPONENTTRANSFER_TYPE_UNKNOWN:
             return emptyString();
         case FECOMPONENTTRANSFER_TYPE_IDENTITY:
-            return "identity";
+            return ASCIILiteral("identity");
         case FECOMPONENTTRANSFER_TYPE_TABLE:
-            return "table";
+            return ASCIILiteral("table");
         case FECOMPONENTTRANSFER_TYPE_DISCRETE:
-            return "discrete";
+            return ASCIILiteral("discrete");
         case FECOMPONENTTRANSFER_TYPE_LINEAR:
-            return "linear";
+            return ASCIILiteral("linear");
         case FECOMPONENTTRANSFER_TYPE_GAMMA:
-            return "gamma";
+            return ASCIILiteral("gamma");
         }
 
         ASSERT_NOT_REACHED();

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFEBlendElement.h (197104 => 197105)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFEBlendElement.h	2016-02-25 13:49:08 UTC (rev 197104)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFEBlendElement.h	2016-02-25 13:56:57 UTC (rev 197105)
@@ -36,15 +36,15 @@
     {
         switch (type) {
         case BlendModeNormal:
-            return "normal";
+            return ASCIILiteral("normal");
         case BlendModeMultiply:
-            return "multiply";
+            return ASCIILiteral("multiply");
         case BlendModeScreen:
-            return "screen";
+            return ASCIILiteral("screen");
         case BlendModeDarken:
-            return "darken";
+            return ASCIILiteral("darken");
         case BlendModeLighten:
-            return "lighten";
+            return ASCIILiteral("lighten");
         default:
             return emptyString();
         }

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFEColorMatrixElement.h (197104 => 197105)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFEColorMatrixElement.h	2016-02-25 13:49:08 UTC (rev 197104)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFEColorMatrixElement.h	2016-02-25 13:56:57 UTC (rev 197105)
@@ -38,13 +38,13 @@
         case FECOLORMATRIX_TYPE_UNKNOWN:
             return emptyString();
         case FECOLORMATRIX_TYPE_MATRIX:
-            return "matrix";
+            return ASCIILiteral("matrix");
         case FECOLORMATRIX_TYPE_SATURATE:
-            return "saturate";
+            return ASCIILiteral("saturate");
         case FECOLORMATRIX_TYPE_HUEROTATE:
-            return "hueRotate";
+            return ASCIILiteral("hueRotate");
         case FECOLORMATRIX_TYPE_LUMINANCETOALPHA:
-            return "luminanceToAlpha";
+            return ASCIILiteral("luminanceToAlpha");
         }
 
         ASSERT_NOT_REACHED();

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFECompositeElement.h (197104 => 197105)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFECompositeElement.h	2016-02-25 13:49:08 UTC (rev 197104)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFECompositeElement.h	2016-02-25 13:56:57 UTC (rev 197105)
@@ -41,19 +41,19 @@
         case FECOMPOSITE_OPERATOR_UNKNOWN:
             return emptyString();
         case FECOMPOSITE_OPERATOR_OVER:
-            return "over";
+            return ASCIILiteral("over");
         case FECOMPOSITE_OPERATOR_IN:
-            return "in";
+            return ASCIILiteral("in");
         case FECOMPOSITE_OPERATOR_OUT:
-            return "out";
+            return ASCIILiteral("out");
         case FECOMPOSITE_OPERATOR_ATOP:
-            return "atop";
+            return ASCIILiteral("atop");
         case FECOMPOSITE_OPERATOR_XOR:
-            return "xor";
+            return ASCIILiteral("xor");
         case FECOMPOSITE_OPERATOR_ARITHMETIC:
-            return "arithmetic";
+            return ASCIILiteral("arithmetic");
         case FECOMPOSITE_OPERATOR_LIGHTER:
-            return "lighter";
+            return ASCIILiteral("lighter");
         }
 
         ASSERT_NOT_REACHED();

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFEConvolveMatrixElement.h (197104 => 197105)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFEConvolveMatrixElement.h	2016-02-25 13:49:08 UTC (rev 197104)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFEConvolveMatrixElement.h	2016-02-25 13:56:57 UTC (rev 197105)
@@ -40,11 +40,11 @@
         case EDGEMODE_UNKNOWN:
             return emptyString();
         case EDGEMODE_DUPLICATE:
-            return "duplicate";
+            return ASCIILiteral("duplicate");
         case EDGEMODE_WRAP:
-            return "wrap";
+            return ASCIILiteral("wrap");
         case EDGEMODE_NONE:
-            return "none";
+            return ASCIILiteral("none");
         }
 
         ASSERT_NOT_REACHED();

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFEDisplacementMapElement.h (197104 => 197105)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFEDisplacementMapElement.h	2016-02-25 13:49:08 UTC (rev 197104)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFEDisplacementMapElement.h	2016-02-25 13:56:57 UTC (rev 197105)
@@ -37,13 +37,13 @@
         case CHANNEL_UNKNOWN:
             return emptyString();
         case CHANNEL_R:
-            return "R";
+            return ASCIILiteral("R");
         case CHANNEL_G:
-            return "G";
+            return ASCIILiteral("G");
         case CHANNEL_B:
-            return "B";
+            return ASCIILiteral("B");
         case CHANNEL_A:
-            return "A";
+            return ASCIILiteral("A");
         }
 
         ASSERT_NOT_REACHED();

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFEMorphologyElement.h (197104 => 197105)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFEMorphologyElement.h	2016-02-25 13:49:08 UTC (rev 197104)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFEMorphologyElement.h	2016-02-25 13:56:57 UTC (rev 197105)
@@ -37,9 +37,9 @@
         case FEMORPHOLOGY_OPERATOR_UNKNOWN:
             return emptyString();
         case FEMORPHOLOGY_OPERATOR_ERODE:
-            return "erode";
+            return ASCIILiteral("erode");
         case FEMORPHOLOGY_OPERATOR_DILATE:
-            return "dilate";
+            return ASCIILiteral("dilate");
         }
 
         ASSERT_NOT_REACHED();

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFETurbulenceElement.h (197104 => 197105)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFETurbulenceElement.h	2016-02-25 13:49:08 UTC (rev 197104)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGFETurbulenceElement.h	2016-02-25 13:56:57 UTC (rev 197105)
@@ -45,9 +45,9 @@
         case SVG_STITCHTYPE_UNKNOWN:
             return emptyString();
         case SVG_STITCHTYPE_STITCH:
-            return "stitch";
+            return ASCIILiteral("stitch");
         case SVG_STITCHTYPE_NOSTITCH:
-            return "noStitch";
+            return ASCIILiteral("noStitch");
         }
 
         ASSERT_NOT_REACHED();
@@ -74,9 +74,9 @@
         case FETURBULENCE_TYPE_UNKNOWN:
             return emptyString();
         case FETURBULENCE_TYPE_FRACTALNOISE:
-            return "fractalNoise";
+            return ASCIILiteral("fractalNoise");
         case FETURBULENCE_TYPE_TURBULENCE:
-            return "turbulence";
+            return ASCIILiteral("turbulence");
         }
 
         ASSERT_NOT_REACHED();

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGGradientElement.h (197104 => 197105)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGGradientElement.h	2016-02-25 13:49:08 UTC (rev 197104)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGGradientElement.h	2016-02-25 13:56:57 UTC (rev 197105)
@@ -50,11 +50,11 @@
         case SVGSpreadMethodUnknown:
             return emptyString();
         case SVGSpreadMethodPad:
-            return "pad";
+            return ASCIILiteral("pad");
         case SVGSpreadMethodReflect:
-            return "reflect";
+            return ASCIILiteral("reflect");
         case SVGSpreadMethodRepeat:
-            return "repeat";
+            return ASCIILiteral("repeat");
         }
 
         ASSERT_NOT_REACHED();

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGMarkerElement.h (197104 => 197105)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGMarkerElement.h	2016-02-25 13:49:08 UTC (rev 197104)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGMarkerElement.h	2016-02-25 13:56:57 UTC (rev 197105)
@@ -58,9 +58,9 @@
         case SVGMarkerUnitsUnknown:
             return emptyString();
         case SVGMarkerUnitsUserSpaceOnUse:
-            return "userSpaceOnUse";
+            return ASCIILiteral("userSpaceOnUse");
         case SVGMarkerUnitsStrokeWidth:
-            return "strokeWidth";
+            return ASCIILiteral("strokeWidth");
         }
 
         ASSERT_NOT_REACHED();

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGTextContentElement.h (197104 => 197105)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGTextContentElement.h	2016-02-25 13:49:08 UTC (rev 197104)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGTextContentElement.h	2016-02-25 13:56:57 UTC (rev 197105)
@@ -45,9 +45,9 @@
         case SVGLengthAdjustUnknown:
             return emptyString();
         case SVGLengthAdjustSpacing:
-            return "spacing";
+            return ASCIILiteral("spacing");
         case SVGLengthAdjustSpacingAndGlyphs:
-            return "spacingAndGlyphs";
+            return ASCIILiteral("spacingAndGlyphs");
         }
 
         ASSERT_NOT_REACHED();

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGTextPathElement.h (197104 => 197105)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGTextPathElement.h	2016-02-25 13:49:08 UTC (rev 197104)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGTextPathElement.h	2016-02-25 13:56:57 UTC (rev 197105)
@@ -48,9 +48,9 @@
         case SVGTextPathMethodUnknown:
             return emptyString();
         case SVGTextPathMethodAlign:
-            return "align";
+            return ASCIILiteral("align");
         case SVGTextPathMethodStretch:
-            return "stretch";
+            return ASCIILiteral("stretch");
         }
     
         ASSERT_NOT_REACHED();
@@ -77,9 +77,9 @@
         case SVGTextPathSpacingUnknown:
             return emptyString();
         case SVGTextPathSpacingAuto:
-            return "auto";
+            return ASCIILiteral("auto");
         case SVGTextPathSpacingExact:
-            return "exact";
+            return ASCIILiteral("exact");
         }
 
         ASSERT_NOT_REACHED();

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGUnitTypes.h (197104 => 197105)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGUnitTypes.h	2016-02-25 13:49:08 UTC (rev 197104)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/svg/SVGUnitTypes.h	2016-02-25 13:56:57 UTC (rev 197105)
@@ -47,9 +47,9 @@
         case SVGUnitTypes::SVG_UNIT_TYPE_UNKNOWN:
             return emptyString();
         case SVGUnitTypes::SVG_UNIT_TYPE_USERSPACEONUSE:
-            return "userSpaceOnUse";
+            return ASCIILiteral("userSpaceOnUse");
         case SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX:
-            return "objectBoundingBox";
+            return ASCIILiteral("objectBoundingBox");
         }
 
         ASSERT_NOT_REACHED();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to