<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[196977] trunk</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/196977">196977</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2016-02-23 08:30:50 -0800 (Tue, 23 Feb 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>[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-webkit@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):</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoresvgSVGComponentTransferFunctionElementh">trunk/Source/WebCore/svg/SVGComponentTransferFunctionElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEBlendElementh">trunk/Source/WebCore/svg/SVGFEBlendElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEColorMatrixElementh">trunk/Source/WebCore/svg/SVGFEColorMatrixElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFECompositeElementh">trunk/Source/WebCore/svg/SVGFECompositeElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEConvolveMatrixElementh">trunk/Source/WebCore/svg/SVGFEConvolveMatrixElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEDisplacementMapElementh">trunk/Source/WebCore/svg/SVGFEDisplacementMapElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFEMorphologyElementh">trunk/Source/WebCore/svg/SVGFEMorphologyElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGFETurbulenceElementh">trunk/Source/WebCore/svg/SVGFETurbulenceElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGGradientElementh">trunk/Source/WebCore/svg/SVGGradientElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGMarkerElementh">trunk/Source/WebCore/svg/SVGMarkerElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGTextContentElementh">trunk/Source/WebCore/svg/SVGTextContentElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGTextPathElementh">trunk/Source/WebCore/svg/SVGTextPathElement.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGUnitTypesh">trunk/Source/WebCore/svg/SVGUnitTypes.h</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestssvgdomSVGAnimatedEnumerationcasesensitiveexpectedtxt">trunk/LayoutTests/svg/dom/SVGAnimatedEnumeration-case-sensitive-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgdomSVGAnimatedEnumerationcasesensitivehtml">trunk/LayoutTests/svg/dom/SVGAnimatedEnumeration-case-sensitive.html</a></li>
<li><a href="#trunkLayoutTestssvgdomscripttestsSVGAnimatedEnumerationcasesensitivejs">trunk/LayoutTests/svg/dom/script-tests/SVGAnimatedEnumeration-case-sensitive.js</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (196976 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-02-23 15:51:19 UTC (rev 196976)
+++ trunk/LayoutTests/ChangeLog        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2016-02-23 Nikos Andronikos <nikos.andronikos-webkit@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):
+
</ins><span class="cx"> 2016-02-22 Myles C. Maxfield <mmaxfield@apple.com>
</span><span class="cx">
</span><span class="cx"> Font features specified in @font-face blocks don't apply to local() families
</span></span></pre></div>
<a id="trunkLayoutTestssvgdomSVGAnimatedEnumerationcasesensitiveexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/svg/dom/SVGAnimatedEnumeration-case-sensitive-expected.txt (0 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/dom/SVGAnimatedEnumeration-case-sensitive-expected.txt         (rev 0)
+++ trunk/LayoutTests/svg/dom/SVGAnimatedEnumeration-case-sensitive-expected.txt        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -0,0 +1,487 @@
</span><ins>+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
+
</ins></span></pre></div>
<a id="trunkLayoutTestssvgdomSVGAnimatedEnumerationcasesensitivehtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/svg/dom/SVGAnimatedEnumeration-case-sensitive.html (0 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/dom/SVGAnimatedEnumeration-case-sensitive.html         (rev 0)
+++ trunk/LayoutTests/svg/dom/SVGAnimatedEnumeration-case-sensitive.html        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="script-tests/SVGAnimatedEnumeration-case-sensitive.js"></script>
+<script src="../../resources/js-test-post.js"></script>
+</body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestssvgdomscripttestsSVGAnimatedEnumerationcasesensitivejs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/svg/dom/script-tests/SVGAnimatedEnumeration-case-sensitive.js (0 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/dom/script-tests/SVGAnimatedEnumeration-case-sensitive.js         (rev 0)
+++ trunk/LayoutTests/svg/dom/script-tests/SVGAnimatedEnumeration-case-sensitive.js        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -0,0 +1,207 @@
</span><ins>+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;
</ins></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (196976 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-02-23 15:51:19 UTC (rev 196976)
+++ trunk/Source/WebCore/ChangeLog        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -1,3 +1,44 @@
</span><ins>+2016-02-23 Nikos Andronikos <nikos.andronikos-webkit@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):
+
</ins><span class="cx"> 2016-02-23 Csaba Osztrogonác <ossy@webkit.org>
</span><span class="cx">
</span><span class="cx"> [Mac][cmake] Unreviewed speculative buildfix after r196779. Just for fun.
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGComponentTransferFunctionElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGComponentTransferFunctionElement.h (196976 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGComponentTransferFunctionElement.h        2016-02-23 15:51:19 UTC (rev 196976)
+++ trunk/Source/WebCore/svg/SVGComponentTransferFunctionElement.h        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -38,15 +38,15 @@
</span><span class="cx"> case FECOMPONENTTRANSFER_TYPE_UNKNOWN:
</span><span class="cx"> return emptyString();
</span><span class="cx"> case FECOMPONENTTRANSFER_TYPE_IDENTITY:
</span><del>- return "identity";
</del><ins>+ return ASCIILiteral("identity");
</ins><span class="cx"> case FECOMPONENTTRANSFER_TYPE_TABLE:
</span><del>- return "table";
</del><ins>+ return ASCIILiteral("table");
</ins><span class="cx"> case FECOMPONENTTRANSFER_TYPE_DISCRETE:
</span><del>- return "discrete";
</del><ins>+ return ASCIILiteral("discrete");
</ins><span class="cx"> case FECOMPONENTTRANSFER_TYPE_LINEAR:
</span><del>- return "linear";
</del><ins>+ return ASCIILiteral("linear");
</ins><span class="cx"> case FECOMPONENTTRANSFER_TYPE_GAMMA:
</span><del>- return "gamma";
</del><ins>+ return ASCIILiteral("gamma");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEBlendElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEBlendElement.h (196976 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEBlendElement.h        2016-02-23 15:51:19 UTC (rev 196976)
+++ trunk/Source/WebCore/svg/SVGFEBlendElement.h        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -36,15 +36,15 @@
</span><span class="cx"> {
</span><span class="cx"> switch (type) {
</span><span class="cx"> case BlendModeNormal:
</span><del>- return "normal";
</del><ins>+ return ASCIILiteral("normal");
</ins><span class="cx"> case BlendModeMultiply:
</span><del>- return "multiply";
</del><ins>+ return ASCIILiteral("multiply");
</ins><span class="cx"> case BlendModeScreen:
</span><del>- return "screen";
</del><ins>+ return ASCIILiteral("screen");
</ins><span class="cx"> case BlendModeDarken:
</span><del>- return "darken";
</del><ins>+ return ASCIILiteral("darken");
</ins><span class="cx"> case BlendModeLighten:
</span><del>- return "lighten";
</del><ins>+ return ASCIILiteral("lighten");
</ins><span class="cx"> default:
</span><span class="cx"> return emptyString();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEColorMatrixElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEColorMatrixElement.h (196976 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEColorMatrixElement.h        2016-02-23 15:51:19 UTC (rev 196976)
+++ trunk/Source/WebCore/svg/SVGFEColorMatrixElement.h        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -38,13 +38,13 @@
</span><span class="cx"> case FECOLORMATRIX_TYPE_UNKNOWN:
</span><span class="cx"> return emptyString();
</span><span class="cx"> case FECOLORMATRIX_TYPE_MATRIX:
</span><del>- return "matrix";
</del><ins>+ return ASCIILiteral("matrix");
</ins><span class="cx"> case FECOLORMATRIX_TYPE_SATURATE:
</span><del>- return "saturate";
</del><ins>+ return ASCIILiteral("saturate");
</ins><span class="cx"> case FECOLORMATRIX_TYPE_HUEROTATE:
</span><del>- return "hueRotate";
</del><ins>+ return ASCIILiteral("hueRotate");
</ins><span class="cx"> case FECOLORMATRIX_TYPE_LUMINANCETOALPHA:
</span><del>- return "luminanceToAlpha";
</del><ins>+ return ASCIILiteral("luminanceToAlpha");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFECompositeElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFECompositeElement.h (196976 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFECompositeElement.h        2016-02-23 15:51:19 UTC (rev 196976)
+++ trunk/Source/WebCore/svg/SVGFECompositeElement.h        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -41,19 +41,19 @@
</span><span class="cx"> case FECOMPOSITE_OPERATOR_UNKNOWN:
</span><span class="cx"> return emptyString();
</span><span class="cx"> case FECOMPOSITE_OPERATOR_OVER:
</span><del>- return "over";
</del><ins>+ return ASCIILiteral("over");
</ins><span class="cx"> case FECOMPOSITE_OPERATOR_IN:
</span><del>- return "in";
</del><ins>+ return ASCIILiteral("in");
</ins><span class="cx"> case FECOMPOSITE_OPERATOR_OUT:
</span><del>- return "out";
</del><ins>+ return ASCIILiteral("out");
</ins><span class="cx"> case FECOMPOSITE_OPERATOR_ATOP:
</span><del>- return "atop";
</del><ins>+ return ASCIILiteral("atop");
</ins><span class="cx"> case FECOMPOSITE_OPERATOR_XOR:
</span><del>- return "xor";
</del><ins>+ return ASCIILiteral("xor");
</ins><span class="cx"> case FECOMPOSITE_OPERATOR_ARITHMETIC:
</span><del>- return "arithmetic";
</del><ins>+ return ASCIILiteral("arithmetic");
</ins><span class="cx"> case FECOMPOSITE_OPERATOR_LIGHTER:
</span><del>- return "lighter";
</del><ins>+ return ASCIILiteral("lighter");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEConvolveMatrixElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEConvolveMatrixElement.h (196976 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEConvolveMatrixElement.h        2016-02-23 15:51:19 UTC (rev 196976)
+++ trunk/Source/WebCore/svg/SVGFEConvolveMatrixElement.h        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -40,11 +40,11 @@
</span><span class="cx"> case EDGEMODE_UNKNOWN:
</span><span class="cx"> return emptyString();
</span><span class="cx"> case EDGEMODE_DUPLICATE:
</span><del>- return "duplicate";
</del><ins>+ return ASCIILiteral("duplicate");
</ins><span class="cx"> case EDGEMODE_WRAP:
</span><del>- return "wrap";
</del><ins>+ return ASCIILiteral("wrap");
</ins><span class="cx"> case EDGEMODE_NONE:
</span><del>- return "none";
</del><ins>+ return ASCIILiteral("none");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEDisplacementMapElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEDisplacementMapElement.h (196976 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEDisplacementMapElement.h        2016-02-23 15:51:19 UTC (rev 196976)
+++ trunk/Source/WebCore/svg/SVGFEDisplacementMapElement.h        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -37,13 +37,13 @@
</span><span class="cx"> case CHANNEL_UNKNOWN:
</span><span class="cx"> return emptyString();
</span><span class="cx"> case CHANNEL_R:
</span><del>- return "R";
</del><ins>+ return ASCIILiteral("R");
</ins><span class="cx"> case CHANNEL_G:
</span><del>- return "G";
</del><ins>+ return ASCIILiteral("G");
</ins><span class="cx"> case CHANNEL_B:
</span><del>- return "B";
</del><ins>+ return ASCIILiteral("B");
</ins><span class="cx"> case CHANNEL_A:
</span><del>- return "A";
</del><ins>+ return ASCIILiteral("A");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFEMorphologyElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFEMorphologyElement.h (196976 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFEMorphologyElement.h        2016-02-23 15:51:19 UTC (rev 196976)
+++ trunk/Source/WebCore/svg/SVGFEMorphologyElement.h        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -37,9 +37,9 @@
</span><span class="cx"> case FEMORPHOLOGY_OPERATOR_UNKNOWN:
</span><span class="cx"> return emptyString();
</span><span class="cx"> case FEMORPHOLOGY_OPERATOR_ERODE:
</span><del>- return "erode";
</del><ins>+ return ASCIILiteral("erode");
</ins><span class="cx"> case FEMORPHOLOGY_OPERATOR_DILATE:
</span><del>- return "dilate";
</del><ins>+ return ASCIILiteral("dilate");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGFETurbulenceElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGFETurbulenceElement.h (196976 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGFETurbulenceElement.h        2016-02-23 15:51:19 UTC (rev 196976)
+++ trunk/Source/WebCore/svg/SVGFETurbulenceElement.h        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -45,9 +45,9 @@
</span><span class="cx"> case SVG_STITCHTYPE_UNKNOWN:
</span><span class="cx"> return emptyString();
</span><span class="cx"> case SVG_STITCHTYPE_STITCH:
</span><del>- return "stitch";
</del><ins>+ return ASCIILiteral("stitch");
</ins><span class="cx"> case SVG_STITCHTYPE_NOSTITCH:
</span><del>- return "noStitch";
</del><ins>+ return ASCIILiteral("noStitch");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="lines">@@ -74,9 +74,9 @@
</span><span class="cx"> case FETURBULENCE_TYPE_UNKNOWN:
</span><span class="cx"> return emptyString();
</span><span class="cx"> case FETURBULENCE_TYPE_FRACTALNOISE:
</span><del>- return "fractalNoise";
</del><ins>+ return ASCIILiteral("fractalNoise");
</ins><span class="cx"> case FETURBULENCE_TYPE_TURBULENCE:
</span><del>- return "turbulence";
</del><ins>+ return ASCIILiteral("turbulence");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGGradientElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGGradientElement.h (196976 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGGradientElement.h        2016-02-23 15:51:19 UTC (rev 196976)
+++ trunk/Source/WebCore/svg/SVGGradientElement.h        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -50,11 +50,11 @@
</span><span class="cx"> case SVGSpreadMethodUnknown:
</span><span class="cx"> return emptyString();
</span><span class="cx"> case SVGSpreadMethodPad:
</span><del>- return "pad";
</del><ins>+ return ASCIILiteral("pad");
</ins><span class="cx"> case SVGSpreadMethodReflect:
</span><del>- return "reflect";
</del><ins>+ return ASCIILiteral("reflect");
</ins><span class="cx"> case SVGSpreadMethodRepeat:
</span><del>- return "repeat";
</del><ins>+ return ASCIILiteral("repeat");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGMarkerElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGMarkerElement.h (196976 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGMarkerElement.h        2016-02-23 15:51:19 UTC (rev 196976)
+++ trunk/Source/WebCore/svg/SVGMarkerElement.h        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -58,9 +58,9 @@
</span><span class="cx"> case SVGMarkerUnitsUnknown:
</span><span class="cx"> return emptyString();
</span><span class="cx"> case SVGMarkerUnitsUserSpaceOnUse:
</span><del>- return "userSpaceOnUse";
</del><ins>+ return ASCIILiteral("userSpaceOnUse");
</ins><span class="cx"> case SVGMarkerUnitsStrokeWidth:
</span><del>- return "strokeWidth";
</del><ins>+ return ASCIILiteral("strokeWidth");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGTextContentElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGTextContentElement.h (196976 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGTextContentElement.h        2016-02-23 15:51:19 UTC (rev 196976)
+++ trunk/Source/WebCore/svg/SVGTextContentElement.h        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -45,9 +45,9 @@
</span><span class="cx"> case SVGLengthAdjustUnknown:
</span><span class="cx"> return emptyString();
</span><span class="cx"> case SVGLengthAdjustSpacing:
</span><del>- return "spacing";
</del><ins>+ return ASCIILiteral("spacing");
</ins><span class="cx"> case SVGLengthAdjustSpacingAndGlyphs:
</span><del>- return "spacingAndGlyphs";
</del><ins>+ return ASCIILiteral("spacingAndGlyphs");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGTextPathElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGTextPathElement.h (196976 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGTextPathElement.h        2016-02-23 15:51:19 UTC (rev 196976)
+++ trunk/Source/WebCore/svg/SVGTextPathElement.h        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -48,9 +48,9 @@
</span><span class="cx"> case SVGTextPathMethodUnknown:
</span><span class="cx"> return emptyString();
</span><span class="cx"> case SVGTextPathMethodAlign:
</span><del>- return "align";
</del><ins>+ return ASCIILiteral("align");
</ins><span class="cx"> case SVGTextPathMethodStretch:
</span><del>- return "stretch";
</del><ins>+ return ASCIILiteral("stretch");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="lines">@@ -77,9 +77,9 @@
</span><span class="cx"> case SVGTextPathSpacingUnknown:
</span><span class="cx"> return emptyString();
</span><span class="cx"> case SVGTextPathSpacingAuto:
</span><del>- return "auto";
</del><ins>+ return ASCIILiteral("auto");
</ins><span class="cx"> case SVGTextPathSpacingExact:
</span><del>- return "exact";
</del><ins>+ return ASCIILiteral("exact");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGUnitTypesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGUnitTypes.h (196976 => 196977)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGUnitTypes.h        2016-02-23 15:51:19 UTC (rev 196976)
+++ trunk/Source/WebCore/svg/SVGUnitTypes.h        2016-02-23 16:30:50 UTC (rev 196977)
</span><span class="lines">@@ -47,9 +47,9 @@
</span><span class="cx"> case SVGUnitTypes::SVG_UNIT_TYPE_UNKNOWN:
</span><span class="cx"> return emptyString();
</span><span class="cx"> case SVGUnitTypes::SVG_UNIT_TYPE_USERSPACEONUSE:
</span><del>- return "userSpaceOnUse";
</del><ins>+ return ASCIILiteral("userSpaceOnUse");
</ins><span class="cx"> case SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX:
</span><del>- return "objectBoundingBox";
</del><ins>+ return ASCIILiteral("objectBoundingBox");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ASSERT_NOT_REACHED();
</span></span></pre>
</div>
</div>
</body>
</html>