<!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>[207215] 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/207215">207215</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2016-10-12 09:23:00 -0700 (Wed, 12 Oct 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Update remaining DOM events to stop using legacy [ConstructorTemplate=Event]
https://bugs.webkit.org/show_bug.cgi?id=163319

Reviewed by Darin Adler.

Source/WebCore:

Update remaining DOM events to stop using legacy [ConstructorTemplate=Event]
and use regular constructors instead.

No new tests, updated existing tests.

* dom/AutocompleteErrorEvent.h:
* dom/AutocompleteErrorEvent.idl:
* dom/BeforeLoadEvent.h:
* dom/BeforeLoadEvent.idl:
* dom/CompositionEvent.cpp:
(WebCore::CompositionEvent::CompositionEvent):
* dom/CompositionEvent.h:
* dom/CompositionEvent.idl:
* dom/ErrorEvent.cpp:
(WebCore::ErrorEvent::ErrorEvent):
* dom/ErrorEvent.h:
* dom/ErrorEvent.idl:
* dom/FocusEvent.cpp:
(WebCore::FocusEvent::FocusEvent):
* dom/FocusEvent.h:
* dom/FocusEvent.idl:
* dom/HashChangeEvent.h:
* dom/HashChangeEvent.idl:
* dom/OverflowEvent.cpp:
(WebCore::OverflowEvent::OverflowEvent):
* dom/OverflowEvent.h:
* dom/OverflowEvent.idl:
* dom/PageTransitionEvent.cpp:
(WebCore::PageTransitionEvent::PageTransitionEvent):
* dom/PageTransitionEvent.h:
* dom/PageTransitionEvent.idl:
* dom/PopStateEvent.cpp:
(WebCore::PopStateEvent::PopStateEvent):
(WebCore::PopStateEvent::create):
* dom/PopStateEvent.h:
* dom/PopStateEvent.idl:
* dom/SecurityPolicyViolationEvent.h:
* dom/SecurityPolicyViolationEvent.idl:
* dom/TouchEvent.cpp:
(WebCore::TouchEvent::TouchEvent):
* dom/TouchEvent.h:
* dom/TouchEvent.idl:
* dom/TransitionEvent.cpp:
(WebCore::TransitionEvent::TransitionEvent):
* dom/TransitionEvent.h:
* dom/TransitionEvent.idl:
* dom/WebKitAnimationEvent.cpp:
(WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
* dom/WebKitAnimationEvent.h:
* dom/WebKitAnimationEvent.idl:
* dom/WebKitTransitionEvent.cpp:
(WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
* dom/WebKitTransitionEvent.h:
* dom/WebKitTransitionEvent.idl:

LayoutTests:

Rebaseline several existing tests to reflect minor behavior changes:
- We now properly use the default member value when an explicit undefined
  is passed.
- We throw more exceptions when bad input is passed.
- Exception messages are sometimes slightly different.

* fast/events/constructors/before-load-event-constructor-expected.txt:
* fast/events/constructors/before-load-event-constructor.html:
* fast/events/constructors/composition-event-constructor-expected.txt:
* fast/events/constructors/composition-event-constructor.html:
* fast/events/constructors/error-event-constructor-expected.txt:
* fast/events/constructors/error-event-constructor.html:
* fast/events/constructors/focus-event-constructor-expected.txt:
* fast/events/constructors/focus-event-constructor.html:
* fast/events/constructors/hash-change-event-constructor-expected.txt:
* fast/events/constructors/hash-change-event-constructor.html:
* fast/events/constructors/pop-state-event-constructor-expected.txt:
* fast/events/constructors/pop-state-event-constructor.html:
* fast/events/constructors/transition-event-constructor-expected.txt:
* fast/events/constructors/transition-event-constructor.html:
* fast/events/constructors/webkit-animation-event-constructor-expected.txt:
* fast/events/constructors/webkit-animation-event-constructor.html:
* fast/events/constructors/webkit-transition-event-constructor-expected.txt:
* fast/events/constructors/webkit-transition-event-constructor.html:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorsbeforeloadeventconstructorexpectedtxt">trunk/LayoutTests/fast/events/constructors/before-load-event-constructor-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorsbeforeloadeventconstructorhtml">trunk/LayoutTests/fast/events/constructors/before-load-event-constructor.html</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorscompositioneventconstructorexpectedtxt">trunk/LayoutTests/fast/events/constructors/composition-event-constructor-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorscompositioneventconstructorhtml">trunk/LayoutTests/fast/events/constructors/composition-event-constructor.html</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorserroreventconstructorexpectedtxt">trunk/LayoutTests/fast/events/constructors/error-event-constructor-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorserroreventconstructorhtml">trunk/LayoutTests/fast/events/constructors/error-event-constructor.html</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorsfocuseventconstructorexpectedtxt">trunk/LayoutTests/fast/events/constructors/focus-event-constructor-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorsfocuseventconstructorhtml">trunk/LayoutTests/fast/events/constructors/focus-event-constructor.html</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorshashchangeeventconstructorexpectedtxt">trunk/LayoutTests/fast/events/constructors/hash-change-event-constructor-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorshashchangeeventconstructorhtml">trunk/LayoutTests/fast/events/constructors/hash-change-event-constructor.html</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorspopstateeventconstructorexpectedtxt">trunk/LayoutTests/fast/events/constructors/pop-state-event-constructor-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorspopstateeventconstructorhtml">trunk/LayoutTests/fast/events/constructors/pop-state-event-constructor.html</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorstransitioneventconstructorexpectedtxt">trunk/LayoutTests/fast/events/constructors/transition-event-constructor-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorstransitioneventconstructorhtml">trunk/LayoutTests/fast/events/constructors/transition-event-constructor.html</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorswebkitanimationeventconstructorexpectedtxt">trunk/LayoutTests/fast/events/constructors/webkit-animation-event-constructor-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorswebkitanimationeventconstructorhtml">trunk/LayoutTests/fast/events/constructors/webkit-animation-event-constructor.html</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorswebkittransitioneventconstructorexpectedtxt">trunk/LayoutTests/fast/events/constructors/webkit-transition-event-constructor-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfasteventsconstructorswebkittransitioneventconstructorhtml">trunk/LayoutTests/fast/events/constructors/webkit-transition-event-constructor.html</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoredomAutocompleteErrorEventh">trunk/Source/WebCore/dom/AutocompleteErrorEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomAutocompleteErrorEventidl">trunk/Source/WebCore/dom/AutocompleteErrorEvent.idl</a></li>
<li><a href="#trunkSourceWebCoredomBeforeLoadEventh">trunk/Source/WebCore/dom/BeforeLoadEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomBeforeLoadEventidl">trunk/Source/WebCore/dom/BeforeLoadEvent.idl</a></li>
<li><a href="#trunkSourceWebCoredomCompositionEventcpp">trunk/Source/WebCore/dom/CompositionEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomCompositionEventh">trunk/Source/WebCore/dom/CompositionEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomCompositionEventidl">trunk/Source/WebCore/dom/CompositionEvent.idl</a></li>
<li><a href="#trunkSourceWebCoredomErrorEventcpp">trunk/Source/WebCore/dom/ErrorEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomErrorEventh">trunk/Source/WebCore/dom/ErrorEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomErrorEventidl">trunk/Source/WebCore/dom/ErrorEvent.idl</a></li>
<li><a href="#trunkSourceWebCoredomFocusEventcpp">trunk/Source/WebCore/dom/FocusEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomFocusEventh">trunk/Source/WebCore/dom/FocusEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomFocusEventidl">trunk/Source/WebCore/dom/FocusEvent.idl</a></li>
<li><a href="#trunkSourceWebCoredomHashChangeEventh">trunk/Source/WebCore/dom/HashChangeEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomHashChangeEventidl">trunk/Source/WebCore/dom/HashChangeEvent.idl</a></li>
<li><a href="#trunkSourceWebCoredomOverflowEventcpp">trunk/Source/WebCore/dom/OverflowEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomOverflowEventh">trunk/Source/WebCore/dom/OverflowEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomOverflowEventidl">trunk/Source/WebCore/dom/OverflowEvent.idl</a></li>
<li><a href="#trunkSourceWebCoredomPageTransitionEventcpp">trunk/Source/WebCore/dom/PageTransitionEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomPageTransitionEventh">trunk/Source/WebCore/dom/PageTransitionEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomPageTransitionEventidl">trunk/Source/WebCore/dom/PageTransitionEvent.idl</a></li>
<li><a href="#trunkSourceWebCoredomPopStateEventcpp">trunk/Source/WebCore/dom/PopStateEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomPopStateEventh">trunk/Source/WebCore/dom/PopStateEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomPopStateEventidl">trunk/Source/WebCore/dom/PopStateEvent.idl</a></li>
<li><a href="#trunkSourceWebCoredomSecurityPolicyViolationEventh">trunk/Source/WebCore/dom/SecurityPolicyViolationEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomSecurityPolicyViolationEventidl">trunk/Source/WebCore/dom/SecurityPolicyViolationEvent.idl</a></li>
<li><a href="#trunkSourceWebCoredomTouchEventcpp">trunk/Source/WebCore/dom/TouchEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomTouchEventh">trunk/Source/WebCore/dom/TouchEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomTouchEventidl">trunk/Source/WebCore/dom/TouchEvent.idl</a></li>
<li><a href="#trunkSourceWebCoredomTransitionEventcpp">trunk/Source/WebCore/dom/TransitionEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomTransitionEventh">trunk/Source/WebCore/dom/TransitionEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomTransitionEventidl">trunk/Source/WebCore/dom/TransitionEvent.idl</a></li>
<li><a href="#trunkSourceWebCoredomWebKitAnimationEventcpp">trunk/Source/WebCore/dom/WebKitAnimationEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomWebKitAnimationEventh">trunk/Source/WebCore/dom/WebKitAnimationEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomWebKitAnimationEventidl">trunk/Source/WebCore/dom/WebKitAnimationEvent.idl</a></li>
<li><a href="#trunkSourceWebCoredomWebKitTransitionEventcpp">trunk/Source/WebCore/dom/WebKitTransitionEvent.cpp</a></li>
<li><a href="#trunkSourceWebCoredomWebKitTransitionEventh">trunk/Source/WebCore/dom/WebKitTransitionEvent.h</a></li>
<li><a href="#trunkSourceWebCoredomWebKitTransitionEventidl">trunk/Source/WebCore/dom/WebKitTransitionEvent.idl</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/ChangeLog        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -1,3 +1,35 @@
</span><ins>+2016-10-12  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Update remaining DOM events to stop using legacy [ConstructorTemplate=Event]
+        https://bugs.webkit.org/show_bug.cgi?id=163319
+
+        Reviewed by Darin Adler.
+
+        Rebaseline several existing tests to reflect minor behavior changes:
+        - We now properly use the default member value when an explicit undefined
+          is passed.
+        - We throw more exceptions when bad input is passed.
+        - Exception messages are sometimes slightly different.
+
+        * fast/events/constructors/before-load-event-constructor-expected.txt:
+        * fast/events/constructors/before-load-event-constructor.html:
+        * fast/events/constructors/composition-event-constructor-expected.txt:
+        * fast/events/constructors/composition-event-constructor.html:
+        * fast/events/constructors/error-event-constructor-expected.txt:
+        * fast/events/constructors/error-event-constructor.html:
+        * fast/events/constructors/focus-event-constructor-expected.txt:
+        * fast/events/constructors/focus-event-constructor.html:
+        * fast/events/constructors/hash-change-event-constructor-expected.txt:
+        * fast/events/constructors/hash-change-event-constructor.html:
+        * fast/events/constructors/pop-state-event-constructor-expected.txt:
+        * fast/events/constructors/pop-state-event-constructor.html:
+        * fast/events/constructors/transition-event-constructor-expected.txt:
+        * fast/events/constructors/transition-event-constructor.html:
+        * fast/events/constructors/webkit-animation-event-constructor-expected.txt:
+        * fast/events/constructors/webkit-animation-event-constructor.html:
+        * fast/events/constructors/webkit-transition-event-constructor-expected.txt:
+        * fast/events/constructors/webkit-transition-event-constructor.html:
+
</ins><span class="cx"> 2016-10-11  Gyuyoung Kim  &lt;gyuyoung.kim@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         [EFL] Mark url tests to failure
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorsbeforeloadeventconstructorexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/before-load-event-constructor-expected.txt (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/before-load-event-constructor-expected.txt        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/before-load-event-constructor-expected.txt        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -12,7 +12,7 @@
</span><span class="cx"> PASS new BeforeLoadEvent('eventType', { cancelable: true }).cancelable is true
</span><span class="cx"> PASS new BeforeLoadEvent('eventType', { url: 'doremi' }).url is &quot;doremi&quot;
</span><span class="cx"> PASS new BeforeLoadEvent('eventType', { url: '' }).url is &quot;&quot;
</span><del>-PASS new BeforeLoadEvent('eventType', { url: undefined }).url is &quot;undefined&quot;
</del><ins>+PASS new BeforeLoadEvent('eventType', { url: undefined }).url is &quot;&quot;
</ins><span class="cx"> PASS new BeforeLoadEvent('eventType', { url: null }).url is &quot;null&quot;
</span><span class="cx"> PASS new BeforeLoadEvent('eventType', { url: false }).url is &quot;false&quot;
</span><span class="cx"> PASS new BeforeLoadEvent('eventType', { url: true }).url is &quot;true&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorsbeforeloadeventconstructorhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/before-load-event-constructor.html (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/before-load-event-constructor.html        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/before-load-event-constructor.html        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> shouldBeEqualToString(&quot;new BeforeLoadEvent('eventType', { url: '' }).url&quot;, &quot;&quot;);
</span><span class="cx"> 
</span><span class="cx"> // Non-strings.
</span><del>-shouldBeEqualToString(&quot;new BeforeLoadEvent('eventType', { url: undefined }).url&quot;, &quot;undefined&quot;);
</del><ins>+shouldBeEqualToString(&quot;new BeforeLoadEvent('eventType', { url: undefined }).url&quot;, &quot;&quot;);
</ins><span class="cx"> shouldBeEqualToString(&quot;new BeforeLoadEvent('eventType', { url: null }).url&quot;, &quot;null&quot;);
</span><span class="cx"> shouldBeEqualToString(&quot;new BeforeLoadEvent('eventType', { url: false }).url&quot;, &quot;false&quot;);
</span><span class="cx"> shouldBeEqualToString(&quot;new BeforeLoadEvent('eventType', { url: true }).url&quot;, &quot;true&quot;);
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorscompositioneventconstructorexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/composition-event-constructor-expected.txt (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/composition-event-constructor-expected.txt        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/composition-event-constructor-expected.txt        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -14,23 +14,23 @@
</span><span class="cx"> PASS new CompositionEvent('eventType', { cancelable: true }).cancelable is true
</span><span class="cx"> PASS new CompositionEvent('eventType', { view: window }).view is window
</span><span class="cx"> PASS new CompositionEvent('eventType', { view: this }).view is this
</span><del>-PASS new CompositionEvent('eventType', { view: testObject }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new CompositionEvent('eventType', { view: document }).view threw exception TypeError: Dictionary member is not of type Window.
</del><ins>+PASS new CompositionEvent('eventType', { view: testObject }).view threw exception TypeError: Type error.
+PASS new CompositionEvent('eventType', { view: document }).view threw exception TypeError: Type error.
</ins><span class="cx"> PASS new CompositionEvent('eventType', { view: undefined }).view is null
</span><span class="cx"> PASS new CompositionEvent('eventType', { view: null }).view is null
</span><del>-PASS new CompositionEvent('eventType', { view: false }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new CompositionEvent('eventType', { view: true }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new CompositionEvent('eventType', { view: '' }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new CompositionEvent('eventType', { view: 'chocolate' }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new CompositionEvent('eventType', { view: 12345 }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new CompositionEvent('eventType', { view: 18446744073709551615 }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new CompositionEvent('eventType', { view: NaN }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new CompositionEvent('eventType', { view: {valueOf: function () { return window; } } }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new CompositionEvent('eventType', { get view() { return 123; } }).view threw exception TypeError: Dictionary member is not of type Window.
</del><ins>+PASS new CompositionEvent('eventType', { view: false }).view threw exception TypeError: Type error.
+PASS new CompositionEvent('eventType', { view: true }).view threw exception TypeError: Type error.
+PASS new CompositionEvent('eventType', { view: '' }).view threw exception TypeError: Type error.
+PASS new CompositionEvent('eventType', { view: 'chocolate' }).view threw exception TypeError: Type error.
+PASS new CompositionEvent('eventType', { view: 12345 }).view threw exception TypeError: Type error.
+PASS new CompositionEvent('eventType', { view: 18446744073709551615 }).view threw exception TypeError: Type error.
+PASS new CompositionEvent('eventType', { view: NaN }).view threw exception TypeError: Type error.
+PASS new CompositionEvent('eventType', { view: {valueOf: function () { return window; } } }).view threw exception TypeError: Type error.
+PASS new CompositionEvent('eventType', { get view() { return 123; } }).view threw exception TypeError: Type error.
</ins><span class="cx"> PASS new CompositionEvent('eventType', { get view() { throw 'CompositionEvent Error'; } }) threw exception CompositionEvent Error.
</span><span class="cx"> PASS new CompositionEvent('eventType', { data: 'koakuma' }).data is &quot;koakuma&quot;
</span><span class="cx"> PASS new CompositionEvent('eventType', { data: '' }).data is &quot;&quot;
</span><del>-PASS new CompositionEvent('eventType', { data: undefined }).data is &quot;undefined&quot;
</del><ins>+PASS new CompositionEvent('eventType', { data: undefined }).data is &quot;&quot;
</ins><span class="cx"> PASS new CompositionEvent('eventType', { data: null }).data is &quot;null&quot;
</span><span class="cx"> PASS new CompositionEvent('eventType', { data: false }).data is &quot;false&quot;
</span><span class="cx"> PASS new CompositionEvent('eventType', { data: true }).data is &quot;true&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorscompositioneventconstructorhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/composition-event-constructor.html (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/composition-event-constructor.html        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/composition-event-constructor.html        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> shouldBeEqualToString(&quot;new CompositionEvent('eventType', { data: '' }).data&quot;, &quot;&quot;);
</span><span class="cx"> 
</span><span class="cx"> // Non-strings.
</span><del>-shouldBeEqualToString(&quot;new CompositionEvent('eventType', { data: undefined }).data&quot;, &quot;undefined&quot;);
</del><ins>+shouldBeEqualToString(&quot;new CompositionEvent('eventType', { data: undefined }).data&quot;, &quot;&quot;);
</ins><span class="cx"> shouldBeEqualToString(&quot;new CompositionEvent('eventType', { data: null }).data&quot;, &quot;null&quot;);
</span><span class="cx"> shouldBeEqualToString(&quot;new CompositionEvent('eventType', { data: false }).data&quot;, &quot;false&quot;);
</span><span class="cx"> shouldBeEqualToString(&quot;new CompositionEvent('eventType', { data: true }).data&quot;, &quot;true&quot;);
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorserroreventconstructorexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/error-event-constructor-expected.txt (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/error-event-constructor-expected.txt        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/error-event-constructor-expected.txt        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -14,7 +14,7 @@
</span><span class="cx"> PASS new ErrorEvent('eventType', { cancelable: true }).cancelable is true
</span><span class="cx"> PASS new ErrorEvent('eventType', { message: 'melancholy' }).message is &quot;melancholy&quot;
</span><span class="cx"> PASS new ErrorEvent('eventType', { message: '' }).message is &quot;&quot;
</span><del>-PASS new ErrorEvent('eventType', { message: undefined }).message is &quot;undefined&quot;
</del><ins>+PASS new ErrorEvent('eventType', { message: undefined }).message is &quot;&quot;
</ins><span class="cx"> PASS new ErrorEvent('eventType', { message: null }).message is &quot;null&quot;
</span><span class="cx"> PASS new ErrorEvent('eventType', { message: false }).message is &quot;false&quot;
</span><span class="cx"> PASS new ErrorEvent('eventType', { message: true }).message is &quot;true&quot;
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> PASS new ErrorEvent('eventType', { message: {valueOf: function () { return 'melancholy'; } } }).message is &quot;[object Object]&quot;
</span><span class="cx"> PASS new ErrorEvent('eventType', { filename: 'melancholy' }).filename is &quot;melancholy&quot;
</span><span class="cx"> PASS new ErrorEvent('eventType', { filename: '' }).filename is &quot;&quot;
</span><del>-PASS new ErrorEvent('eventType', { filename: undefined }).filename is &quot;undefined&quot;
</del><ins>+PASS new ErrorEvent('eventType', { filename: undefined }).filename is &quot;&quot;
</ins><span class="cx"> PASS new ErrorEvent('eventType', { filename: null }).filename is &quot;null&quot;
</span><span class="cx"> PASS new ErrorEvent('eventType', { filename: false }).filename is &quot;false&quot;
</span><span class="cx"> PASS new ErrorEvent('eventType', { filename: true }).filename is &quot;true&quot;
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx"> PASS new ErrorEvent('eventType', { colno: 1 }).colno is 1
</span><span class="cx"> PASS new ErrorEvent('eventType', { colno: 4294967294 }).colno is 4294967294
</span><span class="cx"> PASS new ErrorEvent('eventType', { colno: 4294967295 }).colno is 4294967295
</span><del>-PASS new ErrorEvent('eventType', { error: undefined }).error is undefined
</del><ins>+PASS new ErrorEvent('eventType', { error: undefined }).error is null
</ins><span class="cx"> PASS new ErrorEvent('eventType', { error: null }).error is null
</span><span class="cx"> PASS new ErrorEvent('eventType', { error: '' }).error is ''
</span><span class="cx"> PASS new ErrorEvent('eventType', { error: '12345' }).error is '12345'
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorserroreventconstructorhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/error-event-constructor.html (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/error-event-constructor.html        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/error-event-constructor.html        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx">     shouldBeEqualToString(&quot;new ErrorEvent('eventType', { &quot; + attr + &quot;: '' }).&quot; + attr, &quot;&quot;);
</span><span class="cx"> 
</span><span class="cx">     // Non-strings.
</span><del>-    shouldBeEqualToString(&quot;new ErrorEvent('eventType', { &quot; + attr + &quot;: undefined }).&quot; + attr, &quot;undefined&quot;);
</del><ins>+    shouldBeEqualToString(&quot;new ErrorEvent('eventType', { &quot; + attr + &quot;: undefined }).&quot; + attr, &quot;&quot;);
</ins><span class="cx">     shouldBeEqualToString(&quot;new ErrorEvent('eventType', { &quot; + attr + &quot;: null }).&quot; + attr, &quot;null&quot;);
</span><span class="cx">     shouldBeEqualToString(&quot;new ErrorEvent('eventType', { &quot; + attr + &quot;: false }).&quot; + attr, &quot;false&quot;);
</span><span class="cx">     shouldBeEqualToString(&quot;new ErrorEvent('eventType', { &quot; + attr + &quot;: true }).&quot; + attr, &quot;true&quot;);
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx"> shouldBe(&quot;new ErrorEvent('eventType', { colno: 4294967295 }).colno&quot;, &quot;4294967295&quot;);
</span><span class="cx"> 
</span><span class="cx"> // error is passed.
</span><del>-shouldBe(&quot;new ErrorEvent('eventType', { error: undefined }).error&quot;, &quot;undefined&quot;);
</del><ins>+shouldBe(&quot;new ErrorEvent('eventType', { error: undefined }).error&quot;, &quot;null&quot;);
</ins><span class="cx"> shouldBe(&quot;new ErrorEvent('eventType', { error: null }).error&quot;, &quot;null&quot;);
</span><span class="cx"> shouldBe(&quot;new ErrorEvent('eventType', { error: '' }).error&quot;, &quot;''&quot;);
</span><span class="cx"> shouldBe(&quot;new ErrorEvent('eventType', { error: '12345' }).error&quot;, &quot;'12345'&quot;);
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorsfocuseventconstructorexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/focus-event-constructor-expected.txt (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/focus-event-constructor-expected.txt        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/focus-event-constructor-expected.txt        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -14,36 +14,36 @@
</span><span class="cx"> PASS new FocusEvent('eventType', { cancelable: true }).cancelable is true
</span><span class="cx"> PASS new FocusEvent('eventType', { view: window }).view is window
</span><span class="cx"> PASS new FocusEvent('eventType', { view: this }).view is this
</span><del>-PASS new FocusEvent('eventType', { view: testObject }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new FocusEvent('eventType', { view: document }).view threw exception TypeError: Dictionary member is not of type Window.
</del><ins>+PASS new FocusEvent('eventType', { view: testObject }).view threw exception TypeError: Type error.
+PASS new FocusEvent('eventType', { view: document }).view threw exception TypeError: Type error.
</ins><span class="cx"> PASS new FocusEvent('eventType', { view: undefined }).view is null
</span><span class="cx"> PASS new FocusEvent('eventType', { view: null }).view is null
</span><del>-PASS new FocusEvent('eventType', { view: false }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new FocusEvent('eventType', { view: true }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new FocusEvent('eventType', { view: '' }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new FocusEvent('eventType', { view: 'chocolate' }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new FocusEvent('eventType', { view: 12345 }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new FocusEvent('eventType', { view: 18446744073709551615 }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new FocusEvent('eventType', { view: NaN }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new FocusEvent('eventType', { view: {valueOf: function () { return window; } } }).view threw exception TypeError: Dictionary member is not of type Window.
-PASS new FocusEvent('eventType', { get view() { return 123; } }).view threw exception TypeError: Dictionary member is not of type Window.
</del><ins>+PASS new FocusEvent('eventType', { view: false }).view threw exception TypeError: Type error.
+PASS new FocusEvent('eventType', { view: true }).view threw exception TypeError: Type error.
+PASS new FocusEvent('eventType', { view: '' }).view threw exception TypeError: Type error.
+PASS new FocusEvent('eventType', { view: 'chocolate' }).view threw exception TypeError: Type error.
+PASS new FocusEvent('eventType', { view: 12345 }).view threw exception TypeError: Type error.
+PASS new FocusEvent('eventType', { view: 18446744073709551615 }).view threw exception TypeError: Type error.
+PASS new FocusEvent('eventType', { view: NaN }).view threw exception TypeError: Type error.
+PASS new FocusEvent('eventType', { view: {valueOf: function () { return window; } } }).view threw exception TypeError: Type error.
+PASS new FocusEvent('eventType', { get view() { return 123; } }).view threw exception TypeError: Type error.
</ins><span class="cx"> PASS new FocusEvent('eventType', { get view() { throw 'FocusEvent Error'; } }) threw exception FocusEvent Error.
</span><span class="cx"> PASS new FocusEvent('eventType', { relatedTarget: testDiv }).relatedTarget is testDiv
</span><span class="cx"> PASS new FocusEvent('eventType', { relatedTarget: document }).relatedTarget is document
</span><span class="cx"> PASS new FocusEvent('eventType', { relatedTarget: xhr }).relatedTarget is xhr
</span><span class="cx"> PASS new FocusEvent('eventType', { relatedTarget: window }).relatedTarget is window
</span><del>-PASS new FocusEvent('eventType', { relatedTarget: testObject }).relatedTarget is null
</del><ins>+PASS new FocusEvent('eventType', { relatedTarget: testObject }) threw exception TypeError: Type error.
</ins><span class="cx"> PASS new FocusEvent('eventType', { relatedTarget: undefined }).relatedTarget is null
</span><span class="cx"> PASS new FocusEvent('eventType', { relatedTarget: null }).relatedTarget is null
</span><del>-PASS new FocusEvent('eventType', { relatedTarget: false }).relatedTarget is null
-PASS new FocusEvent('eventType', { relatedTarget: true }).relatedTarget is null
-PASS new FocusEvent('eventType', { relatedTarget: '' }).relatedTarget is null
-PASS new FocusEvent('eventType', { relatedTarget: 'chocolate' }).relatedTarget is null
-PASS new FocusEvent('eventType', { relatedTarget: 12345 }).relatedTarget is null
-PASS new FocusEvent('eventType', { relatedTarget: 18446744073709551615 }).relatedTarget is null
-PASS new FocusEvent('eventType', { relatedTarget: NaN }).relatedTarget is null
-PASS new FocusEvent('eventType', { relatedTarget: {valueOf: function () { return testDiv; } } }).relatedTarget == testDiv is false
-PASS new FocusEvent('eventType', { get relatedTarget() { return 123; } }).relatedTarget is null
</del><ins>+PASS new FocusEvent('eventType', { relatedTarget: false }) threw exception TypeError: Type error.
+PASS new FocusEvent('eventType', { relatedTarget: true }) threw exception TypeError: Type error.
+PASS new FocusEvent('eventType', { relatedTarget: '' }) threw exception TypeError: Type error.
+PASS new FocusEvent('eventType', { relatedTarget: 'chocolate' }) threw exception TypeError: Type error.
+PASS new FocusEvent('eventType', { relatedTarget: 12345 }) threw exception TypeError: Type error.
+PASS new FocusEvent('eventType', { relatedTarget: 18446744073709551615 }) threw exception TypeError: Type error.
+PASS new FocusEvent('eventType', { relatedTarget: NaN }) threw exception TypeError: Type error.
+PASS new FocusEvent('eventType', { relatedTarget: {valueOf: function () { return testDiv; } } }) threw exception TypeError: Type error.
+PASS new FocusEvent('eventType', { get relatedTarget() { return 123; } }) threw exception TypeError: Type error.
</ins><span class="cx"> PASS new FocusEvent('eventType', { get relatedTarget() { throw 'FocusEvent Error'; } }) threw exception FocusEvent Error.
</span><span class="cx"> PASS new FocusEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, relatedTarget: testDiv }).bubbles is true
</span><span class="cx"> PASS new FocusEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, relatedTarget: testDiv }).cancelable is true
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorsfocuseventconstructorhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/focus-event-constructor.html (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/focus-event-constructor.html        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/focus-event-constructor.html        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -57,19 +57,19 @@
</span><span class="cx"> shouldBe(&quot;new FocusEvent('eventType', { relatedTarget: window }).relatedTarget&quot;, &quot;window&quot;);
</span><span class="cx"> 
</span><span class="cx"> // Invalid objects.
</span><del>-shouldBe(&quot;new FocusEvent('eventType', { relatedTarget: testObject }).relatedTarget&quot;, &quot;null&quot;);
</del><ins>+shouldThrowErrorName(&quot;new FocusEvent('eventType', { relatedTarget: testObject })&quot;, &quot;TypeError&quot;);
</ins><span class="cx"> shouldBe(&quot;new FocusEvent('eventType', { relatedTarget: undefined }).relatedTarget&quot;, &quot;null&quot;);
</span><span class="cx"> shouldBe(&quot;new FocusEvent('eventType', { relatedTarget: null }).relatedTarget&quot;, &quot;null&quot;);
</span><del>-shouldBe(&quot;new FocusEvent('eventType', { relatedTarget: false }).relatedTarget&quot;, &quot;null&quot;);
-shouldBe(&quot;new FocusEvent('eventType', { relatedTarget: true }).relatedTarget&quot;, &quot;null&quot;);
-shouldBe(&quot;new FocusEvent('eventType', { relatedTarget: '' }).relatedTarget&quot;, &quot;null&quot;);
-shouldBe(&quot;new FocusEvent('eventType', { relatedTarget: 'chocolate' }).relatedTarget&quot;, &quot;null&quot;);
-shouldBe(&quot;new FocusEvent('eventType', { relatedTarget: 12345 }).relatedTarget&quot;, &quot;null&quot;);
-shouldBe(&quot;new FocusEvent('eventType', { relatedTarget: 18446744073709551615 }).relatedTarget&quot;, &quot;null&quot;);
-shouldBe(&quot;new FocusEvent('eventType', { relatedTarget: NaN }).relatedTarget&quot;, &quot;null&quot;);
</del><ins>+shouldThrowErrorName(&quot;new FocusEvent('eventType', { relatedTarget: false })&quot;, &quot;TypeError&quot;);
+shouldThrowErrorName(&quot;new FocusEvent('eventType', { relatedTarget: true })&quot;, &quot;TypeError&quot;);
+shouldThrowErrorName(&quot;new FocusEvent('eventType', { relatedTarget: '' })&quot;, &quot;TypeError&quot;);
+shouldThrowErrorName(&quot;new FocusEvent('eventType', { relatedTarget: 'chocolate' })&quot;, &quot;TypeError&quot;);
+shouldThrowErrorName(&quot;new FocusEvent('eventType', { relatedTarget: 12345 })&quot;, &quot;TypeError&quot;);
+shouldThrowErrorName(&quot;new FocusEvent('eventType', { relatedTarget: 18446744073709551615 })&quot;, &quot;TypeError&quot;);
+shouldThrowErrorName(&quot;new FocusEvent('eventType', { relatedTarget: NaN })&quot;, &quot;TypeError&quot;);
</ins><span class="cx"> // Note that valueOf() is not called, when the left hand side is evaluated.
</span><del>-shouldBeFalse(&quot;new FocusEvent('eventType', { relatedTarget: {valueOf: function () { return testDiv; } } }).relatedTarget == testDiv&quot;);
-shouldBe(&quot;new FocusEvent('eventType', { get relatedTarget() { return 123; } }).relatedTarget&quot;, &quot;null&quot;);
</del><ins>+shouldThrowErrorName(&quot;new FocusEvent('eventType', { relatedTarget: {valueOf: function () { return testDiv; } } })&quot;, &quot;TypeError&quot;);
+shouldThrowErrorName(&quot;new FocusEvent('eventType', { get relatedTarget() { return 123; } })&quot;, &quot;TypeError&quot;);
</ins><span class="cx"> shouldThrow(&quot;new FocusEvent('eventType', { get relatedTarget() { throw 'FocusEvent Error'; } })&quot;);
</span><span class="cx"> 
</span><span class="cx"> // All initializers are passed.
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorshashchangeeventconstructorexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/hash-change-event-constructor-expected.txt (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/hash-change-event-constructor-expected.txt        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/hash-change-event-constructor-expected.txt        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -13,7 +13,7 @@
</span><span class="cx"> PASS new HashChangeEvent('eventType', { cancelable: true }).cancelable is true
</span><span class="cx"> PASS new HashChangeEvent('eventType', { oldURL: 'doremi' }).oldURL is &quot;doremi&quot;
</span><span class="cx"> PASS new HashChangeEvent('eventType', { oldURL: '' }).oldURL is &quot;&quot;
</span><del>-PASS new HashChangeEvent('eventType', { oldURL: undefined }).oldURL is &quot;undefined&quot;
</del><ins>+PASS new HashChangeEvent('eventType', { oldURL: undefined }).oldURL is &quot;&quot;
</ins><span class="cx"> PASS new HashChangeEvent('eventType', { oldURL: null }).oldURL is &quot;null&quot;
</span><span class="cx"> PASS new HashChangeEvent('eventType', { oldURL: false }).oldURL is &quot;false&quot;
</span><span class="cx"> PASS new HashChangeEvent('eventType', { oldURL: true }).oldURL is &quot;true&quot;
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> PASS new HashChangeEvent('eventType', { oldURL: {valueOf: function () { return 'doremi'; } } }).oldURL is &quot;[object Object]&quot;
</span><span class="cx"> PASS new HashChangeEvent('eventType', { newURL: 'doremi' }).newURL is &quot;doremi&quot;
</span><span class="cx"> PASS new HashChangeEvent('eventType', { newURL: '' }).newURL is &quot;&quot;
</span><del>-PASS new HashChangeEvent('eventType', { newURL: undefined }).newURL is &quot;undefined&quot;
</del><ins>+PASS new HashChangeEvent('eventType', { newURL: undefined }).newURL is &quot;&quot;
</ins><span class="cx"> PASS new HashChangeEvent('eventType', { newURL: null }).newURL is &quot;null&quot;
</span><span class="cx"> PASS new HashChangeEvent('eventType', { newURL: false }).newURL is &quot;false&quot;
</span><span class="cx"> PASS new HashChangeEvent('eventType', { newURL: true }).newURL is &quot;true&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorshashchangeeventconstructorhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/hash-change-event-constructor.html (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/hash-change-event-constructor.html        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/hash-change-event-constructor.html        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx">     shouldBeEqualToString(&quot;new HashChangeEvent('eventType', { &quot; + attr + &quot;: '' }).&quot; + attr, &quot;&quot;);
</span><span class="cx"> 
</span><span class="cx">     // Non-strings.
</span><del>-    shouldBeEqualToString(&quot;new HashChangeEvent('eventType', { &quot; + attr + &quot;: undefined }).&quot; + attr, &quot;undefined&quot;);
</del><ins>+    shouldBeEqualToString(&quot;new HashChangeEvent('eventType', { &quot; + attr + &quot;: undefined }).&quot; + attr, &quot;&quot;);
</ins><span class="cx">     shouldBeEqualToString(&quot;new HashChangeEvent('eventType', { &quot; + attr + &quot;: null }).&quot; + attr, &quot;null&quot;);
</span><span class="cx">     shouldBeEqualToString(&quot;new HashChangeEvent('eventType', { &quot; + attr + &quot;: false }).&quot; + attr, &quot;false&quot;);
</span><span class="cx">     shouldBeEqualToString(&quot;new HashChangeEvent('eventType', { &quot; + attr + &quot;: true }).&quot; + attr, &quot;true&quot;);
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorspopstateeventconstructorexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/pop-state-event-constructor-expected.txt (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/pop-state-event-constructor-expected.txt        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/pop-state-event-constructor-expected.txt        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -12,7 +12,7 @@
</span><span class="cx"> PASS new PopStateEvent('eventType', { cancelable: true }).cancelable is true
</span><span class="cx"> PASS new PopStateEvent('eventType', { state: object1 }).state is object1
</span><span class="cx"> PASS new PopStateEvent('eventType', { state: document }).state is document
</span><del>-PASS new PopStateEvent('eventType', { state: undefined }).state is undefined
</del><ins>+PASS new PopStateEvent('eventType', { state: undefined }).state is null
</ins><span class="cx"> PASS new PopStateEvent('eventType', { state: null }).state is null
</span><span class="cx"> PASS new PopStateEvent('eventType', { state: false }).state is false
</span><span class="cx"> PASS new PopStateEvent('eventType', { state: true }).state is true
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorspopstateeventconstructorhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/pop-state-event-constructor.html (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/pop-state-event-constructor.html        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/pop-state-event-constructor.html        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx"> var object1 = {nyannyan: 123};
</span><span class="cx"> shouldBe(&quot;new PopStateEvent('eventType', { state: object1 }).state&quot;, &quot;object1&quot;);
</span><span class="cx"> shouldBe(&quot;new PopStateEvent('eventType', { state: document }).state&quot;, &quot;document&quot;);
</span><del>-shouldBe(&quot;new PopStateEvent('eventType', { state: undefined }).state&quot;, &quot;undefined&quot;);
</del><ins>+shouldBe(&quot;new PopStateEvent('eventType', { state: undefined }).state&quot;, &quot;null&quot;);
</ins><span class="cx"> shouldBe(&quot;new PopStateEvent('eventType', { state: null }).state&quot;, &quot;null&quot;);
</span><span class="cx"> shouldBe(&quot;new PopStateEvent('eventType', { state: false }).state&quot;, &quot;false&quot;);
</span><span class="cx"> shouldBe(&quot;new PopStateEvent('eventType', { state: true }).state&quot;, &quot;true&quot;);
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorstransitioneventconstructorexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/transition-event-constructor-expected.txt (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/transition-event-constructor-expected.txt        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/transition-event-constructor-expected.txt        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -14,7 +14,7 @@
</span><span class="cx"> PASS new TransitionEvent('eventType', { cancelable: true }).cancelable is true
</span><span class="cx"> PASS new TransitionEvent('eventType', { propertyName: 'doremi' }).propertyName is &quot;doremi&quot;
</span><span class="cx"> PASS new TransitionEvent('eventType', { propertyName: '' }).propertyName is &quot;&quot;
</span><del>-PASS new TransitionEvent('eventType', { propertyName: undefined }).propertyName is &quot;undefined&quot;
</del><ins>+PASS new TransitionEvent('eventType', { propertyName: undefined }).propertyName is &quot;&quot;
</ins><span class="cx"> PASS new TransitionEvent('eventType', { propertyName: null }).propertyName is &quot;null&quot;
</span><span class="cx"> PASS new TransitionEvent('eventType', { propertyName: false }).propertyName is &quot;false&quot;
</span><span class="cx"> PASS new TransitionEvent('eventType', { propertyName: true }).propertyName is &quot;true&quot;
</span><span class="lines">@@ -29,21 +29,21 @@
</span><span class="cx"> PASS new TransitionEvent('eventType', { elapsedTime: 123.45 }).elapsedTime is 123.45
</span><span class="cx"> PASS new TransitionEvent('eventType', { elapsedTime: -123.45 }).elapsedTime is -123.45
</span><span class="cx"> PASS new TransitionEvent('eventType', { elapsedTime: 18446744073709551615 }).elapsedTime is 18446744073709551615
</span><del>-PASS new TransitionEvent('eventType', { elapsedTime: NaN }).elapsedTime is NaN
-PASS new TransitionEvent('eventType', { elapsedTime: Infinity }).elapsedTime is Infinity
-PASS new TransitionEvent('eventType', { elapsedTime: -Infinity }).elapsedTime is -Infinity
</del><ins>+PASS new TransitionEvent('eventType', { elapsedTime: NaN }).elapsedTime threw exception TypeError: The provided value is non-finite.
+PASS new TransitionEvent('eventType', { elapsedTime: Infinity }).elapsedTime threw exception TypeError: The provided value is non-finite.
+PASS new TransitionEvent('eventType', { elapsedTime: -Infinity }).elapsedTime threw exception TypeError: The provided value is non-finite.
</ins><span class="cx"> PASS new TransitionEvent('eventType', { pseudoElement: '::before' }).pseudoElement is &quot;::before&quot;
</span><span class="cx"> PASS new TransitionEvent('eventType', { pseudoElement: '' }).pseudoElement is &quot;&quot;
</span><del>-PASS new TransitionEvent('eventType', { elapsedTime: undefined }).elapsedTime is NaN
</del><ins>+PASS new TransitionEvent('eventType', { elapsedTime: undefined }).elapsedTime is 0
</ins><span class="cx"> PASS new TransitionEvent('eventType', { elapsedTime: null }).elapsedTime is 0
</span><span class="cx"> PASS new TransitionEvent('eventType', { elapsedTime: false }).elapsedTime is 0
</span><span class="cx"> PASS new TransitionEvent('eventType', { elapsedTime: true }).elapsedTime is 1
</span><span class="cx"> PASS new TransitionEvent('eventType', { elapsedTime: '' }).elapsedTime is 0
</span><del>-PASS new TransitionEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime is NaN
</del><ins>+PASS new TransitionEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime threw exception TypeError: The provided value is non-finite.
</ins><span class="cx"> PASS new TransitionEvent('eventType', { elapsedTime: [] }).elapsedTime is 0
</span><span class="cx"> PASS new TransitionEvent('eventType', { elapsedTime: [123.45] }).elapsedTime is 123.45
</span><del>-PASS new TransitionEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime is NaN
-PASS new TransitionEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime is NaN
</del><ins>+PASS new TransitionEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime threw exception TypeError: The provided value is non-finite.
+PASS new TransitionEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime threw exception TypeError: The provided value is non-finite.
</ins><span class="cx"> PASS new TransitionEvent('eventType', { elapsedTime: {valueOf: function () { return 123.45 } } }).elapsedTime is 123.45
</span><span class="cx"> PASS new TransitionEvent('eventType', { bubbles: true, cancelable: true, propertyName: 'doremi', elapsedTime: 123.45, pseudoElement: '::after' }).bubbles is true
</span><span class="cx"> PASS new TransitionEvent('eventType', { bubbles: true, cancelable: true, propertyName: 'doremi', elapsedTime: 123.45, pseudoElement: '::after' }).cancelable is true
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorstransitioneventconstructorhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/transition-event-constructor.html (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/transition-event-constructor.html        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/transition-event-constructor.html        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> shouldBeEqualToString(&quot;new TransitionEvent('eventType', { propertyName: '' }).propertyName&quot;, &quot;&quot;);
</span><span class="cx"> 
</span><span class="cx"> // Non-strings.
</span><del>-shouldBeEqualToString(&quot;new TransitionEvent('eventType', { propertyName: undefined }).propertyName&quot;, &quot;undefined&quot;);
</del><ins>+shouldBeEqualToString(&quot;new TransitionEvent('eventType', { propertyName: undefined }).propertyName&quot;, &quot;&quot;);
</ins><span class="cx"> shouldBeEqualToString(&quot;new TransitionEvent('eventType', { propertyName: null }).propertyName&quot;, &quot;null&quot;);
</span><span class="cx"> shouldBeEqualToString(&quot;new TransitionEvent('eventType', { propertyName: false }).propertyName&quot;, &quot;false&quot;);
</span><span class="cx"> shouldBeEqualToString(&quot;new TransitionEvent('eventType', { propertyName: true }).propertyName&quot;, &quot;true&quot;);
</span><span class="lines">@@ -47,9 +47,9 @@
</span><span class="cx"> shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: 123.45 }).elapsedTime&quot;, &quot;123.45&quot;);
</span><span class="cx"> shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: -123.45 }).elapsedTime&quot;, &quot;-123.45&quot;);
</span><span class="cx"> shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: 18446744073709551615 }).elapsedTime&quot;, &quot;18446744073709551615&quot;);
</span><del>-shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: NaN }).elapsedTime&quot;, &quot;NaN&quot;);
-shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: Infinity }).elapsedTime&quot;, &quot;Infinity&quot;);
-shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: -Infinity }).elapsedTime&quot;, &quot;-Infinity&quot;);
</del><ins>+shouldThrowErrorName(&quot;new TransitionEvent('eventType', { elapsedTime: NaN }).elapsedTime&quot;, &quot;TypeError&quot;);
+shouldThrowErrorName(&quot;new TransitionEvent('eventType', { elapsedTime: Infinity }).elapsedTime&quot;, &quot;TypeError&quot;);
+shouldThrowErrorName(&quot;new TransitionEvent('eventType', { elapsedTime: -Infinity }).elapsedTime&quot;, &quot;TypeError&quot;);
</ins><span class="cx"> 
</span><span class="cx"> // pseudoElement is passed.
</span><span class="cx"> // Strings.
</span><span class="lines">@@ -57,16 +57,16 @@
</span><span class="cx"> shouldBeEqualToString(&quot;new TransitionEvent('eventType', { pseudoElement: '' }).pseudoElement&quot;, &quot;&quot;);
</span><span class="cx"> 
</span><span class="cx"> // Non-numeric values.
</span><del>-shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: undefined }).elapsedTime&quot;, &quot;NaN&quot;);
</del><ins>+shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: undefined }).elapsedTime&quot;, &quot;0&quot;);
</ins><span class="cx"> shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: null }).elapsedTime&quot;, &quot;0&quot;);
</span><span class="cx"> shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: false }).elapsedTime&quot;, &quot;0&quot;);
</span><span class="cx"> shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: true }).elapsedTime&quot;, &quot;1&quot;);
</span><span class="cx"> shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: '' }).elapsedTime&quot;, &quot;0&quot;);
</span><del>-shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime&quot;, &quot;NaN&quot;);
</del><ins>+shouldThrowErrorName(&quot;new TransitionEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime&quot;, &quot;TypeError&quot;);
</ins><span class="cx"> shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: [] }).elapsedTime&quot;, &quot;0&quot;);
</span><span class="cx"> shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: [123.45] }).elapsedTime&quot;, &quot;123.45&quot;);
</span><del>-shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime&quot;, &quot;NaN&quot;);
-shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime&quot;, &quot;NaN&quot;);
</del><ins>+shouldThrowErrorName(&quot;new TransitionEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime&quot;, &quot;TypeError&quot;);
+shouldThrowErrorName(&quot;new TransitionEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime&quot;, &quot;TypeError&quot;);
</ins><span class="cx"> shouldBe(&quot;new TransitionEvent('eventType', { elapsedTime: {valueOf: function () { return 123.45 } } }).elapsedTime&quot;, &quot;123.45&quot;);
</span><span class="cx"> 
</span><span class="cx"> // All initializers are passed.
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorswebkitanimationeventconstructorexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/webkit-animation-event-constructor-expected.txt (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/webkit-animation-event-constructor-expected.txt        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/webkit-animation-event-constructor-expected.txt        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -13,7 +13,7 @@
</span><span class="cx"> PASS new WebKitAnimationEvent('eventType', { cancelable: true }).cancelable is true
</span><span class="cx"> PASS new WebKitAnimationEvent('eventType', { animationName: 'doremi' }).animationName is &quot;doremi&quot;
</span><span class="cx"> PASS new WebKitAnimationEvent('eventType', { animationName: '' }).animationName is &quot;&quot;
</span><del>-PASS new WebKitAnimationEvent('eventType', { animationName: undefined }).animationName is &quot;undefined&quot;
</del><ins>+PASS new WebKitAnimationEvent('eventType', { animationName: undefined }).animationName is &quot;&quot;
</ins><span class="cx"> PASS new WebKitAnimationEvent('eventType', { animationName: null }).animationName is &quot;null&quot;
</span><span class="cx"> PASS new WebKitAnimationEvent('eventType', { animationName: false }).animationName is &quot;false&quot;
</span><span class="cx"> PASS new WebKitAnimationEvent('eventType', { animationName: true }).animationName is &quot;true&quot;
</span><span class="lines">@@ -28,19 +28,19 @@
</span><span class="cx"> PASS new WebKitAnimationEvent('eventType', { elapsedTime: 123.45 }).elapsedTime is 123.45
</span><span class="cx"> PASS new WebKitAnimationEvent('eventType', { elapsedTime: -123.45 }).elapsedTime is -123.45
</span><span class="cx"> PASS new WebKitAnimationEvent('eventType', { elapsedTime: 18446744073709551615 }).elapsedTime is 18446744073709551615
</span><del>-PASS new WebKitAnimationEvent('eventType', { elapsedTime: NaN }).elapsedTime is NaN
-PASS new WebKitAnimationEvent('eventType', { elapsedTime: Infinity }).elapsedTime is Infinity
-PASS new WebKitAnimationEvent('eventType', { elapsedTime: -Infinity }).elapsedTime is -Infinity
-PASS new WebKitAnimationEvent('eventType', { elapsedTime: undefined }).elapsedTime is NaN
</del><ins>+PASS new WebKitAnimationEvent('eventType', { elapsedTime: NaN }).elapsedTime threw exception TypeError: The provided value is non-finite.
+PASS new WebKitAnimationEvent('eventType', { elapsedTime: Infinity }).elapsedTime threw exception TypeError: The provided value is non-finite.
+PASS new WebKitAnimationEvent('eventType', { elapsedTime: -Infinity }).elapsedTime threw exception TypeError: The provided value is non-finite.
+PASS new WebKitAnimationEvent('eventType', { elapsedTime: undefined }).elapsedTime is 0
</ins><span class="cx"> PASS new WebKitAnimationEvent('eventType', { elapsedTime: null }).elapsedTime is 0
</span><span class="cx"> PASS new WebKitAnimationEvent('eventType', { elapsedTime: false }).elapsedTime is 0
</span><span class="cx"> PASS new WebKitAnimationEvent('eventType', { elapsedTime: true }).elapsedTime is 1
</span><span class="cx"> PASS new WebKitAnimationEvent('eventType', { elapsedTime: '' }).elapsedTime is 0
</span><del>-PASS new WebKitAnimationEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime is NaN
</del><ins>+PASS new WebKitAnimationEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime threw exception TypeError: The provided value is non-finite.
</ins><span class="cx"> PASS new WebKitAnimationEvent('eventType', { elapsedTime: [] }).elapsedTime is 0
</span><span class="cx"> PASS new WebKitAnimationEvent('eventType', { elapsedTime: [123.45] }).elapsedTime is 123.45
</span><del>-PASS new WebKitAnimationEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime is NaN
-PASS new WebKitAnimationEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime is NaN
</del><ins>+PASS new WebKitAnimationEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime threw exception TypeError: The provided value is non-finite.
+PASS new WebKitAnimationEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime threw exception TypeError: The provided value is non-finite.
</ins><span class="cx"> PASS new WebKitAnimationEvent('eventType', { elapsedTime: {valueOf: function () { return 123.45 } } }).elapsedTime is 123.45
</span><span class="cx"> PASS new WebKitAnimationEvent('eventType', { bubbles: true, cancelable: true, animationName: 'doremi', elapsedTime: 123.45 }).bubbles is true
</span><span class="cx"> PASS new WebKitAnimationEvent('eventType', { bubbles: true, cancelable: true, animationName: 'doremi', elapsedTime: 123.45 }).cancelable is true
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorswebkitanimationeventconstructorhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/webkit-animation-event-constructor.html (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/webkit-animation-event-constructor.html        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/webkit-animation-event-constructor.html        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> shouldBeEqualToString(&quot;new WebKitAnimationEvent('eventType', { animationName: '' }).animationName&quot;, &quot;&quot;);
</span><span class="cx"> 
</span><span class="cx"> // Non-strings.
</span><del>-shouldBeEqualToString(&quot;new WebKitAnimationEvent('eventType', { animationName: undefined }).animationName&quot;, &quot;undefined&quot;);
</del><ins>+shouldBeEqualToString(&quot;new WebKitAnimationEvent('eventType', { animationName: undefined }).animationName&quot;, &quot;&quot;);
</ins><span class="cx"> shouldBeEqualToString(&quot;new WebKitAnimationEvent('eventType', { animationName: null }).animationName&quot;, &quot;null&quot;);
</span><span class="cx"> shouldBeEqualToString(&quot;new WebKitAnimationEvent('eventType', { animationName: false }).animationName&quot;, &quot;false&quot;);
</span><span class="cx"> shouldBeEqualToString(&quot;new WebKitAnimationEvent('eventType', { animationName: true }).animationName&quot;, &quot;true&quot;);
</span><span class="lines">@@ -46,21 +46,21 @@
</span><span class="cx"> shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: 123.45 }).elapsedTime&quot;, &quot;123.45&quot;);
</span><span class="cx"> shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: -123.45 }).elapsedTime&quot;, &quot;-123.45&quot;);
</span><span class="cx"> shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: 18446744073709551615 }).elapsedTime&quot;, &quot;18446744073709551615&quot;);
</span><del>-shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: NaN }).elapsedTime&quot;, &quot;NaN&quot;);
-shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: Infinity }).elapsedTime&quot;, &quot;Infinity&quot;);
-shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: -Infinity }).elapsedTime&quot;, &quot;-Infinity&quot;);
</del><ins>+shouldThrowErrorName(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: NaN }).elapsedTime&quot;, &quot;TypeError&quot;);
+shouldThrowErrorName(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: Infinity }).elapsedTime&quot;, &quot;TypeError&quot;);
+shouldThrowErrorName(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: -Infinity }).elapsedTime&quot;, &quot;TypeError&quot;);
</ins><span class="cx"> 
</span><span class="cx"> // Non-numeric values.
</span><del>-shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: undefined }).elapsedTime&quot;, &quot;NaN&quot;);
</del><ins>+shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: undefined }).elapsedTime&quot;, &quot;0&quot;);
</ins><span class="cx"> shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: null }).elapsedTime&quot;, &quot;0&quot;);
</span><span class="cx"> shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: false }).elapsedTime&quot;, &quot;0&quot;);
</span><span class="cx"> shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: true }).elapsedTime&quot;, &quot;1&quot;);
</span><span class="cx"> shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: '' }).elapsedTime&quot;, &quot;0&quot;);
</span><del>-shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime&quot;, &quot;NaN&quot;);
</del><ins>+shouldThrowErrorName(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime&quot;, &quot;TypeError&quot;);
</ins><span class="cx"> shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: [] }).elapsedTime&quot;, &quot;0&quot;);
</span><span class="cx"> shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: [123.45] }).elapsedTime&quot;, &quot;123.45&quot;);
</span><del>-shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime&quot;, &quot;NaN&quot;);
-shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime&quot;, &quot;NaN&quot;);
</del><ins>+shouldThrowErrorName(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime&quot;, &quot;TypeError&quot;);
+shouldThrowErrorName(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime&quot;, &quot;TypeError&quot;);
</ins><span class="cx"> shouldBe(&quot;new WebKitAnimationEvent('eventType', { elapsedTime: {valueOf: function () { return 123.45 } } }).elapsedTime&quot;, &quot;123.45&quot;);
</span><span class="cx"> 
</span><span class="cx"> // All initializers are passed.
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorswebkittransitioneventconstructorexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/webkit-transition-event-constructor-expected.txt (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/webkit-transition-event-constructor-expected.txt        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/webkit-transition-event-constructor-expected.txt        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -14,7 +14,7 @@
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { cancelable: true }).cancelable is true
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { propertyName: 'doremi' }).propertyName is &quot;doremi&quot;
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { propertyName: '' }).propertyName is &quot;&quot;
</span><del>-PASS new WebKitTransitionEvent('eventType', { propertyName: undefined }).propertyName is &quot;undefined&quot;
</del><ins>+PASS new WebKitTransitionEvent('eventType', { propertyName: undefined }).propertyName is &quot;&quot;
</ins><span class="cx"> PASS new WebKitTransitionEvent('eventType', { propertyName: null }).propertyName is &quot;null&quot;
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { propertyName: false }).propertyName is &quot;false&quot;
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { propertyName: true }).propertyName is &quot;true&quot;
</span><span class="lines">@@ -29,21 +29,21 @@
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { elapsedTime: 123.45 }).elapsedTime is 123.45
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { elapsedTime: -123.45 }).elapsedTime is -123.45
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { elapsedTime: 18446744073709551615 }).elapsedTime is 18446744073709551615
</span><del>-PASS new WebKitTransitionEvent('eventType', { elapsedTime: NaN }).elapsedTime is NaN
-PASS new WebKitTransitionEvent('eventType', { elapsedTime: Infinity }).elapsedTime is Infinity
-PASS new WebKitTransitionEvent('eventType', { elapsedTime: -Infinity }).elapsedTime is -Infinity
</del><ins>+PASS new WebKitTransitionEvent('eventType', { elapsedTime: NaN }).elapsedTime threw exception TypeError: The provided value is non-finite.
+PASS new WebKitTransitionEvent('eventType', { elapsedTime: Infinity }).elapsedTime threw exception TypeError: The provided value is non-finite.
+PASS new WebKitTransitionEvent('eventType', { elapsedTime: -Infinity }).elapsedTime threw exception TypeError: The provided value is non-finite.
</ins><span class="cx"> PASS new WebKitTransitionEvent('eventType', { pseudoElement: '::before' }).pseudoElement is &quot;::before&quot;
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { pseudoElement: '' }).pseudoElement is &quot;&quot;
</span><del>-PASS new WebKitTransitionEvent('eventType', { elapsedTime: undefined }).elapsedTime is NaN
</del><ins>+PASS new WebKitTransitionEvent('eventType', { elapsedTime: undefined }).elapsedTime is 0
</ins><span class="cx"> PASS new WebKitTransitionEvent('eventType', { elapsedTime: null }).elapsedTime is 0
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { elapsedTime: false }).elapsedTime is 0
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { elapsedTime: true }).elapsedTime is 1
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { elapsedTime: '' }).elapsedTime is 0
</span><del>-PASS new WebKitTransitionEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime is NaN
</del><ins>+PASS new WebKitTransitionEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime threw exception TypeError: The provided value is non-finite.
</ins><span class="cx"> PASS new WebKitTransitionEvent('eventType', { elapsedTime: [] }).elapsedTime is 0
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { elapsedTime: [123.45] }).elapsedTime is 123.45
</span><del>-PASS new WebKitTransitionEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime is NaN
-PASS new WebKitTransitionEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime is NaN
</del><ins>+PASS new WebKitTransitionEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime threw exception TypeError: The provided value is non-finite.
+PASS new WebKitTransitionEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime threw exception TypeError: The provided value is non-finite.
</ins><span class="cx"> PASS new WebKitTransitionEvent('eventType', { elapsedTime: {valueOf: function () { return 123.45 } } }).elapsedTime is 123.45
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { bubbles: true, cancelable: true, propertyName: 'doremi', elapsedTime: 123.45, pseudoElement: '::after' }).bubbles is true
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { bubbles: true, cancelable: true, propertyName: 'doremi', elapsedTime: 123.45, pseudoElement: '::after' }).cancelable is true
</span></span></pre></div>
<a id="trunkLayoutTestsfasteventsconstructorswebkittransitioneventconstructorhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/events/constructors/webkit-transition-event-constructor.html (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/events/constructors/webkit-transition-event-constructor.html        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/LayoutTests/fast/events/constructors/webkit-transition-event-constructor.html        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> shouldBeEqualToString(&quot;new WebKitTransitionEvent('eventType', { propertyName: '' }).propertyName&quot;, &quot;&quot;);
</span><span class="cx"> 
</span><span class="cx"> // Non-strings.
</span><del>-shouldBeEqualToString(&quot;new WebKitTransitionEvent('eventType', { propertyName: undefined }).propertyName&quot;, &quot;undefined&quot;);
</del><ins>+shouldBeEqualToString(&quot;new WebKitTransitionEvent('eventType', { propertyName: undefined }).propertyName&quot;, &quot;&quot;);
</ins><span class="cx"> shouldBeEqualToString(&quot;new WebKitTransitionEvent('eventType', { propertyName: null }).propertyName&quot;, &quot;null&quot;);
</span><span class="cx"> shouldBeEqualToString(&quot;new WebKitTransitionEvent('eventType', { propertyName: false }).propertyName&quot;, &quot;false&quot;);
</span><span class="cx"> shouldBeEqualToString(&quot;new WebKitTransitionEvent('eventType', { propertyName: true }).propertyName&quot;, &quot;true&quot;);
</span><span class="lines">@@ -47,9 +47,9 @@
</span><span class="cx"> shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: 123.45 }).elapsedTime&quot;, &quot;123.45&quot;);
</span><span class="cx"> shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: -123.45 }).elapsedTime&quot;, &quot;-123.45&quot;);
</span><span class="cx"> shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: 18446744073709551615 }).elapsedTime&quot;, &quot;18446744073709551615&quot;);
</span><del>-shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: NaN }).elapsedTime&quot;, &quot;NaN&quot;);
-shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: Infinity }).elapsedTime&quot;, &quot;Infinity&quot;);
-shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: -Infinity }).elapsedTime&quot;, &quot;-Infinity&quot;);
</del><ins>+shouldThrowErrorName(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: NaN }).elapsedTime&quot;, &quot;TypeError&quot;);
+shouldThrowErrorName(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: Infinity }).elapsedTime&quot;, &quot;TypeError&quot;);
+shouldThrowErrorName(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: -Infinity }).elapsedTime&quot;, &quot;TypeError&quot;);
</ins><span class="cx"> 
</span><span class="cx"> // pseudoElement is passed.
</span><span class="cx"> // Strings.
</span><span class="lines">@@ -57,16 +57,16 @@
</span><span class="cx"> shouldBeEqualToString(&quot;new WebKitTransitionEvent('eventType', { pseudoElement: '' }).pseudoElement&quot;, &quot;&quot;);
</span><span class="cx"> 
</span><span class="cx"> // Non-numeric values.
</span><del>-shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: undefined }).elapsedTime&quot;, &quot;NaN&quot;);
</del><ins>+shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: undefined }).elapsedTime&quot;, &quot;0&quot;);
</ins><span class="cx"> shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: null }).elapsedTime&quot;, &quot;0&quot;);
</span><span class="cx"> shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: false }).elapsedTime&quot;, &quot;0&quot;);
</span><span class="cx"> shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: true }).elapsedTime&quot;, &quot;1&quot;);
</span><span class="cx"> shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: '' }).elapsedTime&quot;, &quot;0&quot;);
</span><del>-shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime&quot;, &quot;NaN&quot;);
</del><ins>+shouldThrowErrorName(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime&quot;, &quot;TypeError&quot;);
</ins><span class="cx"> shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: [] }).elapsedTime&quot;, &quot;0&quot;);
</span><span class="cx"> shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: [123.45] }).elapsedTime&quot;, &quot;123.45&quot;);
</span><del>-shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime&quot;, &quot;NaN&quot;);
-shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime&quot;, &quot;NaN&quot;);
</del><ins>+shouldThrowErrorName(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime&quot;, &quot;TypeError&quot;);
+shouldThrowErrorName(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime&quot;, &quot;TypeError&quot;);
</ins><span class="cx"> shouldBe(&quot;new WebKitTransitionEvent('eventType', { elapsedTime: {valueOf: function () { return 123.45 } } }).elapsedTime&quot;, &quot;123.45&quot;);
</span><span class="cx"> 
</span><span class="cx"> // All initializers are passed.
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/ChangeLog        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -1,5 +1,67 @@
</span><span class="cx"> 2016-10-12  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Update remaining DOM events to stop using legacy [ConstructorTemplate=Event]
+        https://bugs.webkit.org/show_bug.cgi?id=163319
+
+        Reviewed by Darin Adler.
+
+        Update remaining DOM events to stop using legacy [ConstructorTemplate=Event]
+        and use regular constructors instead.
+
+        No new tests, updated existing tests.
+
+        * dom/AutocompleteErrorEvent.h:
+        * dom/AutocompleteErrorEvent.idl:
+        * dom/BeforeLoadEvent.h:
+        * dom/BeforeLoadEvent.idl:
+        * dom/CompositionEvent.cpp:
+        (WebCore::CompositionEvent::CompositionEvent):
+        * dom/CompositionEvent.h:
+        * dom/CompositionEvent.idl:
+        * dom/ErrorEvent.cpp:
+        (WebCore::ErrorEvent::ErrorEvent):
+        * dom/ErrorEvent.h:
+        * dom/ErrorEvent.idl:
+        * dom/FocusEvent.cpp:
+        (WebCore::FocusEvent::FocusEvent):
+        * dom/FocusEvent.h:
+        * dom/FocusEvent.idl:
+        * dom/HashChangeEvent.h:
+        * dom/HashChangeEvent.idl:
+        * dom/OverflowEvent.cpp:
+        (WebCore::OverflowEvent::OverflowEvent):
+        * dom/OverflowEvent.h:
+        * dom/OverflowEvent.idl:
+        * dom/PageTransitionEvent.cpp:
+        (WebCore::PageTransitionEvent::PageTransitionEvent):
+        * dom/PageTransitionEvent.h:
+        * dom/PageTransitionEvent.idl:
+        * dom/PopStateEvent.cpp:
+        (WebCore::PopStateEvent::PopStateEvent):
+        (WebCore::PopStateEvent::create):
+        * dom/PopStateEvent.h:
+        * dom/PopStateEvent.idl:
+        * dom/SecurityPolicyViolationEvent.h:
+        * dom/SecurityPolicyViolationEvent.idl:
+        * dom/TouchEvent.cpp:
+        (WebCore::TouchEvent::TouchEvent):
+        * dom/TouchEvent.h:
+        * dom/TouchEvent.idl:
+        * dom/TransitionEvent.cpp:
+        (WebCore::TransitionEvent::TransitionEvent):
+        * dom/TransitionEvent.h:
+        * dom/TransitionEvent.idl:
+        * dom/WebKitAnimationEvent.cpp:
+        (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
+        * dom/WebKitAnimationEvent.h:
+        * dom/WebKitAnimationEvent.idl:
+        * dom/WebKitTransitionEvent.cpp:
+        (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
+        * dom/WebKitTransitionEvent.h:
+        * dom/WebKitTransitionEvent.idl:
+
+2016-10-12  Chris Dumez  &lt;cdumez@apple.com&gt;
+
</ins><span class="cx">         Stop using PassRefPtr in platform/efl
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=163321
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomAutocompleteErrorEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/AutocompleteErrorEvent.h (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/AutocompleteErrorEvent.h        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/AutocompleteErrorEvent.h        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -32,10 +32,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-struct AutocompleteErrorEventInit : public EventInit {
-    String reason;
-};
-
</del><span class="cx"> class AutocompleteErrorEvent final : public Event {
</span><span class="cx"> public:
</span><span class="cx">     static Ref&lt;AutocompleteErrorEvent&gt; create()
</span><span class="lines">@@ -48,9 +44,13 @@
</span><span class="cx">         return adoptRef(*new AutocompleteErrorEvent(reason));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static Ref&lt;AutocompleteErrorEvent&gt; create(const AtomicString&amp; eventType, const AutocompleteErrorEventInit&amp; initializer)
</del><ins>+    struct Init : EventInit {
+        String reason;
+    };
+
+    static Ref&lt;AutocompleteErrorEvent&gt; create(const AtomicString&amp; eventType, const Init&amp; initializer, IsTrusted isTrusted = IsTrusted::No)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new AutocompleteErrorEvent(eventType, initializer));
</del><ins>+        return adoptRef(*new AutocompleteErrorEvent(eventType, initializer, isTrusted));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     const String&amp; reason() const { return m_reason; }
</span><span class="lines">@@ -66,8 +66,8 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    AutocompleteErrorEvent(const AtomicString&amp; eventType, const AutocompleteErrorEventInit&amp; initializer)
-        : Event(eventType, initializer)
</del><ins>+    AutocompleteErrorEvent(const AtomicString&amp; eventType, const Init&amp; initializer, IsTrusted isTrusted)
+        : Event(eventType, initializer, isTrusted)
</ins><span class="cx">         , m_reason(initializer.reason)
</span><span class="cx">     {
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoredomAutocompleteErrorEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/AutocompleteErrorEvent.idl (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/AutocompleteErrorEvent.idl        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/AutocompleteErrorEvent.idl        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -24,9 +24,12 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     Conditional=REQUEST_AUTOCOMPLETE,
</span><del>-    ConstructorTemplate=Event,
</del><ins>+    Constructor(DOMString type, optional AutocompleteErrorEventInit eventInitDict),
</ins><span class="cx">     JSGenerateToJSObject
</span><span class="cx"> ] interface AutocompleteErrorEvent : Event {
</span><del>-    [InitializedByEventConstructor] readonly attribute DOMString reason;
</del><ins>+    readonly attribute DOMString reason;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><ins>+dictionary AutocompleteErrorEventInit : EventInit {
+    DOMString reason = &quot;&quot;;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoredomBeforeLoadEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/BeforeLoadEvent.h (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/BeforeLoadEvent.h        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/BeforeLoadEvent.h        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -32,10 +32,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-struct BeforeLoadEventInit : public EventInit {
-    String url;
-};
-
</del><span class="cx"> class BeforeLoadEvent final : public Event {
</span><span class="cx"> public:
</span><span class="cx">     static Ref&lt;BeforeLoadEvent&gt; create(const String&amp; url)
</span><span class="lines">@@ -43,9 +39,13 @@
</span><span class="cx">         return adoptRef(*new BeforeLoadEvent(url));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static Ref&lt;BeforeLoadEvent&gt; createForBindings(const AtomicString&amp; type, const BeforeLoadEventInit&amp; initializer)
</del><ins>+    struct Init : EventInit {
+        String url;
+    };
+
+    static Ref&lt;BeforeLoadEvent&gt; create(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted = IsTrusted::No)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new BeforeLoadEvent(type, initializer));
</del><ins>+        return adoptRef(*new BeforeLoadEvent(type, initializer, isTrusted));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     const String&amp; url() const { return m_url; }
</span><span class="lines">@@ -59,8 +59,8 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    BeforeLoadEvent(const AtomicString&amp; type, const BeforeLoadEventInit&amp; initializer)
-        : Event(type, initializer)
</del><ins>+    BeforeLoadEvent(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted)
+        : Event(type, initializer, isTrusted)
</ins><span class="cx">         , m_url(initializer.url)
</span><span class="cx">     {
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoredomBeforeLoadEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/BeforeLoadEvent.idl (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/BeforeLoadEvent.idl        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/BeforeLoadEvent.idl        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -25,8 +25,11 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> [
</span><del>-    ConstructorTemplate=Event
</del><ins>+    Constructor(DOMString type, optional BeforeLoadEventInit eventInitDict)
</ins><span class="cx"> ] interface BeforeLoadEvent : Event {
</span><del>-    [InitializedByEventConstructor] readonly attribute DOMString url;
</del><ins>+    readonly attribute DOMString url;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><ins>+dictionary BeforeLoadEventInit : EventInit {
+    DOMString url = &quot;&quot;;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoredomCompositionEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/CompositionEvent.cpp (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/CompositionEvent.cpp        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/CompositionEvent.cpp        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -41,8 +41,8 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-CompositionEvent::CompositionEvent(const AtomicString&amp; type, const CompositionEventInit&amp; initializer)
-    : UIEvent(type, initializer)
</del><ins>+CompositionEvent::CompositionEvent(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted)
+    : UIEvent(type, initializer, isTrusted)
</ins><span class="cx">     , m_data(initializer.data)
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomCompositionEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/CompositionEvent.h (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/CompositionEvent.h        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/CompositionEvent.h        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -31,10 +31,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-struct CompositionEventInit : UIEventInit {
-    String data;
-};
-
</del><span class="cx"> class CompositionEvent final : public UIEvent {
</span><span class="cx"> public:
</span><span class="cx">     static Ref&lt;CompositionEvent&gt; create(const AtomicString&amp; type, DOMWindow* view, const String&amp; data)
</span><span class="lines">@@ -47,9 +43,13 @@
</span><span class="cx">         return adoptRef(*new CompositionEvent);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static Ref&lt;CompositionEvent&gt; createForBindings(const AtomicString&amp; type, const CompositionEventInit&amp; initializer)
</del><ins>+    struct Init : UIEventInit {
+        String data;
+    };
+
+    static Ref&lt;CompositionEvent&gt; create(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted = IsTrusted::No)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new CompositionEvent(type, initializer));
</del><ins>+        return adoptRef(*new CompositionEvent(type, initializer, isTrusted));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~CompositionEvent();
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx"> private:
</span><span class="cx">     CompositionEvent();
</span><span class="cx">     CompositionEvent(const AtomicString&amp; type, DOMWindow*, const String&amp;);
</span><del>-    CompositionEvent(const AtomicString&amp; type, const CompositionEventInit&amp;);
</del><ins>+    CompositionEvent(const AtomicString&amp; type, const Init&amp;, IsTrusted);
</ins><span class="cx"> 
</span><span class="cx">     bool isCompositionEvent() const override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomCompositionEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/CompositionEvent.idl (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/CompositionEvent.idl        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/CompositionEvent.idl        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -24,11 +24,10 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> [
</span><del>-    ConstructorConditional=DOM4_EVENTS_CONSTRUCTOR,
-    ConstructorTemplate=Event,
</del><ins>+    Constructor(DOMString type, optional CompositionEventInit eventInitDict),
</ins><span class="cx"> ] interface CompositionEvent : UIEvent {
</span><span class="cx"> 
</span><del>-    [InitializedByEventConstructor] readonly attribute DOMString data;
</del><ins>+    readonly attribute DOMString data;
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: Using &quot;undefined&quot; as default parameter value is wrong.
</span><span class="cx">     void initCompositionEvent(optional DOMString typeArg = &quot;undefined&quot;,
</span><span class="lines">@@ -39,3 +38,6 @@
</span><span class="cx"> 
</span><span class="cx"> };
</span><span class="cx"> 
</span><ins>+dictionary CompositionEventInit : UIEventInit {
+    DOMString data = &quot;&quot;;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoredomErrorEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ErrorEvent.cpp (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ErrorEvent.cpp        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/ErrorEvent.cpp        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -40,13 +40,13 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-ErrorEvent::ErrorEvent(const AtomicString&amp; type, const ErrorEventInit&amp; initializer)
-    : Event(type, initializer)
</del><ins>+ErrorEvent::ErrorEvent(ExecState&amp; state, const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted)
+    : Event(type, initializer, isTrusted)
</ins><span class="cx">     , m_message(initializer.message)
</span><span class="cx">     , m_fileName(initializer.filename)
</span><span class="cx">     , m_lineNumber(initializer.lineno)
</span><span class="cx">     , m_columnNumber(initializer.colno)
</span><del>-    , m_error(initializer.error)
</del><ins>+    , m_error(state.vm(), initializer.error)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomErrorEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ErrorEvent.h (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ErrorEvent.h        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/ErrorEvent.h        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -39,14 +39,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-struct ErrorEventInit : public EventInit {
-    String message;
-    String filename;
-    unsigned lineno { 0 };
-    unsigned colno { 0 };
-    Deprecated::ScriptValue error;
-};
-
</del><span class="cx"> class ErrorEvent final : public Event {
</span><span class="cx"> public:
</span><span class="cx">     static Ref&lt;ErrorEvent&gt; create(const String&amp; message, const String&amp; fileName, unsigned lineNumber, unsigned columnNumber, const Deprecated::ScriptValue&amp; error)
</span><span class="lines">@@ -54,9 +46,17 @@
</span><span class="cx">         return adoptRef(*new ErrorEvent(message, fileName, lineNumber, columnNumber, error));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static Ref&lt;ErrorEvent&gt; createForBindings(const AtomicString&amp; type, const ErrorEventInit&amp; initializer)
</del><ins>+    struct Init : EventInit {
+        String message;
+        String filename;
+        unsigned lineno { 0 };
+        unsigned colno { 0 };
+        JSC::JSValue error;
+    };
+
+    static Ref&lt;ErrorEvent&gt; create(JSC::ExecState&amp; state, const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted = IsTrusted::No)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new ErrorEvent(type, initializer));
</del><ins>+        return adoptRef(*new ErrorEvent(state, type, initializer, isTrusted));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~ErrorEvent();
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     ErrorEvent(const String&amp; message, const String&amp; fileName, unsigned lineNumber, unsigned columnNumber, const Deprecated::ScriptValue&amp; error);
</span><del>-    ErrorEvent(const AtomicString&amp;, const ErrorEventInit&amp;);
</del><ins>+    ErrorEvent(JSC::ExecState&amp;, const AtomicString&amp;, const Init&amp;, IsTrusted);
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;SerializedScriptValue&gt; trySerializeError(JSC::ExecState&amp;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomErrorEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ErrorEvent.idl (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ErrorEvent.idl        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/ErrorEvent.idl        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -30,13 +30,21 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> [
</span><del>-    ConstructorTemplate=Event,
</del><ins>+    Constructor(DOMString type, optional ErrorEventInit eventInitDict),
+    ConstructorCallWith=ScriptState,
</ins><span class="cx">     Exposed=(Window,Worker),
</span><span class="cx"> ] interface ErrorEvent : Event {
</span><del>-    [InitializedByEventConstructor] readonly attribute DOMString message;
-    [InitializedByEventConstructor] readonly attribute USVString filename;
-    [InitializedByEventConstructor] readonly attribute unsigned long lineno;
-    [InitializedByEventConstructor] readonly attribute unsigned long colno;
-    [InitializedByEventConstructor, CustomGetter] readonly attribute any error;
</del><ins>+    readonly attribute DOMString message;
+    readonly attribute USVString filename;
+    readonly attribute unsigned long lineno;
+    readonly attribute unsigned long colno;
+    [CustomGetter] readonly attribute any error;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><ins>+dictionary ErrorEventInit : EventInit {
+    DOMString message = &quot;&quot;;
+    USVString filename = &quot;&quot;;
+    unsigned long lineno = 0;
+    unsigned long colno = 0;
+    any error = null;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoredomFocusEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/FocusEvent.cpp (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/FocusEvent.cpp        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/FocusEvent.cpp        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -46,8 +46,8 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-FocusEvent::FocusEvent(const AtomicString&amp; type, const FocusEventInit&amp; initializer)
-    : UIEvent(type, initializer)
</del><ins>+FocusEvent::FocusEvent(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted)
+    : UIEvent(type, initializer, isTrusted)
</ins><span class="cx">     , m_relatedTarget(initializer.relatedTarget)
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomFocusEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/FocusEvent.h (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/FocusEvent.h        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/FocusEvent.h        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -33,10 +33,6 @@
</span><span class="cx"> 
</span><span class="cx"> class Node;
</span><span class="cx"> 
</span><del>-struct FocusEventInit : public UIEventInit {
-    RefPtr&lt;EventTarget&gt; relatedTarget;
-};
-
</del><span class="cx"> class FocusEvent final : public UIEvent {
</span><span class="cx"> public:
</span><span class="cx">     static Ref&lt;FocusEvent&gt; create(const AtomicString&amp; type, bool canBubble, bool cancelable, DOMWindow* view, int detail, RefPtr&lt;EventTarget&gt;&amp;&amp; relatedTarget)
</span><span class="lines">@@ -44,9 +40,13 @@
</span><span class="cx">         return adoptRef(*new FocusEvent(type, canBubble, cancelable, view, detail, WTFMove(relatedTarget)));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static Ref&lt;FocusEvent&gt; createForBindings(const AtomicString&amp; type, const FocusEventInit&amp; initializer)
</del><ins>+    struct Init : UIEventInit {
+        RefPtr&lt;EventTarget&gt; relatedTarget;
+    };
+
+    static Ref&lt;FocusEvent&gt; create(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted = IsTrusted::No)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new FocusEvent(type, initializer));
</del><ins>+        return adoptRef(*new FocusEvent(type, initializer, isTrusted));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     EventTarget* relatedTarget() const override { return m_relatedTarget.get(); }
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     FocusEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, DOMWindow*, int, RefPtr&lt;EventTarget&gt;&amp;&amp;);
</span><del>-    FocusEvent(const AtomicString&amp; type, const FocusEventInit&amp;);
</del><ins>+    FocusEvent(const AtomicString&amp; type, const Init&amp;, IsTrusted);
</ins><span class="cx"> 
</span><span class="cx">     bool isFocusEvent() const override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomFocusEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/FocusEvent.idl (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/FocusEvent.idl        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/FocusEvent.idl        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -24,8 +24,11 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> [
</span><del>-    ConstructorConditional=DOM4_EVENTS_CONSTRUCTOR,
-    ConstructorTemplate=Event
</del><ins>+    Constructor(DOMString type, optional FocusEventInit eventInitDict),
</ins><span class="cx"> ] interface FocusEvent : UIEvent {
</span><del>-    [InitializedByEventConstructor] readonly attribute EventTarget relatedTarget;
</del><ins>+    readonly attribute EventTarget? relatedTarget;
</ins><span class="cx"> };
</span><ins>+
+dictionary FocusEventInit : UIEventInit {
+    EventTarget? relatedTarget = null;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoredomHashChangeEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/HashChangeEvent.h (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/HashChangeEvent.h        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/HashChangeEvent.h        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -26,11 +26,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-struct HashChangeEventInit : public EventInit {
-    String oldURL;
-    String newURL;
-};
-
</del><span class="cx"> class HashChangeEvent final : public Event {
</span><span class="cx"> public:
</span><span class="cx">     static Ref&lt;HashChangeEvent&gt; create(const String&amp; oldURL, const String&amp; newURL)
</span><span class="lines">@@ -43,9 +38,14 @@
</span><span class="cx">         return adoptRef(*new HashChangeEvent);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static Ref&lt;HashChangeEvent&gt; createForBindings(const AtomicString&amp; type, const HashChangeEventInit&amp; initializer)
</del><ins>+    struct Init : EventInit {
+        String oldURL;
+        String newURL;
+    };
+
+    static Ref&lt;HashChangeEvent&gt; create(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted = IsTrusted::No)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new HashChangeEvent(type, initializer));
</del><ins>+        return adoptRef(*new HashChangeEvent(type, initializer, isTrusted));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void initHashChangeEvent(const AtomicString&amp; eventType, bool canBubble, bool cancelable, const String&amp; oldURL, const String&amp; newURL)
</span><span class="lines">@@ -76,8 +76,8 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    HashChangeEvent(const AtomicString&amp; type, const HashChangeEventInit&amp; initializer)
-        : Event(type, initializer)
</del><ins>+    HashChangeEvent(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted)
+        : Event(type, initializer, isTrusted)
</ins><span class="cx">         , m_oldURL(initializer.oldURL)
</span><span class="cx">         , m_newURL(initializer.newURL)
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWebCoredomHashChangeEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/HashChangeEvent.idl (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/HashChangeEvent.idl        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/HashChangeEvent.idl        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -19,7 +19,7 @@
</span><span class="cx"> 
</span><span class="cx"> // Introduced in http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#event-hashchange
</span><span class="cx"> [
</span><del>-    ConstructorTemplate=Event,
</del><ins>+    Constructor(DOMString type, optional HashChangeEventInit eventInitDict),
</ins><span class="cx"> ] interface HashChangeEvent : Event {
</span><span class="cx">     // FIXME: Using &quot;undefined&quot; as default parameter value is wrong.
</span><span class="cx">     void initHashChangeEvent(optional DOMString type = &quot;undefined&quot;,
</span><span class="lines">@@ -27,7 +27,12 @@
</span><span class="cx">                              optional boolean cancelable = false,
</span><span class="cx">                              optional USVString oldURL = &quot;undefined&quot;,
</span><span class="cx">                              optional USVString newURL = &quot;undefined&quot;);
</span><del>-    [InitializedByEventConstructor] readonly attribute USVString oldURL;
-    [InitializedByEventConstructor] readonly attribute USVString newURL;
</del><ins>+
+    readonly attribute USVString oldURL;
+    readonly attribute USVString newURL;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><ins>+dictionary HashChangeEventInit : EventInit {
+    USVString oldURL = &quot;&quot;;
+    USVString newURL = &quot;&quot;;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoredomOverflowEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/OverflowEvent.cpp (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/OverflowEvent.cpp        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/OverflowEvent.cpp        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -52,8 +52,8 @@
</span><span class="cx">         m_orient = VERTICAL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-OverflowEvent::OverflowEvent(const AtomicString&amp; type, const OverflowEventInit&amp; initializer)
-    : Event(type, initializer)
</del><ins>+OverflowEvent::OverflowEvent(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted)
+    : Event(type, initializer, isTrusted)
</ins><span class="cx">     , m_orient(initializer.orient)
</span><span class="cx">     , m_horizontalOverflow(initializer.horizontalOverflow)
</span><span class="cx">     , m_verticalOverflow(initializer.verticalOverflow)
</span></span></pre></div>
<a id="trunkSourceWebCoredomOverflowEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/OverflowEvent.h (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/OverflowEvent.h        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/OverflowEvent.h        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -30,12 +30,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-struct OverflowEventInit : public EventInit {
-    unsigned short orient { 0 };
-    bool horizontalOverflow { false };
-    bool verticalOverflow { false };
-};
-
</del><span class="cx"> class OverflowEvent final : public Event {
</span><span class="cx"> public:
</span><span class="cx">     enum orientType {
</span><span class="lines">@@ -48,13 +42,21 @@
</span><span class="cx">     {
</span><span class="cx">         return adoptRef(*new OverflowEvent(horizontalOverflowChanged, horizontalOverflow, verticalOverflowChanged, verticalOverflow));
</span><span class="cx">     }
</span><ins>+
</ins><span class="cx">     static Ref&lt;OverflowEvent&gt; createForBindings()
</span><span class="cx">     {
</span><span class="cx">         return adoptRef(*new OverflowEvent);
</span><span class="cx">     }
</span><del>-    static Ref&lt;OverflowEvent&gt; createForBindings(const AtomicString&amp; type, const OverflowEventInit&amp; initializer)
</del><ins>+
+    struct Init : EventInit {
+        unsigned short orient { 0 };
+        bool horizontalOverflow { false };
+        bool verticalOverflow { false };
+    };
+
+    static Ref&lt;OverflowEvent&gt; create(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted = IsTrusted::No)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new OverflowEvent(type, initializer));
</del><ins>+        return adoptRef(*new OverflowEvent(type, initializer, isTrusted));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT void initOverflowEvent(unsigned short orient, bool horizontalOverflow, bool verticalOverflow);
</span><span class="lines">@@ -68,7 +70,7 @@
</span><span class="cx"> private:
</span><span class="cx">     OverflowEvent();
</span><span class="cx">     OverflowEvent(bool horizontalOverflowChanged, bool horizontalOverflow, bool verticalOverflowChanged, bool verticalOverflow);
</span><del>-    OverflowEvent(const AtomicString&amp;, const OverflowEventInit&amp;);
</del><ins>+    OverflowEvent(const AtomicString&amp;, const Init&amp;, IsTrusted);
</ins><span class="cx"> 
</span><span class="cx">     unsigned short m_orient;
</span><span class="cx">     bool m_horizontalOverflow;
</span></span></pre></div>
<a id="trunkSourceWebCoredomOverflowEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/OverflowEvent.idl (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/OverflowEvent.idl        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/OverflowEvent.idl        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -24,14 +24,19 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> [
</span><del>-    ConstructorTemplate=Event
</del><ins>+    Constructor(DOMString type, optional OverflowEventInit eventInitDict),
</ins><span class="cx"> ] interface OverflowEvent : Event {
</span><span class="cx">     const unsigned short HORIZONTAL = 0;
</span><span class="cx">     const unsigned short VERTICAL   = 1;
</span><span class="cx">     const unsigned short BOTH       = 2;
</span><span class="cx">     
</span><del>-    [InitializedByEventConstructor] readonly attribute unsigned short orient;
-    [InitializedByEventConstructor] readonly attribute boolean horizontalOverflow;
-    [InitializedByEventConstructor] readonly attribute boolean verticalOverflow;
</del><ins>+    readonly attribute unsigned short orient;
+    readonly attribute boolean horizontalOverflow;
+    readonly attribute boolean verticalOverflow;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><ins>+dictionary OverflowEventInit : EventInit {
+    unsigned short orient = 0;
+    boolean horizontalOverflow = false;
+    boolean verticalOverflow = false;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoredomPageTransitionEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/PageTransitionEvent.cpp (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/PageTransitionEvent.cpp        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/PageTransitionEvent.cpp        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -36,8 +36,8 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PageTransitionEvent::PageTransitionEvent(const AtomicString&amp; type, const PageTransitionEventInit&amp; initializer)
-    : Event(type, initializer)
</del><ins>+PageTransitionEvent::PageTransitionEvent(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted)
+    : Event(type, initializer, isTrusted)
</ins><span class="cx">     , m_persisted(initializer.persisted)
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoredomPageTransitionEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/PageTransitionEvent.h (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/PageTransitionEvent.h        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/PageTransitionEvent.h        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -30,10 +30,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-struct PageTransitionEventInit : public EventInit {
-    bool persisted { false };
-};
-
</del><span class="cx"> class PageTransitionEvent final : public Event {
</span><span class="cx"> public:
</span><span class="cx">     static Ref&lt;PageTransitionEvent&gt; create(const AtomicString&amp; type, bool persisted)
</span><span class="lines">@@ -40,9 +36,14 @@
</span><span class="cx">     {
</span><span class="cx">         return adoptRef(*new PageTransitionEvent(type, persisted));
</span><span class="cx">     }
</span><del>-    static Ref&lt;PageTransitionEvent&gt; createForBindings(const AtomicString&amp; type, const PageTransitionEventInit&amp; initializer)
</del><ins>+
+    struct Init : EventInit {
+        bool persisted { false };
+    };
+
+    static Ref&lt;PageTransitionEvent&gt; create(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted = IsTrusted::No)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new PageTransitionEvent(type, initializer));
</del><ins>+        return adoptRef(*new PageTransitionEvent(type, initializer, isTrusted));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~PageTransitionEvent();
</span><span class="lines">@@ -53,7 +54,7 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     PageTransitionEvent(const AtomicString&amp; type, bool persisted);
</span><del>-    PageTransitionEvent(const AtomicString&amp;, const PageTransitionEventInit&amp;);
</del><ins>+    PageTransitionEvent(const AtomicString&amp;, const Init&amp;, IsTrusted);
</ins><span class="cx"> 
</span><span class="cx">     bool m_persisted;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoredomPageTransitionEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/PageTransitionEvent.idl (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/PageTransitionEvent.idl        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/PageTransitionEvent.idl        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -24,8 +24,11 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> [
</span><del>-    ConstructorTemplate=Event
</del><ins>+    Constructor(DOMString type, optional PageTransitionEventInit eventInitDict),
</ins><span class="cx"> ] interface PageTransitionEvent : Event {
</span><del>-    [InitializedByEventConstructor] readonly attribute boolean persisted;
</del><ins>+    readonly attribute boolean persisted;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><ins>+dictionary PageTransitionEventInit : EventInit {
+    boolean persisted = false;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoredomPopStateEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/PopStateEvent.cpp (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/PopStateEvent.cpp        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/PopStateEvent.cpp        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -33,9 +33,9 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-PopStateEvent::PopStateEvent(const AtomicString&amp; type, const PopStateEventInit&amp; initializer)
-    : Event(type, initializer)
-    , m_state(initializer.state)
</del><ins>+PopStateEvent::PopStateEvent(JSC::ExecState&amp; state, const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted)
+    : Event(type, initializer, isTrusted)
+    , m_state(state.vm(), initializer.state)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -55,9 +55,9 @@
</span><span class="cx">     return adoptRef(*new PopStateEvent(WTFMove(serializedState), history));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;PopStateEvent&gt; PopStateEvent::createForBindings(const AtomicString&amp; type, const PopStateEventInit&amp; initializer)
</del><ins>+Ref&lt;PopStateEvent&gt; PopStateEvent::create(JSC::ExecState&amp; state, const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new PopStateEvent(type, initializer));
</del><ins>+    return adoptRef(*new PopStateEvent(state, type, initializer, isTrusted));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Ref&lt;PopStateEvent&gt; PopStateEvent::createForBindings()
</span></span></pre></div>
<a id="trunkSourceWebCoredomPopStateEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/PopStateEvent.h (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/PopStateEvent.h        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/PopStateEvent.h        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -34,15 +34,16 @@
</span><span class="cx"> class History;
</span><span class="cx"> class SerializedScriptValue;
</span><span class="cx"> 
</span><del>-struct PopStateEventInit : public EventInit {
-    Deprecated::ScriptValue state;
-};
-
</del><span class="cx"> class PopStateEvent final : public Event {
</span><span class="cx"> public:
</span><span class="cx">     virtual ~PopStateEvent();
</span><span class="cx">     static Ref&lt;PopStateEvent&gt; create(RefPtr&lt;SerializedScriptValue&gt;&amp;&amp;, PassRefPtr&lt;History&gt;);
</span><del>-    static Ref&lt;PopStateEvent&gt; createForBindings(const AtomicString&amp;, const PopStateEventInit&amp;);
</del><ins>+
+    struct Init : EventInit {
+        JSC::JSValue state;
+    };
+
+    static Ref&lt;PopStateEvent&gt; create(JSC::ExecState&amp;, const AtomicString&amp;, const Init&amp;, IsTrusted = IsTrusted::No);
</ins><span class="cx">     static Ref&lt;PopStateEvent&gt; createForBindings();
</span><span class="cx"> 
</span><span class="cx">     JSC::JSValue state() const { return m_state; }
</span><span class="lines">@@ -56,7 +57,7 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     PopStateEvent() = default;
</span><del>-    PopStateEvent(const AtomicString&amp;, const PopStateEventInit&amp;);
</del><ins>+    PopStateEvent(JSC::ExecState&amp;, const AtomicString&amp;, const Init&amp;, IsTrusted);
</ins><span class="cx">     explicit PopStateEvent(PassRefPtr&lt;SerializedScriptValue&gt;, PassRefPtr&lt;History&gt;);
</span><span class="cx"> 
</span><span class="cx">     Deprecated::ScriptValue m_state;
</span></span></pre></div>
<a id="trunkSourceWebCoredomPopStateEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/PopStateEvent.idl (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/PopStateEvent.idl        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/PopStateEvent.idl        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -25,8 +25,13 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> [
</span><del>-    ConstructorTemplate=Event
</del><ins>+    Constructor(DOMString type, optional PopStateEventInit eventInitDict),
+    ConstructorCallWith=ScriptState,
</ins><span class="cx"> ] interface PopStateEvent : Event {
</span><del>-    [InitializedByEventConstructor, CachedAttribute, CustomGetter] readonly attribute any state;
</del><ins>+    [CachedAttribute, CustomGetter] readonly attribute any state;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><ins>+dictionary PopStateEventInit : EventInit {
+    any state = null;
+};
+
</ins></span></pre></div>
<a id="trunkSourceWebCoredomSecurityPolicyViolationEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/SecurityPolicyViolationEvent.h (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/SecurityPolicyViolationEvent.h        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/SecurityPolicyViolationEvent.h        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -30,19 +30,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-struct SecurityPolicyViolationEventInit : public EventInit {
-    String documentURI;
-    String referrer;
-    String blockedURI;
-    String violatedDirective;
-    String effectiveDirective;
-    String originalPolicy;
-    String sourceFile;
-    unsigned short statusCode { 0 };
-    int lineNumber { 0 };
-    int columnNumber { 0 };
-};
-
</del><span class="cx"> class SecurityPolicyViolationEvent final : public Event {
</span><span class="cx"> public:
</span><span class="cx">     static Ref&lt;SecurityPolicyViolationEvent&gt; create(const AtomicString&amp; type, bool canBubble, bool cancelable, const String&amp; documentURI, const String&amp; referrer, const String&amp; blockedURI, const String&amp; violatedDirective, const String&amp; effectiveDirective, const String&amp; originalPolicy, const String&amp; sourceFile, unsigned short statusCode, int lineNumber, int columnNumber)
</span><span class="lines">@@ -55,9 +42,22 @@
</span><span class="cx">         return adoptRef(*new SecurityPolicyViolationEvent());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static Ref&lt;SecurityPolicyViolationEvent&gt; createForBindings(const AtomicString&amp; type, const SecurityPolicyViolationEventInit&amp; initializer)
</del><ins>+    struct Init : EventInit {
+        String documentURI;
+        String referrer;
+        String blockedURI;
+        String violatedDirective;
+        String effectiveDirective;
+        String originalPolicy;
+        String sourceFile;
+        unsigned short statusCode { 0 };
+        int lineNumber { 0 };
+        int columnNumber { 0 };
+    };
+
+    static Ref&lt;SecurityPolicyViolationEvent&gt; create(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted = IsTrusted::No)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new SecurityPolicyViolationEvent(type, initializer));
</del><ins>+        return adoptRef(*new SecurityPolicyViolationEvent(type, initializer, isTrusted));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     const String&amp; documentURI() const { return m_documentURI; }
</span><span class="lines">@@ -93,8 +93,8 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    SecurityPolicyViolationEvent(const AtomicString&amp; type, const SecurityPolicyViolationEventInit&amp; initializer)
-        : Event(type, initializer)
</del><ins>+    SecurityPolicyViolationEvent(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted)
+        : Event(type, initializer, isTrusted)
</ins><span class="cx">         , m_documentURI(initializer.documentURI)
</span><span class="cx">         , m_referrer(initializer.referrer)
</span><span class="cx">         , m_blockedURI(initializer.blockedURI)
</span></span></pre></div>
<a id="trunkSourceWebCoredomSecurityPolicyViolationEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/SecurityPolicyViolationEvent.idl (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/SecurityPolicyViolationEvent.idl        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/SecurityPolicyViolationEvent.idl        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -24,16 +24,29 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> [
</span><del>-    ConstructorTemplate=Event,
</del><ins>+    Constructor(DOMString type, optional SecurityPolicyViolationEventInit eventInitDict),
</ins><span class="cx"> ] interface SecurityPolicyViolationEvent : Event {
</span><del>-    [InitializedByEventConstructor] readonly attribute DOMString documentURI;
-    [InitializedByEventConstructor] readonly attribute DOMString referrer;
-    [InitializedByEventConstructor] readonly attribute DOMString blockedURI;
-    [InitializedByEventConstructor] readonly attribute DOMString violatedDirective;
-    [InitializedByEventConstructor] readonly attribute DOMString effectiveDirective;
-    [InitializedByEventConstructor] readonly attribute DOMString originalPolicy;
-    [InitializedByEventConstructor] readonly attribute DOMString sourceFile;
-    [InitializedByEventConstructor] readonly attribute unsigned short statusCode;
-    [InitializedByEventConstructor] readonly attribute long lineNumber;
-    [InitializedByEventConstructor] readonly attribute long columnNumber;
</del><ins>+    readonly attribute USVString documentURI;
+    readonly attribute DOMString referrer;
+    readonly attribute USVString blockedURI;
+    readonly attribute DOMString violatedDirective;
+    readonly attribute DOMString effectiveDirective;
+    readonly attribute DOMString originalPolicy;
+    readonly attribute USVString sourceFile;
+    readonly attribute unsigned short statusCode;
+    readonly attribute long lineNumber;
+    readonly attribute long columnNumber;
</ins><span class="cx"> };
</span><ins>+
+dictionary SecurityPolicyViolationEventInit : EventInit {
+    USVString documentURI = &quot;&quot;;
+    DOMString referrer = &quot;&quot;;
+    USVString blockedURI = &quot;&quot;;
+    DOMString violatedDirective = &quot;&quot;;
+    DOMString effectiveDirective = &quot;&quot;;
+    DOMString originalPolicy = &quot;&quot;;
+    USVString sourceFile = &quot;&quot;;
+    unsigned short statusCode = 0;
+    long lineNumber = 0;
+    long columnNumber = 0;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoredomTouchEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/TouchEvent.cpp (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/TouchEvent.cpp        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/TouchEvent.cpp        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -55,8 +55,8 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-TouchEvent::TouchEvent(const AtomicString&amp; type, const TouchEventInit&amp; initializer)
-    : MouseRelatedEvent(type, initializer)
</del><ins>+TouchEvent::TouchEvent(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted)
+    : MouseRelatedEvent(type, initializer, isTrusted)
</ins><span class="cx">     , m_touches(initializer.touches ? initializer.touches : TouchList::create())
</span><span class="cx">     , m_targetTouches(initializer.targetTouches ? initializer.targetTouches : TouchList::create())
</span><span class="cx">     , m_changedTouches(initializer.changedTouches ? initializer.changedTouches : TouchList::create())
</span></span></pre></div>
<a id="trunkSourceWebCoredomTouchEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/TouchEvent.h (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/TouchEvent.h        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/TouchEvent.h        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -36,12 +36,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-struct TouchEventInit : public MouseRelatedEventInit {
-    RefPtr&lt;TouchList&gt; touches;
-    RefPtr&lt;TouchList&gt; targetTouches;
-    RefPtr&lt;TouchList&gt; changedTouches;
-};
-
</del><span class="cx"> class TouchEvent final : public MouseRelatedEvent {
</span><span class="cx"> public:
</span><span class="cx">     virtual ~TouchEvent();
</span><span class="lines">@@ -60,9 +54,16 @@
</span><span class="cx">     {
</span><span class="cx">         return adoptRef(*new TouchEvent);
</span><span class="cx">     }
</span><del>-    static Ref&lt;TouchEvent&gt; createForBindings(const AtomicString&amp; type, const TouchEventInit&amp; initializer)
</del><ins>+
+    struct Init : MouseRelatedEventInit {
+        RefPtr&lt;TouchList&gt; touches;
+        RefPtr&lt;TouchList&gt; targetTouches;
+        RefPtr&lt;TouchList&gt; changedTouches;
+    };
+
+    static Ref&lt;TouchEvent&gt; create(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted = IsTrusted::No)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new TouchEvent(type, initializer));
</del><ins>+        return adoptRef(*new TouchEvent(type, initializer, isTrusted));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void initTouchEvent(TouchList* touches, TouchList* targetTouches,
</span><span class="lines">@@ -90,7 +91,7 @@
</span><span class="cx">             DOMWindow*, int screenX, int screenY, int pageX,
</span><span class="cx">             int pageY,
</span><span class="cx">             bool ctrlKey, bool altKey, bool shiftKey, bool metaKey);
</span><del>-    TouchEvent(const AtomicString&amp;, const TouchEventInit&amp;);
</del><ins>+    TouchEvent(const AtomicString&amp;, const Init&amp;, IsTrusted);
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;TouchList&gt; m_touches;
</span><span class="cx">     RefPtr&lt;TouchList&gt; m_targetTouches;
</span></span></pre></div>
<a id="trunkSourceWebCoredomTouchEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/TouchEvent.idl (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/TouchEvent.idl        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/TouchEvent.idl        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -25,11 +25,11 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     Conditional=TOUCH_EVENTS,
</span><del>-    ConstructorTemplate=Event,
</del><ins>+    Constructor(DOMString type, optional TouchEventInit eventInitDict),
</ins><span class="cx"> ] interface TouchEvent : UIEvent {
</span><del>-    [InitializedByEventConstructor] readonly attribute TouchList touches;
-    [InitializedByEventConstructor] readonly attribute TouchList targetTouches;
-    [InitializedByEventConstructor] readonly attribute TouchList changedTouches;
</del><ins>+    readonly attribute TouchList touches;
+    readonly attribute TouchList targetTouches;
+    readonly attribute TouchList changedTouches;
</ins><span class="cx">     readonly attribute boolean ctrlKey;
</span><span class="cx">     readonly attribute boolean shiftKey;
</span><span class="cx">     readonly attribute boolean altKey;
</span><span class="lines">@@ -50,3 +50,9 @@
</span><span class="cx">                         optional boolean shiftKey = false,
</span><span class="cx">                         optional boolean metaKey = false);
</span><span class="cx"> };
</span><ins>+
+dictionary TouchEventInit : UIEventInit {
+    TouchList? touches = null;
+    TouchList? targetTouches = null;
+    TouchList? changedTouches = null;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoredomTransitionEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/TransitionEvent.cpp (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/TransitionEvent.cpp        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/TransitionEvent.cpp        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -39,8 +39,8 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-TransitionEvent::TransitionEvent(const AtomicString&amp; type, const TransitionEventInit&amp; initializer)
-    : Event(type, initializer)
</del><ins>+TransitionEvent::TransitionEvent(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted)
+    : Event(type, initializer, isTrusted)
</ins><span class="cx">     , m_propertyName(initializer.propertyName)
</span><span class="cx">     , m_elapsedTime(initializer.elapsedTime)
</span><span class="cx">     , m_pseudoElement(initializer.pseudoElement)
</span></span></pre></div>
<a id="trunkSourceWebCoredomTransitionEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/TransitionEvent.h (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/TransitionEvent.h        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/TransitionEvent.h        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -31,12 +31,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-struct TransitionEventInit : public EventInit {
-    String propertyName;
-    double elapsedTime { 0 };
-    String pseudoElement;
-};
-
</del><span class="cx"> class TransitionEvent final : public Event {
</span><span class="cx"> public:
</span><span class="cx">     static Ref&lt;TransitionEvent&gt; create(const AtomicString&amp; type, const String&amp; propertyName, double elapsedTime, const String&amp; pseudoElement)
</span><span class="lines">@@ -43,9 +37,16 @@
</span><span class="cx">     {
</span><span class="cx">         return adoptRef(*new TransitionEvent(type, propertyName, elapsedTime, pseudoElement));
</span><span class="cx">     }
</span><del>-    static Ref&lt;TransitionEvent&gt; createForBindings(const AtomicString&amp; type, const TransitionEventInit&amp; initializer)
</del><ins>+
+    struct Init : EventInit {
+        String propertyName;
+        double elapsedTime { 0 };
+        String pseudoElement;
+    };
+
+    static Ref&lt;TransitionEvent&gt; create(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted = IsTrusted::No)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new TransitionEvent(type, initializer));
</del><ins>+        return adoptRef(*new TransitionEvent(type, initializer, isTrusted));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~TransitionEvent();
</span><span class="lines">@@ -58,7 +59,7 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     TransitionEvent(const AtomicString&amp; type, const String&amp; propertyName, double elapsedTime, const String&amp; pseudoElement);
</span><del>-    TransitionEvent(const AtomicString&amp; type, const TransitionEventInit&amp; initializer);
</del><ins>+    TransitionEvent(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted);
</ins><span class="cx"> 
</span><span class="cx">     String m_propertyName;
</span><span class="cx">     double m_elapsedTime;
</span></span></pre></div>
<a id="trunkSourceWebCoredomTransitionEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/TransitionEvent.idl (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/TransitionEvent.idl        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/TransitionEvent.idl        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -25,10 +25,15 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> [
</span><del>-    ConstructorTemplate=Event
</del><ins>+    Constructor(DOMString type, optional TransitionEventInit transitionEventInitDict),
</ins><span class="cx"> ] interface TransitionEvent : Event {
</span><del>-    [InitializedByEventConstructor] readonly attribute DOMString propertyName;
-    [InitializedByEventConstructor] readonly attribute unrestricted double elapsedTime;
-    [InitializedByEventConstructor] readonly attribute DOMString pseudoElement;
</del><ins>+    readonly attribute DOMString propertyName;
+    readonly attribute double elapsedTime;
+    readonly attribute DOMString pseudoElement;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><ins>+dictionary TransitionEventInit : EventInit {
+    DOMString propertyName = &quot;&quot;;
+    double elapsedTime = 0.0;
+    DOMString pseudoElement = &quot;&quot;;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoredomWebKitAnimationEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/WebKitAnimationEvent.cpp (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/WebKitAnimationEvent.cpp        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/WebKitAnimationEvent.cpp        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -30,8 +30,8 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-WebKitAnimationEvent::WebKitAnimationEvent(const AtomicString&amp; type, const WebKitAnimationEventInit&amp; initializer)
-    : Event(type, initializer)
</del><ins>+WebKitAnimationEvent::WebKitAnimationEvent(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted)
+    : Event(type, initializer, isTrusted)
</ins><span class="cx">     , m_animationName(initializer.animationName)
</span><span class="cx">     , m_elapsedTime(initializer.elapsedTime)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCoredomWebKitAnimationEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/WebKitAnimationEvent.h (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/WebKitAnimationEvent.h        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/WebKitAnimationEvent.h        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -30,11 +30,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-struct WebKitAnimationEventInit : public EventInit {
-    String animationName;
-    double elapsedTime { 0.0 };
-};
-
</del><span class="cx"> class WebKitAnimationEvent final : public Event {
</span><span class="cx"> public:
</span><span class="cx">     static Ref&lt;WebKitAnimationEvent&gt; create(const AtomicString&amp; type, const String&amp; animationName, double elapsedTime)
</span><span class="lines">@@ -41,9 +36,15 @@
</span><span class="cx">     {
</span><span class="cx">         return adoptRef(*new WebKitAnimationEvent(type, animationName, elapsedTime));
</span><span class="cx">     }
</span><del>-    static Ref&lt;WebKitAnimationEvent&gt; createForBindings(const AtomicString&amp; type, const WebKitAnimationEventInit&amp; initializer)
</del><ins>+
+    struct Init : EventInit {
+        String animationName;
+        double elapsedTime { 0.0 };
+    };
+
+    static Ref&lt;WebKitAnimationEvent&gt; create(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted = IsTrusted::No)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new WebKitAnimationEvent(type, initializer));
</del><ins>+        return adoptRef(*new WebKitAnimationEvent(type, initializer, isTrusted));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~WebKitAnimationEvent();
</span><span class="lines">@@ -55,7 +56,7 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     WebKitAnimationEvent(const AtomicString&amp; type, const String&amp; animationName, double elapsedTime);
</span><del>-    WebKitAnimationEvent(const AtomicString&amp;, const WebKitAnimationEventInit&amp;);
</del><ins>+    WebKitAnimationEvent(const AtomicString&amp;, const Init&amp;, IsTrusted);
</ins><span class="cx"> 
</span><span class="cx">     String m_animationName;
</span><span class="cx">     double m_elapsedTime;
</span></span></pre></div>
<a id="trunkSourceWebCoredomWebKitAnimationEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/WebKitAnimationEvent.idl (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/WebKitAnimationEvent.idl        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/WebKitAnimationEvent.idl        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -24,9 +24,13 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> [
</span><del>-    ConstructorTemplate=Event
</del><ins>+    Constructor(DOMString type, optional WebKitAnimationEventInit eventInitDict),
</ins><span class="cx"> ] interface WebKitAnimationEvent : Event {
</span><del>-    [InitializedByEventConstructor] readonly attribute DOMString animationName;
-    [InitializedByEventConstructor] readonly attribute unrestricted double elapsedTime;
</del><ins>+    readonly attribute DOMString animationName;
+    readonly attribute double elapsedTime;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><ins>+dictionary WebKitAnimationEventInit : EventInit {
+    DOMString animationName = &quot;&quot;;
+    double elapsedTime = 0;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoredomWebKitTransitionEventcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/WebKitTransitionEvent.cpp (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/WebKitTransitionEvent.cpp        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/WebKitTransitionEvent.cpp        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -38,8 +38,8 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebKitTransitionEvent::WebKitTransitionEvent(const AtomicString&amp; type, const WebKitTransitionEventInit&amp; initializer)
-    : Event(type, initializer)
</del><ins>+WebKitTransitionEvent::WebKitTransitionEvent(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted)
+    : Event(type, initializer, isTrusted)
</ins><span class="cx">     , m_propertyName(initializer.propertyName)
</span><span class="cx">     , m_elapsedTime(initializer.elapsedTime)
</span><span class="cx">     , m_pseudoElement(initializer.pseudoElement)
</span></span></pre></div>
<a id="trunkSourceWebCoredomWebKitTransitionEventh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/WebKitTransitionEvent.h (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/WebKitTransitionEvent.h        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/WebKitTransitionEvent.h        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -30,12 +30,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-struct WebKitTransitionEventInit : public EventInit {
-    String propertyName;
-    double elapsedTime { 0 };
-    String pseudoElement;
-};
-
</del><span class="cx"> class WebKitTransitionEvent final : public Event {
</span><span class="cx"> public:
</span><span class="cx">     static Ref&lt;WebKitTransitionEvent&gt; create(const AtomicString&amp; type, const String&amp; propertyName, double elapsedTime, const String&amp; pseudoElement)
</span><span class="lines">@@ -42,9 +36,16 @@
</span><span class="cx">     {
</span><span class="cx">         return adoptRef(*new WebKitTransitionEvent(type, propertyName, elapsedTime, pseudoElement));
</span><span class="cx">     }
</span><del>-    static Ref&lt;WebKitTransitionEvent&gt; createForBindings(const AtomicString&amp; type, const WebKitTransitionEventInit&amp; initializer)
</del><ins>+
+    struct Init : EventInit {
+        String propertyName;
+        double elapsedTime { 0 };
+        String pseudoElement;
+    };
+
+    static Ref&lt;WebKitTransitionEvent&gt; create(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted isTrusted = IsTrusted::No)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new WebKitTransitionEvent(type, initializer));
</del><ins>+        return adoptRef(*new WebKitTransitionEvent(type, initializer, isTrusted));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~WebKitTransitionEvent();
</span><span class="lines">@@ -57,7 +58,7 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     WebKitTransitionEvent(const AtomicString&amp; type, const String&amp; propertyName, double elapsedTime, const String&amp; pseudoElement);
</span><del>-    WebKitTransitionEvent(const AtomicString&amp; type, const WebKitTransitionEventInit&amp; initializer);
</del><ins>+    WebKitTransitionEvent(const AtomicString&amp; type, const Init&amp; initializer, IsTrusted);
</ins><span class="cx"> 
</span><span class="cx">     String m_propertyName;
</span><span class="cx">     double m_elapsedTime;
</span></span></pre></div>
<a id="trunkSourceWebCoredomWebKitTransitionEventidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/WebKitTransitionEvent.idl (207214 => 207215)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/WebKitTransitionEvent.idl        2016-10-12 14:41:59 UTC (rev 207214)
+++ trunk/Source/WebCore/dom/WebKitTransitionEvent.idl        2016-10-12 16:23:00 UTC (rev 207215)
</span><span class="lines">@@ -24,10 +24,15 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> [
</span><del>-    ConstructorTemplate=Event
</del><ins>+    Constructor(DOMString type, optional WebKitTransitionEventInit eventInitDict),
</ins><span class="cx"> ] interface WebKitTransitionEvent : Event {
</span><del>-    [InitializedByEventConstructor] readonly attribute DOMString propertyName;
-    [InitializedByEventConstructor] readonly attribute unrestricted double elapsedTime;
-    [InitializedByEventConstructor] readonly attribute DOMString pseudoElement;
</del><ins>+    readonly attribute DOMString propertyName;
+    readonly attribute double elapsedTime;
+    readonly attribute DOMString pseudoElement;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><ins>+dictionary WebKitTransitionEventInit : EventInit {
+    DOMString propertyName = &quot;&quot;;
+    double elapsedTime = 0;
+    DOMString pseudoElement = &quot;&quot;;
+};
</ins></span></pre>
</div>
</div>

</body>
</html>