<!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>[203949] 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/203949">203949</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2016-07-30 17:23:21 -0700 (Sat, 30 Jul 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>[WebIDL] Enable strict type checking for nullable attribute setters of wrapper types
https://bugs.webkit.org/show_bug.cgi?id=160375

Reviewed by Darin Adler.

Source/WebCore:

Enable strict type checking for nullable attribute setters of wrapper types:
- http://heycam.github.io/webidl/#es-nullable-type
- http://heycam.github.io/webidl/#es-interface

For such attributes, if the JS tries to assign a value that is not null /
undefined and does not have the expected wrapper type, then we now throw a
TypeError instead of silently converting the value to null.

This behavior is consistent with Chrome and Firefox. It also helps identify
bugs in JavaScript code.

No new tests, updated existing tests.

* Modules/webaudio/AudioBufferSourceNode.idl:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjTestNullableObjAttr):
(WebCore::setJSTestObjMutablePoint):
(WebCore::setJSTestObjImmutablePoint):
* bindings/scripts/test/TestObj.idl:
* dom/Document.idl:
* html/HTMLTableElement.idl:
* svg/SVGAngle.idl:
* svg/SVGAnimatedBoolean.idl:
* svg/SVGAnimatedEnumeration.idl:
* svg/SVGAnimatedInteger.idl:
* svg/SVGAnimatedNumber.idl:
* svg/SVGLength.idl:
* svg/SVGMatrix.idl:
* svg/SVGNumber.idl:
* svg/SVGPathSegArcAbs.idl:
* svg/SVGPathSegArcRel.idl:
* svg/SVGPathSegCurvetoCubicAbs.idl:
* svg/SVGPathSegCurvetoCubicRel.idl:
* svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
* svg/SVGPathSegCurvetoCubicSmoothRel.idl:
* svg/SVGPathSegCurvetoQuadraticAbs.idl:
* svg/SVGPathSegCurvetoQuadraticRel.idl:
* svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
* svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
* svg/SVGPathSegLinetoAbs.idl:
* svg/SVGPathSegLinetoHorizontalAbs.idl:
* svg/SVGPathSegLinetoHorizontalRel.idl:
* svg/SVGPathSegLinetoRel.idl:
* svg/SVGPathSegLinetoVerticalAbs.idl:
* svg/SVGPathSegLinetoVerticalRel.idl:
* svg/SVGPathSegMovetoAbs.idl:
* svg/SVGPathSegMovetoRel.idl:
* svg/SVGPoint.idl:
* svg/SVGPreserveAspectRatio.idl:
* svg/SVGRect.idl:

LayoutTests:

Rebaseline / update existing tests to reflect behavior change.

* fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt:
* fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html:
* webaudio/convolver-setBuffer-null-expected.txt:
* webaudio/convolver-setBuffer-null.html:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfastformsfileinputfilewritefilesexpectedtxt">trunk/LayoutTests/fast/forms/file/input-file-write-files-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastformsfileinputfilewritefileshtml">trunk/LayoutTests/fast/forms/file/input-file-write-files.html</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesiscrashonbadutteranceexpectedtxt">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesiscrashonbadutterancehtml">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html</a></li>
<li><a href="#trunkLayoutTestswebaudioconvolversetBuffernullexpectedtxt">trunk/LayoutTests/webaudio/convolver-setBuffer-null-expected.txt</a></li>
<li><a href="#trunkLayoutTestswebaudioconvolversetBuffernullhtml">trunk/LayoutTests/webaudio/convolver-setBuffer-null.html</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioBufferSourceNodeidl">trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.idl</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestTestObjidl">trunk/Source/WebCore/bindings/scripts/test/TestObj.idl</a></li>
<li><a href="#trunkSourceWebCoredomDocumentidl">trunk/Source/WebCore/dom/Document.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableElementidl">trunk/Source/WebCore/html/HTMLTableElement.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAngleidl">trunk/Source/WebCore/svg/SVGAngle.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimatedBooleanidl">trunk/Source/WebCore/svg/SVGAnimatedBoolean.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimatedEnumerationidl">trunk/Source/WebCore/svg/SVGAnimatedEnumeration.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimatedIntegeridl">trunk/Source/WebCore/svg/SVGAnimatedInteger.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimatedNumberidl">trunk/Source/WebCore/svg/SVGAnimatedNumber.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGLengthidl">trunk/Source/WebCore/svg/SVGLength.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGMatrixidl">trunk/Source/WebCore/svg/SVGMatrix.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGNumberidl">trunk/Source/WebCore/svg/SVGNumber.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegArcAbsidl">trunk/Source/WebCore/svg/SVGPathSegArcAbs.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegArcRelidl">trunk/Source/WebCore/svg/SVGPathSegArcRel.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegCurvetoCubicAbsidl">trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicAbs.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegCurvetoCubicRelidl">trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicRel.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegCurvetoCubicSmoothAbsidl">trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothAbs.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegCurvetoCubicSmoothRelidl">trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothRel.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegCurvetoQuadraticAbsidl">trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegCurvetoQuadraticRelidl">trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticRel.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegCurvetoQuadraticSmoothAbsidl">trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegCurvetoQuadraticSmoothRelidl">trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegLinetoAbsidl">trunk/Source/WebCore/svg/SVGPathSegLinetoAbs.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegLinetoHorizontalAbsidl">trunk/Source/WebCore/svg/SVGPathSegLinetoHorizontalAbs.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegLinetoHorizontalRelidl">trunk/Source/WebCore/svg/SVGPathSegLinetoHorizontalRel.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegLinetoRelidl">trunk/Source/WebCore/svg/SVGPathSegLinetoRel.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegLinetoVerticalAbsidl">trunk/Source/WebCore/svg/SVGPathSegLinetoVerticalAbs.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegLinetoVerticalRelidl">trunk/Source/WebCore/svg/SVGPathSegLinetoVerticalRel.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegMovetoAbsidl">trunk/Source/WebCore/svg/SVGPathSegMovetoAbs.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegMovetoRelidl">trunk/Source/WebCore/svg/SVGPathSegMovetoRel.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPointidl">trunk/Source/WebCore/svg/SVGPoint.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPreserveAspectRatioidl">trunk/Source/WebCore/svg/SVGPreserveAspectRatio.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGRectidl">trunk/Source/WebCore/svg/SVGRect.idl</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/LayoutTests/ChangeLog        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2016-07-30  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        [WebIDL] Enable strict type checking for nullable attribute setters of wrapper types
+        https://bugs.webkit.org/show_bug.cgi?id=160375
+
+        Reviewed by Darin Adler.
+
+        Rebaseline / update existing tests to reflect behavior change.
+
+        * fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt:
+        * fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html:
+        * webaudio/convolver-setBuffer-null-expected.txt:
+        * webaudio/convolver-setBuffer-null.html:
+
</ins><span class="cx"> 2016-07-30  Alexey Proskuryakov  &lt;ap@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         macOS Sierra test result gardening for media/video-loop.html.
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsfileinputfilewritefilesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/file/input-file-write-files-expected.txt (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/file/input-file-write-files-expected.txt        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/LayoutTests/fast/forms/file/input-file-write-files-expected.txt        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -3,6 +3,7 @@
</span><span class="cx"> On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
</span><span class="cx"> 
</span><span class="cx"> 
</span><ins>+PASS file1.files = &quot;foo&quot; threw exception TypeError: The HTMLInputElement.files attribute must be an instance of FileList.
</ins><span class="cx"> PASS file1.files.length is 1
</span><span class="cx"> PASS file1.files.item(0).name is &quot;foo.txt&quot;
</span><span class="cx"> PASS file1.files.length is 1
</span></span></pre></div>
<a id="trunkLayoutTestsfastformsfileinputfilewritefileshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/forms/file/input-file-write-files.html (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/forms/file/input-file-write-files.html        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/LayoutTests/fast/forms/file/input-file-write-files.html        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -15,7 +15,7 @@
</span><span class="cx">     dragFilesOntoInput(file1, [&quot;foo.txt&quot;]);
</span><span class="cx">     dragFilesOntoInput(file2, [&quot;bar.txt&quot;]);
</span><span class="cx"> 
</span><del>-    file1.files = &quot;foo&quot;;
</del><ins>+    shouldThrow('file1.files = &quot;foo&quot;');
</ins><span class="cx">     shouldBe(&quot;file1.files.length&quot;, &quot;1&quot;);
</span><span class="cx">     shouldBeEqualToString(&quot;file1.files.item(0).name&quot;, &quot;foo.txt&quot;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesiscrashonbadutteranceexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -4,6 +4,7 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> PASS speechSynthesis.speak('Hello World') threw exception TypeError: Argument 1 ('utterance') to SpeechSynthesis.speak must be an instance of SpeechSynthesisUtterance.
</span><ins>+PASS x.voice = &quot;asdf&quot; threw exception TypeError: The SpeechSynthesisUtterance.voice attribute must be an instance of SpeechSynthesisVoice.
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesiscrashonbadutterancehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -16,7 +16,7 @@
</span><span class="cx"> 
</span><span class="cx">      // Don't crash. An utterance voice is supposed to take a voice object, not a string.
</span><span class="cx">      var x = new SpeechSynthesisUtterance('Hello World');
</span><del>-     x.voice = &quot;asdf&quot;;
</del><ins>+     shouldThrow('x.voice = &quot;asdf&quot;');
</ins><span class="cx"> 
</span><span class="cx">      // Don't crash. An utterance is supposed to take a string, not a number.
</span><span class="cx">      x = new SpeechSynthesisUtterance(223);
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioconvolversetBuffernullexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/convolver-setBuffer-null-expected.txt (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/convolver-setBuffer-null-expected.txt        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/LayoutTests/webaudio/convolver-setBuffer-null-expected.txt        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -1,8 +1,12 @@
</span><del>-Tests that ConvolverNode impulse response buffer can be set to 0.
</del><ins>+Tests that ConvolverNode impulse response buffer can be set to null.
</ins><span class="cx"> 
</span><span class="cx"> On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
</span><span class="cx"> 
</span><del>-PASS ConvolverNode impulse response buffer was set to 0.
</del><ins>+
+PASS conv.buffer = null did not throw exception.
+PASS conv.buffer is null
+PASS conv.buffer = document threw exception TypeError: The ConvolverNode.buffer attribute must be an instance of AudioBuffer.
+PASS conv.buffer is null
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestswebaudioconvolversetBuffernullhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/webaudio/convolver-setBuffer-null.html (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/webaudio/convolver-setBuffer-null.html        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/LayoutTests/webaudio/convolver-setBuffer-null.html        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -1,39 +1,22 @@
</span><del>-&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
</del><ins>+&lt;!DOCTYPE html&gt;
</ins><span class="cx"> &lt;html&gt;
</span><span class="cx"> &lt;head&gt;
</span><span class="cx"> &lt;script src=&quot;resources/audio-testing.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;script src=&quot;../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;/head&gt;
</span><del>-
</del><span class="cx"> &lt;body&gt;
</span><del>-&lt;div id=&quot;description&quot;&gt;&lt;/div&gt;
-&lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
-
</del><span class="cx"> &lt;script&gt;
</span><del>-description(&quot;Tests that ConvolverNode impulse response buffer can be set to 0.&quot;);
</del><ins>+description(&quot;Tests that ConvolverNode impulse response buffer can be set to null.&quot;);
</ins><span class="cx"> 
</span><del>-function runTest()
-{
-    if (window.testRunner) {
-        testRunner.dumpAsText();
-        testRunner.waitUntilDone();
-    }
</del><ins>+var context = new webkitAudioContext();
+var conv = context.createConvolver();
</ins><span class="cx"> 
</span><del>-    window.jsTestIsAsync = true;
</del><ins>+shouldNotThrow(&quot;conv.buffer = null&quot;);
+shouldBe(&quot;conv.buffer&quot;, &quot;null&quot;);
</ins><span class="cx"> 
</span><del>-    var context = new webkitAudioContext();
-    var conv = context.createConvolver();
-
-    conv.buffer = 0;
-    testPassed(&quot;ConvolverNode impulse response buffer was set to 0.&quot;);
-
-    finishJSTest();
-}
-
-runTest();
-successfullyParsed = true;
</del><ins>+shouldThrow(&quot;conv.buffer = document&quot;);
+shouldBe(&quot;conv.buffer&quot;, &quot;null&quot;);
</ins><span class="cx"> &lt;/script&gt;
</span><del>-
</del><span class="cx"> &lt;script src=&quot;../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/ChangeLog        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -1,3 +1,63 @@
</span><ins>+2016-07-30  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        [WebIDL] Enable strict type checking for nullable attribute setters of wrapper types
+        https://bugs.webkit.org/show_bug.cgi?id=160375
+
+        Reviewed by Darin Adler.
+
+        Enable strict type checking for nullable attribute setters of wrapper types:
+        - http://heycam.github.io/webidl/#es-nullable-type
+        - http://heycam.github.io/webidl/#es-interface
+
+        For such attributes, if the JS tries to assign a value that is not null /
+        undefined and does not have the expected wrapper type, then we now throw a
+        TypeError instead of silently converting the value to null.
+
+        This behavior is consistent with Chrome and Firefox. It also helps identify
+        bugs in JavaScript code.
+
+        No new tests, updated existing tests.
+
+        * Modules/webaudio/AudioBufferSourceNode.idl:
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateImplementation):
+        * bindings/scripts/test/JS/JSTestObj.cpp:
+        (WebCore::setJSTestObjTestNullableObjAttr):
+        (WebCore::setJSTestObjMutablePoint):
+        (WebCore::setJSTestObjImmutablePoint):
+        * bindings/scripts/test/TestObj.idl:
+        * dom/Document.idl:
+        * html/HTMLTableElement.idl:
+        * svg/SVGAngle.idl:
+        * svg/SVGAnimatedBoolean.idl:
+        * svg/SVGAnimatedEnumeration.idl:
+        * svg/SVGAnimatedInteger.idl:
+        * svg/SVGAnimatedNumber.idl:
+        * svg/SVGLength.idl:
+        * svg/SVGMatrix.idl:
+        * svg/SVGNumber.idl:
+        * svg/SVGPathSegArcAbs.idl:
+        * svg/SVGPathSegArcRel.idl:
+        * svg/SVGPathSegCurvetoCubicAbs.idl:
+        * svg/SVGPathSegCurvetoCubicRel.idl:
+        * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
+        * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
+        * svg/SVGPathSegCurvetoQuadraticAbs.idl:
+        * svg/SVGPathSegCurvetoQuadraticRel.idl:
+        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
+        * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
+        * svg/SVGPathSegLinetoAbs.idl:
+        * svg/SVGPathSegLinetoHorizontalAbs.idl:
+        * svg/SVGPathSegLinetoHorizontalRel.idl:
+        * svg/SVGPathSegLinetoRel.idl:
+        * svg/SVGPathSegLinetoVerticalAbs.idl:
+        * svg/SVGPathSegLinetoVerticalRel.idl:
+        * svg/SVGPathSegMovetoAbs.idl:
+        * svg/SVGPathSegMovetoRel.idl:
+        * svg/SVGPoint.idl:
+        * svg/SVGPreserveAspectRatio.idl:
+        * svg/SVGRect.idl:
+
</ins><span class="cx"> 2016-07-30  Youenn Fablet  &lt;youenn@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Synchronous preflight should check for successful responses
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioBufferSourceNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx">     Conditional=WEB_AUDIO,
</span><span class="cx">     JSGenerateToJSObject,
</span><span class="cx"> ] interface AudioBufferSourceNode : AudioNode {
</span><del>-    [StrictTypeChecking] attribute AudioBuffer? buffer;
</del><ins>+    attribute AudioBuffer? buffer;
</ins><span class="cx"> 
</span><span class="cx">     const unsigned short UNSCHEDULED_STATE = 0;
</span><span class="cx">     const unsigned short SCHEDULED_STATE = 1;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -2925,6 +2925,7 @@
</span><span class="cx">                             push(@implContent, &quot;    auto&amp; impl = forwardedImpl.get();\n&quot;);
</span><span class="cx">                         }
</span><span class="cx">                         $attribute = $codeGenerator-&gt;GetAttributeFromInterface($interface, $type, $putForwards);
</span><ins>+                        $type = $attribute-&gt;signature-&gt;type;
</ins><span class="cx">                     } else {
</span><span class="cx">                         push(@implContent, &quot;    auto&amp; impl = castedThis-&gt;wrapped();\n&quot;);
</span><span class="cx">                     }
</span><span class="lines">@@ -2937,20 +2938,15 @@
</span><span class="cx"> 
</span><span class="cx">                 my $shouldPassByReference = ShouldPassWrapperByReference($attribute-&gt;signature, $interface);
</span><span class="cx"> 
</span><del>-                # If the &quot;StrictTypeChecking&quot; extended attribute is present, and the attribute's type is an
-                # interface type, then if the incoming value does not implement that interface, a TypeError
-                # is thrown rather than silently passing NULL to the C++ code.
-                # Per the Web IDL and ECMAScript specifications, incoming values can always be converted to
-                # both strings and numbers, so do not throw TypeError if the attribute is of these types.
</del><span class="cx">                 my ($nativeValue, $mayThrowException) = JSValueToNative($interface, $attribute-&gt;signature, &quot;value&quot;, $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;});
</span><del>-                if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;StrictTypeChecking&quot;} &amp;&amp; !$shouldPassByReference &amp;&amp; $codeGenerator-&gt;IsWrapperType($type)) {
</del><ins>+                if (!$shouldPassByReference &amp;&amp; $codeGenerator-&gt;IsWrapperType($type)) {
</ins><span class="cx">                     $implIncludes{&quot;&lt;runtime/Error.h&gt;&quot;} = 1;
</span><span class="cx">                     push(@implContent, &quot;    &quot; . GetNativeTypeFromSignature($interface, $attribute-&gt;signature) . &quot; nativeValue = nullptr;\n&quot;);
</span><span class="cx">                     push(@implContent, &quot;    if (!value.isUndefinedOrNull()) {\n&quot;);
</span><span class="cx">                     push(@implContent, &quot;        nativeValue = $nativeValue;\n&quot;);
</span><span class="cx">                     if ($mayThrowException) {
</span><del>-                        push(@implContent, &quot;    if (UNLIKELY(state-&gt;hadException()))\n&quot;);
-                        push(@implContent, &quot;        return false;\n&quot;);
</del><ins>+                        push(@implContent, &quot;        if (UNLIKELY(state-&gt;hadException()))\n&quot;);
+                        push(@implContent, &quot;            return false;\n&quot;);
</ins><span class="cx">                     }
</span><span class="cx">                     push(@implContent, &quot;        if (UNLIKELY(!nativeValue)) {\n&quot;);
</span><span class="cx">                     push(@implContent, &quot;            throwAttributeTypeError(*state, \&quot;$visibleInterfaceName\&quot;, \&quot;$name\&quot;, \&quot;$type\&quot;);\n&quot;);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -2931,7 +2931,14 @@
</span><span class="cx">         return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;testNullableObjAttr&quot;);
</span><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    auto nativeValue = JSTestObj::toWrapped(value);
</del><ins>+    TestObj* nativeValue = nullptr;
+    if (!value.isUndefinedOrNull()) {
+        nativeValue = JSTestObj::toWrapped(value);
+        if (UNLIKELY(!nativeValue)) {
+            throwAttributeTypeError(*state, &quot;TestObject&quot;, &quot;testNullableObjAttr&quot;, &quot;TestObj&quot;);
+            return false;
+        }
+    }
</ins><span class="cx">     impl.setTestNullableObjAttr(WTFMove(nativeValue));
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -3679,7 +3686,14 @@
</span><span class="cx">         return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;mutablePoint&quot;);
</span><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    auto nativeValue = JSSVGPoint::toWrapped(value);
</del><ins>+    SVGPropertyTearOff&lt;SVGPoint&gt;* nativeValue = nullptr;
+    if (!value.isUndefinedOrNull()) {
+        nativeValue = JSSVGPoint::toWrapped(value);
+        if (UNLIKELY(!nativeValue)) {
+            throwAttributeTypeError(*state, &quot;TestObject&quot;, &quot;mutablePoint&quot;, &quot;SVGPoint&quot;);
+            return false;
+        }
+    }
</ins><span class="cx">     impl.setMutablePoint(WTFMove(nativeValue));
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -3694,7 +3708,14 @@
</span><span class="cx">         return throwSetterTypeError(*state, &quot;TestObject&quot;, &quot;immutablePoint&quot;);
</span><span class="cx">     }
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    auto nativeValue = JSSVGPoint::toWrapped(value);
</del><ins>+    SVGPropertyTearOff&lt;SVGPoint&gt;* nativeValue = nullptr;
+    if (!value.isUndefinedOrNull()) {
+        nativeValue = JSSVGPoint::toWrapped(value);
+        if (UNLIKELY(!nativeValue)) {
+            throwAttributeTypeError(*state, &quot;TestObject&quot;, &quot;immutablePoint&quot;, &quot;SVGPoint&quot;);
+            return false;
+        }
+    }
</ins><span class="cx">     impl.setImmutablePoint(WTFMove(nativeValue));
</span><span class="cx">     return true;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestObjidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestObj.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestObj.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/bindings/scripts/test/TestObj.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -136,9 +136,6 @@
</span><span class="cx">     [GetterRaisesException] attribute DOMString stringAttrWithGetterException;
</span><span class="cx">     [SetterRaisesException] attribute DOMString stringAttrWithSetterException;
</span><span class="cx"> 
</span><del>-    // Strict type checking.
-    [StrictTypeChecking] attribute TestObj? strictTypeCheckingAttribute;
-
</del><span class="cx">     // 'Custom' extended attribute
</span><span class="cx">     [Custom] attribute long            customAttr;
</span><span class="cx">     [Custom] void customMethod();
</span><span class="lines">@@ -312,7 +309,6 @@
</span><span class="cx">     [ImplementedAs=banana] void orange();
</span><span class="cx">     [ImplementedAs=blueberry] attribute long strawberry;
</span><span class="cx"> 
</span><del>-    [StrictTypeChecking] attribute unrestricted float strictFloat;
</del><span class="cx">     [StrictTypeChecking, RaisesException] boolean strictFunction(DOMString str, unrestricted float a, long b);
</span><span class="cx"> 
</span><span class="cx">     [StrictTypeChecking, RaisesException] boolean strictFunctionWithSequence(TestObj? objArg, sequence&lt;unsigned long&gt; a);
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/dom/Document.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -170,7 +170,7 @@
</span><span class="cx"> 
</span><span class="cx">     [GetterRaisesException, SetterRaisesException] attribute DOMString cookie;
</span><span class="cx"> 
</span><del>-    [SetterRaisesException, ImplementedAs=bodyOrFrameset, StrictTypeChecking] attribute HTMLElement? body;
</del><ins>+    [SetterRaisesException, ImplementedAs=bodyOrFrameset] attribute HTMLElement? body;
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute HTMLHeadElement? head;
</span><span class="cx">     readonly attribute HTMLCollection images;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTableElement.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableElement.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/html/HTMLTableElement.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -19,9 +19,9 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface HTMLTableElement : HTMLElement {
</span><del>-    [SetterRaisesException, StrictTypeChecking] attribute HTMLTableCaptionElement? caption;
-    [SetterRaisesException, StrictTypeChecking] attribute HTMLTableSectionElement? tHead;
-    [SetterRaisesException, StrictTypeChecking] attribute HTMLTableSectionElement? tFoot;
</del><ins>+    [SetterRaisesException] attribute HTMLTableCaptionElement? caption;
+    [SetterRaisesException] attribute HTMLTableSectionElement? tHead;
+    [SetterRaisesException] attribute HTMLTableSectionElement? tFoot;
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute HTMLCollection rows;
</span><span class="cx">     readonly attribute HTMLCollection tBodies;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAngleidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAngle.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAngle.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGAngle.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -29,8 +29,8 @@
</span><span class="cx">     const unsigned short SVG_ANGLETYPE_GRAD = 4;
</span><span class="cx"> 
</span><span class="cx">     readonly attribute unsigned short unitType;
</span><del>-    [StrictTypeChecking] attribute unrestricted float value;
-    [StrictTypeChecking] attribute unrestricted float valueInSpecifiedUnits;
</del><ins>+    attribute unrestricted float value;
+    attribute unrestricted float valueInSpecifiedUnits;
</ins><span class="cx"> 
</span><span class="cx">     [SetterRaisesException] attribute DOMString valueAsString;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimatedBooleanidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimatedBoolean.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimatedBoolean.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGAnimatedBoolean.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> [
</span><span class="cx">     SkipVTableValidation
</span><span class="cx"> ] interface SVGAnimatedBoolean {
</span><del>-    [StrictTypeChecking, SetterRaisesException] attribute boolean baseVal;
</del><ins>+    [SetterRaisesException] attribute boolean baseVal;
</ins><span class="cx">     readonly attribute boolean animVal;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimatedEnumerationidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimatedEnumeration.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimatedEnumeration.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGAnimatedEnumeration.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> [
</span><span class="cx">     SkipVTableValidation
</span><span class="cx"> ] interface SVGAnimatedEnumeration {
</span><del>-    [StrictTypeChecking, SetterRaisesException] attribute unsigned short baseVal;
</del><ins>+    [SetterRaisesException] attribute unsigned short baseVal;
</ins><span class="cx">     readonly attribute unsigned short animVal;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimatedIntegeridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimatedInteger.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimatedInteger.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGAnimatedInteger.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> [
</span><span class="cx">     SkipVTableValidation
</span><span class="cx"> ] interface SVGAnimatedInteger {
</span><del>-    [StrictTypeChecking, SetterRaisesException] attribute long baseVal;
</del><ins>+    [SetterRaisesException] attribute long baseVal;
</ins><span class="cx">     readonly attribute long animVal;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimatedNumberidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimatedNumber.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimatedNumber.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGAnimatedNumber.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> [
</span><span class="cx">     SkipVTableValidation
</span><span class="cx"> ] interface SVGAnimatedNumber {
</span><del>-    [StrictTypeChecking, SetterRaisesException] attribute unrestricted float baseVal;
</del><ins>+    [SetterRaisesException] attribute unrestricted float baseVal;
</ins><span class="cx">     readonly attribute unrestricted float animVal;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGLengthidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGLength.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGLength.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGLength.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -35,11 +35,11 @@
</span><span class="cx">     const unsigned short SVG_LENGTHTYPE_PC         = 10;
</span><span class="cx"> 
</span><span class="cx">     readonly attribute unsigned short unitType;
</span><del>-    [GetterRaisesException, SetterRaisesException, Custom, StrictTypeChecking] attribute unrestricted float value;
</del><ins>+    [GetterRaisesException, SetterRaisesException, Custom] attribute unrestricted float value;
</ins><span class="cx"> 
</span><del>-    [StrictTypeChecking] attribute unrestricted float valueInSpecifiedUnits;
</del><ins>+    attribute unrestricted float valueInSpecifiedUnits;
</ins><span class="cx"> 
</span><del>-    [StrictTypeChecking, SetterRaisesException] attribute DOMString valueAsString;
</del><ins>+    [SetterRaisesException] attribute DOMString valueAsString;
</ins><span class="cx"> 
</span><span class="cx">     [StrictTypeChecking, RaisesException] void newValueSpecifiedUnits(unsigned short unitType, 
</span><span class="cx">                                                      unrestricted float valueInSpecifiedUnits);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGMatrixidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGMatrix.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGMatrix.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGMatrix.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -23,12 +23,12 @@
</span><span class="cx"> interface SVGMatrix {
</span><span class="cx">     // FIXME: these attributes should all be floats but since we implement
</span><span class="cx">     // AffineTransform with doubles setting these as doubles makes more sense.
</span><del>-    [StrictTypeChecking] attribute unrestricted double a;
-    [StrictTypeChecking] attribute unrestricted double b;
-    [StrictTypeChecking] attribute unrestricted double c;
-    [StrictTypeChecking] attribute unrestricted double d;
-    [StrictTypeChecking] attribute unrestricted double e;
-    [StrictTypeChecking] attribute unrestricted double f;
</del><ins>+    attribute unrestricted double a;
+    attribute unrestricted double b;
+    attribute unrestricted double c;
+    attribute unrestricted double d;
+    attribute unrestricted double e;
+    attribute unrestricted double f;
</ins><span class="cx"> 
</span><span class="cx">     [StrictTypeChecking] SVGMatrix multiply(SVGMatrix secondMatrix);
</span><span class="cx">     [RaisesException] SVGMatrix inverse();
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGNumberidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGNumber.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGNumber.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGNumber.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -21,6 +21,6 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface SVGNumber {
</span><del>-    [StrictTypeChecking] attribute unrestricted float value;
</del><ins>+    attribute unrestricted float value;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegArcAbsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegArcAbs.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegArcAbs.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegArcAbs.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,12 +25,12 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegArcAbs : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
-    [StrictTypeChecking] attribute unrestricted float y;
-    [StrictTypeChecking] attribute unrestricted float r1;
-    [StrictTypeChecking] attribute unrestricted float r2;
-    [StrictTypeChecking] attribute unrestricted float angle;
-    [StrictTypeChecking] attribute boolean largeArcFlag;
-    [StrictTypeChecking] attribute boolean sweepFlag;
</del><ins>+    attribute unrestricted float x;
+    attribute unrestricted float y;
+    attribute unrestricted float r1;
+    attribute unrestricted float r2;
+    attribute unrestricted float angle;
+    attribute boolean largeArcFlag;
+    attribute boolean sweepFlag;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegArcRelidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegArcRel.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegArcRel.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegArcRel.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,12 +25,12 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegArcRel : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
-    [StrictTypeChecking] attribute unrestricted float y;
-    [StrictTypeChecking] attribute unrestricted float r1;
-    [StrictTypeChecking] attribute unrestricted float r2;
-    [StrictTypeChecking] attribute unrestricted float angle;
-    [StrictTypeChecking] attribute boolean largeArcFlag;
-    [StrictTypeChecking] attribute boolean sweepFlag;
</del><ins>+    attribute unrestricted float x;
+    attribute unrestricted float y;
+    attribute unrestricted float r1;
+    attribute unrestricted float r2;
+    attribute unrestricted float angle;
+    attribute boolean largeArcFlag;
+    attribute boolean sweepFlag;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegCurvetoCubicAbsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicAbs.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicAbs.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicAbs.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,11 +25,11 @@
</span><span class="cx">  */ 
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegCurvetoCubicAbs : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
-    [StrictTypeChecking] attribute unrestricted float y;
-    [StrictTypeChecking] attribute unrestricted float x1;
-    [StrictTypeChecking] attribute unrestricted float y1;
-    [StrictTypeChecking] attribute unrestricted float x2;
-    [StrictTypeChecking] attribute unrestricted float y2;
</del><ins>+    attribute unrestricted float x;
+    attribute unrestricted float y;
+    attribute unrestricted float x1;
+    attribute unrestricted float y1;
+    attribute unrestricted float x2;
+    attribute unrestricted float y2;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegCurvetoCubicRelidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicRel.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicRel.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicRel.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,11 +25,11 @@
</span><span class="cx">  */ 
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegCurvetoCubicRel : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
-    [StrictTypeChecking] attribute unrestricted float y;
-    [StrictTypeChecking] attribute unrestricted float x1;
-    [StrictTypeChecking] attribute unrestricted float y1;
-    [StrictTypeChecking] attribute unrestricted float x2;
-    [StrictTypeChecking] attribute unrestricted float y2;
</del><ins>+    attribute unrestricted float x;
+    attribute unrestricted float y;
+    attribute unrestricted float x1;
+    attribute unrestricted float y1;
+    attribute unrestricted float x2;
+    attribute unrestricted float y2;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegCurvetoCubicSmoothAbsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothAbs.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothAbs.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothAbs.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,9 +25,9 @@
</span><span class="cx">  */ 
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegCurvetoCubicSmoothAbs : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
-    [StrictTypeChecking] attribute unrestricted float y;
-    [StrictTypeChecking] attribute unrestricted float x2;
-    [StrictTypeChecking] attribute unrestricted float y2;
</del><ins>+    attribute unrestricted float x;
+    attribute unrestricted float y;
+    attribute unrestricted float x2;
+    attribute unrestricted float y2;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegCurvetoCubicSmoothRelidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothRel.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothRel.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegCurvetoCubicSmoothRel.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,9 +25,9 @@
</span><span class="cx">  */ 
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegCurvetoCubicSmoothRel : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
-    [StrictTypeChecking] attribute unrestricted float y;
-    [StrictTypeChecking] attribute unrestricted float x2;
-    [StrictTypeChecking] attribute unrestricted float y2;
</del><ins>+    attribute unrestricted float x;
+    attribute unrestricted float y;
+    attribute unrestricted float x2;
+    attribute unrestricted float y2;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegCurvetoQuadraticAbsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,9 +25,9 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegCurvetoQuadraticAbs : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
-    [StrictTypeChecking] attribute unrestricted float y;
-    [StrictTypeChecking] attribute unrestricted float x1;
-    [StrictTypeChecking] attribute unrestricted float y1;
</del><ins>+    attribute unrestricted float x;
+    attribute unrestricted float y;
+    attribute unrestricted float x1;
+    attribute unrestricted float y1;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegCurvetoQuadraticRelidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticRel.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticRel.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticRel.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,9 +25,9 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegCurvetoQuadraticRel : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
-    [StrictTypeChecking] attribute unrestricted float y;
-    [StrictTypeChecking] attribute unrestricted float x1;
-    [StrictTypeChecking] attribute unrestricted float y1;
</del><ins>+    attribute unrestricted float x;
+    attribute unrestricted float y;
+    attribute unrestricted float x1;
+    attribute unrestricted float y1;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegCurvetoQuadraticSmoothAbsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegCurvetoQuadraticSmoothAbs : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
-    [StrictTypeChecking] attribute unrestricted float y;
</del><ins>+    attribute unrestricted float x;
+    attribute unrestricted float y;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegCurvetoQuadraticSmoothRelidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegCurvetoQuadraticSmoothRel : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
-    [StrictTypeChecking] attribute unrestricted float y;
</del><ins>+    attribute unrestricted float x;
+    attribute unrestricted float y;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegLinetoAbsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegLinetoAbs.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegLinetoAbs.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegLinetoAbs.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegLinetoAbs : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
-    [StrictTypeChecking] attribute unrestricted float y;
</del><ins>+    attribute unrestricted float x;
+    attribute unrestricted float y;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegLinetoHorizontalAbsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegLinetoHorizontalAbs.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegLinetoHorizontalAbs.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegLinetoHorizontalAbs.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,6 +25,6 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegLinetoHorizontalAbs : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
</del><ins>+    attribute unrestricted float x;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegLinetoHorizontalRelidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegLinetoHorizontalRel.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegLinetoHorizontalRel.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegLinetoHorizontalRel.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,6 +25,6 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegLinetoHorizontalRel : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
</del><ins>+    attribute unrestricted float x;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegLinetoRelidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegLinetoRel.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegLinetoRel.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegLinetoRel.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegLinetoRel : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
-    [StrictTypeChecking] attribute unrestricted float y;
</del><ins>+    attribute unrestricted float x;
+    attribute unrestricted float y;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegLinetoVerticalAbsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegLinetoVerticalAbs.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegLinetoVerticalAbs.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegLinetoVerticalAbs.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,6 +25,6 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegLinetoVerticalAbs : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float y;
</del><ins>+    attribute unrestricted float y;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegLinetoVerticalRelidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegLinetoVerticalRel.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegLinetoVerticalRel.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegLinetoVerticalRel.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,6 +25,6 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegLinetoVerticalRel : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float y;
</del><ins>+    attribute unrestricted float y;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegMovetoAbsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegMovetoAbs.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegMovetoAbs.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegMovetoAbs.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegMovetoAbs : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
-    [StrictTypeChecking] attribute unrestricted float y;
</del><ins>+    attribute unrestricted float x;
+    attribute unrestricted float y;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegMovetoRelidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegMovetoRel.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegMovetoRel.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPathSegMovetoRel.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface SVGPathSegMovetoRel : SVGPathSeg {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
-    [StrictTypeChecking] attribute unrestricted float y;
</del><ins>+    attribute unrestricted float x;
+    attribute unrestricted float y;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPointidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPoint.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPoint.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPoint.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -21,8 +21,8 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface SVGPoint {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
-    [StrictTypeChecking] attribute unrestricted float y;
</del><ins>+    attribute unrestricted float x;
+    attribute unrestricted float y;
</ins><span class="cx"> 
</span><span class="cx">     [StrictTypeChecking] SVGPoint matrixTransform(SVGMatrix matrix);
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPreserveAspectRatioidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPreserveAspectRatio.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPreserveAspectRatio.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGPreserveAspectRatio.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -42,8 +42,8 @@
</span><span class="cx">     const unsigned short SVG_MEETORSLICE_MEET = 1;
</span><span class="cx">     const unsigned short SVG_MEETORSLICE_SLICE = 2;
</span><span class="cx"> 
</span><del>-    [StrictTypeChecking, SetterRaisesException] attribute unsigned short align;
</del><ins>+    [SetterRaisesException] attribute unsigned short align;
</ins><span class="cx"> 
</span><del>-    [StrictTypeChecking, SetterRaisesException] attribute unsigned short meetOrSlice;
</del><ins>+    [SetterRaisesException] attribute unsigned short meetOrSlice;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGRectidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGRect.idl (203948 => 203949)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGRect.idl        2016-07-30 21:12:30 UTC (rev 203948)
+++ trunk/Source/WebCore/svg/SVGRect.idl        2016-07-31 00:23:21 UTC (rev 203949)
</span><span class="lines">@@ -21,9 +21,9 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface SVGRect {
</span><del>-    [StrictTypeChecking] attribute unrestricted float x;
-    [StrictTypeChecking] attribute unrestricted float y;
-    [StrictTypeChecking] attribute unrestricted float width;
-    [StrictTypeChecking] attribute unrestricted float height;
</del><ins>+    attribute unrestricted float x;
+    attribute unrestricted float y;
+    attribute unrestricted float width;
+    attribute unrestricted float height;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>