<!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 <cdumez@apple.com>
+
+ 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 <gyuyoung.kim@webkit.org>
</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 "doremi"
</span><span class="cx"> PASS new BeforeLoadEvent('eventType', { url: '' }).url is ""
</span><del>-PASS new BeforeLoadEvent('eventType', { url: undefined }).url is "undefined"
</del><ins>+PASS new BeforeLoadEvent('eventType', { url: undefined }).url is ""
</ins><span class="cx"> PASS new BeforeLoadEvent('eventType', { url: null }).url is "null"
</span><span class="cx"> PASS new BeforeLoadEvent('eventType', { url: false }).url is "false"
</span><span class="cx"> PASS new BeforeLoadEvent('eventType', { url: true }).url is "true"
</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("new BeforeLoadEvent('eventType', { url: '' }).url", "");
</span><span class="cx">
</span><span class="cx"> // Non-strings.
</span><del>-shouldBeEqualToString("new BeforeLoadEvent('eventType', { url: undefined }).url", "undefined");
</del><ins>+shouldBeEqualToString("new BeforeLoadEvent('eventType', { url: undefined }).url", "");
</ins><span class="cx"> shouldBeEqualToString("new BeforeLoadEvent('eventType', { url: null }).url", "null");
</span><span class="cx"> shouldBeEqualToString("new BeforeLoadEvent('eventType', { url: false }).url", "false");
</span><span class="cx"> shouldBeEqualToString("new BeforeLoadEvent('eventType', { url: true }).url", "true");
</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 "koakuma"
</span><span class="cx"> PASS new CompositionEvent('eventType', { data: '' }).data is ""
</span><del>-PASS new CompositionEvent('eventType', { data: undefined }).data is "undefined"
</del><ins>+PASS new CompositionEvent('eventType', { data: undefined }).data is ""
</ins><span class="cx"> PASS new CompositionEvent('eventType', { data: null }).data is "null"
</span><span class="cx"> PASS new CompositionEvent('eventType', { data: false }).data is "false"
</span><span class="cx"> PASS new CompositionEvent('eventType', { data: true }).data is "true"
</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("new CompositionEvent('eventType', { data: '' }).data", "");
</span><span class="cx">
</span><span class="cx"> // Non-strings.
</span><del>-shouldBeEqualToString("new CompositionEvent('eventType', { data: undefined }).data", "undefined");
</del><ins>+shouldBeEqualToString("new CompositionEvent('eventType', { data: undefined }).data", "");
</ins><span class="cx"> shouldBeEqualToString("new CompositionEvent('eventType', { data: null }).data", "null");
</span><span class="cx"> shouldBeEqualToString("new CompositionEvent('eventType', { data: false }).data", "false");
</span><span class="cx"> shouldBeEqualToString("new CompositionEvent('eventType', { data: true }).data", "true");
</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 "melancholy"
</span><span class="cx"> PASS new ErrorEvent('eventType', { message: '' }).message is ""
</span><del>-PASS new ErrorEvent('eventType', { message: undefined }).message is "undefined"
</del><ins>+PASS new ErrorEvent('eventType', { message: undefined }).message is ""
</ins><span class="cx"> PASS new ErrorEvent('eventType', { message: null }).message is "null"
</span><span class="cx"> PASS new ErrorEvent('eventType', { message: false }).message is "false"
</span><span class="cx"> PASS new ErrorEvent('eventType', { message: true }).message is "true"
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> PASS new ErrorEvent('eventType', { message: {valueOf: function () { return 'melancholy'; } } }).message is "[object Object]"
</span><span class="cx"> PASS new ErrorEvent('eventType', { filename: 'melancholy' }).filename is "melancholy"
</span><span class="cx"> PASS new ErrorEvent('eventType', { filename: '' }).filename is ""
</span><del>-PASS new ErrorEvent('eventType', { filename: undefined }).filename is "undefined"
</del><ins>+PASS new ErrorEvent('eventType', { filename: undefined }).filename is ""
</ins><span class="cx"> PASS new ErrorEvent('eventType', { filename: null }).filename is "null"
</span><span class="cx"> PASS new ErrorEvent('eventType', { filename: false }).filename is "false"
</span><span class="cx"> PASS new ErrorEvent('eventType', { filename: true }).filename is "true"
</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("new ErrorEvent('eventType', { " + attr + ": '' })." + attr, "");
</span><span class="cx">
</span><span class="cx"> // Non-strings.
</span><del>- shouldBeEqualToString("new ErrorEvent('eventType', { " + attr + ": undefined })." + attr, "undefined");
</del><ins>+ shouldBeEqualToString("new ErrorEvent('eventType', { " + attr + ": undefined })." + attr, "");
</ins><span class="cx"> shouldBeEqualToString("new ErrorEvent('eventType', { " + attr + ": null })." + attr, "null");
</span><span class="cx"> shouldBeEqualToString("new ErrorEvent('eventType', { " + attr + ": false })." + attr, "false");
</span><span class="cx"> shouldBeEqualToString("new ErrorEvent('eventType', { " + attr + ": true })." + attr, "true");
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx"> shouldBe("new ErrorEvent('eventType', { colno: 4294967295 }).colno", "4294967295");
</span><span class="cx">
</span><span class="cx"> // error is passed.
</span><del>-shouldBe("new ErrorEvent('eventType', { error: undefined }).error", "undefined");
</del><ins>+shouldBe("new ErrorEvent('eventType', { error: undefined }).error", "null");
</ins><span class="cx"> shouldBe("new ErrorEvent('eventType', { error: null }).error", "null");
</span><span class="cx"> shouldBe("new ErrorEvent('eventType', { error: '' }).error", "''");
</span><span class="cx"> shouldBe("new ErrorEvent('eventType', { error: '12345' }).error", "'12345'");
</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("new FocusEvent('eventType', { relatedTarget: window }).relatedTarget", "window");
</span><span class="cx">
</span><span class="cx"> // Invalid objects.
</span><del>-shouldBe("new FocusEvent('eventType', { relatedTarget: testObject }).relatedTarget", "null");
</del><ins>+shouldThrowErrorName("new FocusEvent('eventType', { relatedTarget: testObject })", "TypeError");
</ins><span class="cx"> shouldBe("new FocusEvent('eventType', { relatedTarget: undefined }).relatedTarget", "null");
</span><span class="cx"> shouldBe("new FocusEvent('eventType', { relatedTarget: null }).relatedTarget", "null");
</span><del>-shouldBe("new FocusEvent('eventType', { relatedTarget: false }).relatedTarget", "null");
-shouldBe("new FocusEvent('eventType', { relatedTarget: true }).relatedTarget", "null");
-shouldBe("new FocusEvent('eventType', { relatedTarget: '' }).relatedTarget", "null");
-shouldBe("new FocusEvent('eventType', { relatedTarget: 'chocolate' }).relatedTarget", "null");
-shouldBe("new FocusEvent('eventType', { relatedTarget: 12345 }).relatedTarget", "null");
-shouldBe("new FocusEvent('eventType', { relatedTarget: 18446744073709551615 }).relatedTarget", "null");
-shouldBe("new FocusEvent('eventType', { relatedTarget: NaN }).relatedTarget", "null");
</del><ins>+shouldThrowErrorName("new FocusEvent('eventType', { relatedTarget: false })", "TypeError");
+shouldThrowErrorName("new FocusEvent('eventType', { relatedTarget: true })", "TypeError");
+shouldThrowErrorName("new FocusEvent('eventType', { relatedTarget: '' })", "TypeError");
+shouldThrowErrorName("new FocusEvent('eventType', { relatedTarget: 'chocolate' })", "TypeError");
+shouldThrowErrorName("new FocusEvent('eventType', { relatedTarget: 12345 })", "TypeError");
+shouldThrowErrorName("new FocusEvent('eventType', { relatedTarget: 18446744073709551615 })", "TypeError");
+shouldThrowErrorName("new FocusEvent('eventType', { relatedTarget: NaN })", "TypeError");
</ins><span class="cx"> // Note that valueOf() is not called, when the left hand side is evaluated.
</span><del>-shouldBeFalse("new FocusEvent('eventType', { relatedTarget: {valueOf: function () { return testDiv; } } }).relatedTarget == testDiv");
-shouldBe("new FocusEvent('eventType', { get relatedTarget() { return 123; } }).relatedTarget", "null");
</del><ins>+shouldThrowErrorName("new FocusEvent('eventType', { relatedTarget: {valueOf: function () { return testDiv; } } })", "TypeError");
+shouldThrowErrorName("new FocusEvent('eventType', { get relatedTarget() { return 123; } })", "TypeError");
</ins><span class="cx"> shouldThrow("new FocusEvent('eventType', { get relatedTarget() { throw 'FocusEvent Error'; } })");
</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 "doremi"
</span><span class="cx"> PASS new HashChangeEvent('eventType', { oldURL: '' }).oldURL is ""
</span><del>-PASS new HashChangeEvent('eventType', { oldURL: undefined }).oldURL is "undefined"
</del><ins>+PASS new HashChangeEvent('eventType', { oldURL: undefined }).oldURL is ""
</ins><span class="cx"> PASS new HashChangeEvent('eventType', { oldURL: null }).oldURL is "null"
</span><span class="cx"> PASS new HashChangeEvent('eventType', { oldURL: false }).oldURL is "false"
</span><span class="cx"> PASS new HashChangeEvent('eventType', { oldURL: true }).oldURL is "true"
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> PASS new HashChangeEvent('eventType', { oldURL: {valueOf: function () { return 'doremi'; } } }).oldURL is "[object Object]"
</span><span class="cx"> PASS new HashChangeEvent('eventType', { newURL: 'doremi' }).newURL is "doremi"
</span><span class="cx"> PASS new HashChangeEvent('eventType', { newURL: '' }).newURL is ""
</span><del>-PASS new HashChangeEvent('eventType', { newURL: undefined }).newURL is "undefined"
</del><ins>+PASS new HashChangeEvent('eventType', { newURL: undefined }).newURL is ""
</ins><span class="cx"> PASS new HashChangeEvent('eventType', { newURL: null }).newURL is "null"
</span><span class="cx"> PASS new HashChangeEvent('eventType', { newURL: false }).newURL is "false"
</span><span class="cx"> PASS new HashChangeEvent('eventType', { newURL: true }).newURL is "true"
</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("new HashChangeEvent('eventType', { " + attr + ": '' })." + attr, "");
</span><span class="cx">
</span><span class="cx"> // Non-strings.
</span><del>- shouldBeEqualToString("new HashChangeEvent('eventType', { " + attr + ": undefined })." + attr, "undefined");
</del><ins>+ shouldBeEqualToString("new HashChangeEvent('eventType', { " + attr + ": undefined })." + attr, "");
</ins><span class="cx"> shouldBeEqualToString("new HashChangeEvent('eventType', { " + attr + ": null })." + attr, "null");
</span><span class="cx"> shouldBeEqualToString("new HashChangeEvent('eventType', { " + attr + ": false })." + attr, "false");
</span><span class="cx"> shouldBeEqualToString("new HashChangeEvent('eventType', { " + attr + ": true })." + attr, "true");
</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("new PopStateEvent('eventType', { state: object1 }).state", "object1");
</span><span class="cx"> shouldBe("new PopStateEvent('eventType', { state: document }).state", "document");
</span><del>-shouldBe("new PopStateEvent('eventType', { state: undefined }).state", "undefined");
</del><ins>+shouldBe("new PopStateEvent('eventType', { state: undefined }).state", "null");
</ins><span class="cx"> shouldBe("new PopStateEvent('eventType', { state: null }).state", "null");
</span><span class="cx"> shouldBe("new PopStateEvent('eventType', { state: false }).state", "false");
</span><span class="cx"> shouldBe("new PopStateEvent('eventType', { state: true }).state", "true");
</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 "doremi"
</span><span class="cx"> PASS new TransitionEvent('eventType', { propertyName: '' }).propertyName is ""
</span><del>-PASS new TransitionEvent('eventType', { propertyName: undefined }).propertyName is "undefined"
</del><ins>+PASS new TransitionEvent('eventType', { propertyName: undefined }).propertyName is ""
</ins><span class="cx"> PASS new TransitionEvent('eventType', { propertyName: null }).propertyName is "null"
</span><span class="cx"> PASS new TransitionEvent('eventType', { propertyName: false }).propertyName is "false"
</span><span class="cx"> PASS new TransitionEvent('eventType', { propertyName: true }).propertyName is "true"
</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 "::before"
</span><span class="cx"> PASS new TransitionEvent('eventType', { pseudoElement: '' }).pseudoElement is ""
</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("new TransitionEvent('eventType', { propertyName: '' }).propertyName", "");
</span><span class="cx">
</span><span class="cx"> // Non-strings.
</span><del>-shouldBeEqualToString("new TransitionEvent('eventType', { propertyName: undefined }).propertyName", "undefined");
</del><ins>+shouldBeEqualToString("new TransitionEvent('eventType', { propertyName: undefined }).propertyName", "");
</ins><span class="cx"> shouldBeEqualToString("new TransitionEvent('eventType', { propertyName: null }).propertyName", "null");
</span><span class="cx"> shouldBeEqualToString("new TransitionEvent('eventType', { propertyName: false }).propertyName", "false");
</span><span class="cx"> shouldBeEqualToString("new TransitionEvent('eventType', { propertyName: true }).propertyName", "true");
</span><span class="lines">@@ -47,9 +47,9 @@
</span><span class="cx"> shouldBe("new TransitionEvent('eventType', { elapsedTime: 123.45 }).elapsedTime", "123.45");
</span><span class="cx"> shouldBe("new TransitionEvent('eventType', { elapsedTime: -123.45 }).elapsedTime", "-123.45");
</span><span class="cx"> shouldBe("new TransitionEvent('eventType', { elapsedTime: 18446744073709551615 }).elapsedTime", "18446744073709551615");
</span><del>-shouldBe("new TransitionEvent('eventType', { elapsedTime: NaN }).elapsedTime", "NaN");
-shouldBe("new TransitionEvent('eventType', { elapsedTime: Infinity }).elapsedTime", "Infinity");
-shouldBe("new TransitionEvent('eventType', { elapsedTime: -Infinity }).elapsedTime", "-Infinity");
</del><ins>+shouldThrowErrorName("new TransitionEvent('eventType', { elapsedTime: NaN }).elapsedTime", "TypeError");
+shouldThrowErrorName("new TransitionEvent('eventType', { elapsedTime: Infinity }).elapsedTime", "TypeError");
+shouldThrowErrorName("new TransitionEvent('eventType', { elapsedTime: -Infinity }).elapsedTime", "TypeError");
</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("new TransitionEvent('eventType', { pseudoElement: '' }).pseudoElement", "");
</span><span class="cx">
</span><span class="cx"> // Non-numeric values.
</span><del>-shouldBe("new TransitionEvent('eventType', { elapsedTime: undefined }).elapsedTime", "NaN");
</del><ins>+shouldBe("new TransitionEvent('eventType', { elapsedTime: undefined }).elapsedTime", "0");
</ins><span class="cx"> shouldBe("new TransitionEvent('eventType', { elapsedTime: null }).elapsedTime", "0");
</span><span class="cx"> shouldBe("new TransitionEvent('eventType', { elapsedTime: false }).elapsedTime", "0");
</span><span class="cx"> shouldBe("new TransitionEvent('eventType', { elapsedTime: true }).elapsedTime", "1");
</span><span class="cx"> shouldBe("new TransitionEvent('eventType', { elapsedTime: '' }).elapsedTime", "0");
</span><del>-shouldBe("new TransitionEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime", "NaN");
</del><ins>+shouldThrowErrorName("new TransitionEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime", "TypeError");
</ins><span class="cx"> shouldBe("new TransitionEvent('eventType', { elapsedTime: [] }).elapsedTime", "0");
</span><span class="cx"> shouldBe("new TransitionEvent('eventType', { elapsedTime: [123.45] }).elapsedTime", "123.45");
</span><del>-shouldBe("new TransitionEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime", "NaN");
-shouldBe("new TransitionEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime", "NaN");
</del><ins>+shouldThrowErrorName("new TransitionEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime", "TypeError");
+shouldThrowErrorName("new TransitionEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime", "TypeError");
</ins><span class="cx"> shouldBe("new TransitionEvent('eventType', { elapsedTime: {valueOf: function () { return 123.45 } } }).elapsedTime", "123.45");
</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 "doremi"
</span><span class="cx"> PASS new WebKitAnimationEvent('eventType', { animationName: '' }).animationName is ""
</span><del>-PASS new WebKitAnimationEvent('eventType', { animationName: undefined }).animationName is "undefined"
</del><ins>+PASS new WebKitAnimationEvent('eventType', { animationName: undefined }).animationName is ""
</ins><span class="cx"> PASS new WebKitAnimationEvent('eventType', { animationName: null }).animationName is "null"
</span><span class="cx"> PASS new WebKitAnimationEvent('eventType', { animationName: false }).animationName is "false"
</span><span class="cx"> PASS new WebKitAnimationEvent('eventType', { animationName: true }).animationName is "true"
</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("new WebKitAnimationEvent('eventType', { animationName: '' }).animationName", "");
</span><span class="cx">
</span><span class="cx"> // Non-strings.
</span><del>-shouldBeEqualToString("new WebKitAnimationEvent('eventType', { animationName: undefined }).animationName", "undefined");
</del><ins>+shouldBeEqualToString("new WebKitAnimationEvent('eventType', { animationName: undefined }).animationName", "");
</ins><span class="cx"> shouldBeEqualToString("new WebKitAnimationEvent('eventType', { animationName: null }).animationName", "null");
</span><span class="cx"> shouldBeEqualToString("new WebKitAnimationEvent('eventType', { animationName: false }).animationName", "false");
</span><span class="cx"> shouldBeEqualToString("new WebKitAnimationEvent('eventType', { animationName: true }).animationName", "true");
</span><span class="lines">@@ -46,21 +46,21 @@
</span><span class="cx"> shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: 123.45 }).elapsedTime", "123.45");
</span><span class="cx"> shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: -123.45 }).elapsedTime", "-123.45");
</span><span class="cx"> shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: 18446744073709551615 }).elapsedTime", "18446744073709551615");
</span><del>-shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: NaN }).elapsedTime", "NaN");
-shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: Infinity }).elapsedTime", "Infinity");
-shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: -Infinity }).elapsedTime", "-Infinity");
</del><ins>+shouldThrowErrorName("new WebKitAnimationEvent('eventType', { elapsedTime: NaN }).elapsedTime", "TypeError");
+shouldThrowErrorName("new WebKitAnimationEvent('eventType', { elapsedTime: Infinity }).elapsedTime", "TypeError");
+shouldThrowErrorName("new WebKitAnimationEvent('eventType', { elapsedTime: -Infinity }).elapsedTime", "TypeError");
</ins><span class="cx">
</span><span class="cx"> // Non-numeric values.
</span><del>-shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: undefined }).elapsedTime", "NaN");
</del><ins>+shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: undefined }).elapsedTime", "0");
</ins><span class="cx"> shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: null }).elapsedTime", "0");
</span><span class="cx"> shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: false }).elapsedTime", "0");
</span><span class="cx"> shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: true }).elapsedTime", "1");
</span><span class="cx"> shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: '' }).elapsedTime", "0");
</span><del>-shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime", "NaN");
</del><ins>+shouldThrowErrorName("new WebKitAnimationEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime", "TypeError");
</ins><span class="cx"> shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: [] }).elapsedTime", "0");
</span><span class="cx"> shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: [123.45] }).elapsedTime", "123.45");
</span><del>-shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime", "NaN");
-shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime", "NaN");
</del><ins>+shouldThrowErrorName("new WebKitAnimationEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime", "TypeError");
+shouldThrowErrorName("new WebKitAnimationEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime", "TypeError");
</ins><span class="cx"> shouldBe("new WebKitAnimationEvent('eventType', { elapsedTime: {valueOf: function () { return 123.45 } } }).elapsedTime", "123.45");
</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 "doremi"
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { propertyName: '' }).propertyName is ""
</span><del>-PASS new WebKitTransitionEvent('eventType', { propertyName: undefined }).propertyName is "undefined"
</del><ins>+PASS new WebKitTransitionEvent('eventType', { propertyName: undefined }).propertyName is ""
</ins><span class="cx"> PASS new WebKitTransitionEvent('eventType', { propertyName: null }).propertyName is "null"
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { propertyName: false }).propertyName is "false"
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { propertyName: true }).propertyName is "true"
</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 "::before"
</span><span class="cx"> PASS new WebKitTransitionEvent('eventType', { pseudoElement: '' }).pseudoElement is ""
</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("new WebKitTransitionEvent('eventType', { propertyName: '' }).propertyName", "");
</span><span class="cx">
</span><span class="cx"> // Non-strings.
</span><del>-shouldBeEqualToString("new WebKitTransitionEvent('eventType', { propertyName: undefined }).propertyName", "undefined");
</del><ins>+shouldBeEqualToString("new WebKitTransitionEvent('eventType', { propertyName: undefined }).propertyName", "");
</ins><span class="cx"> shouldBeEqualToString("new WebKitTransitionEvent('eventType', { propertyName: null }).propertyName", "null");
</span><span class="cx"> shouldBeEqualToString("new WebKitTransitionEvent('eventType', { propertyName: false }).propertyName", "false");
</span><span class="cx"> shouldBeEqualToString("new WebKitTransitionEvent('eventType', { propertyName: true }).propertyName", "true");
</span><span class="lines">@@ -47,9 +47,9 @@
</span><span class="cx"> shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: 123.45 }).elapsedTime", "123.45");
</span><span class="cx"> shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: -123.45 }).elapsedTime", "-123.45");
</span><span class="cx"> shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: 18446744073709551615 }).elapsedTime", "18446744073709551615");
</span><del>-shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: NaN }).elapsedTime", "NaN");
-shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: Infinity }).elapsedTime", "Infinity");
-shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: -Infinity }).elapsedTime", "-Infinity");
</del><ins>+shouldThrowErrorName("new WebKitTransitionEvent('eventType', { elapsedTime: NaN }).elapsedTime", "TypeError");
+shouldThrowErrorName("new WebKitTransitionEvent('eventType', { elapsedTime: Infinity }).elapsedTime", "TypeError");
+shouldThrowErrorName("new WebKitTransitionEvent('eventType', { elapsedTime: -Infinity }).elapsedTime", "TypeError");
</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("new WebKitTransitionEvent('eventType', { pseudoElement: '' }).pseudoElement", "");
</span><span class="cx">
</span><span class="cx"> // Non-numeric values.
</span><del>-shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: undefined }).elapsedTime", "NaN");
</del><ins>+shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: undefined }).elapsedTime", "0");
</ins><span class="cx"> shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: null }).elapsedTime", "0");
</span><span class="cx"> shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: false }).elapsedTime", "0");
</span><span class="cx"> shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: true }).elapsedTime", "1");
</span><span class="cx"> shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: '' }).elapsedTime", "0");
</span><del>-shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime", "NaN");
</del><ins>+shouldThrowErrorName("new WebKitTransitionEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime", "TypeError");
</ins><span class="cx"> shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: [] }).elapsedTime", "0");
</span><span class="cx"> shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: [123.45] }).elapsedTime", "123.45");
</span><del>-shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime", "NaN");
-shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime", "NaN");
</del><ins>+shouldThrowErrorName("new WebKitTransitionEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime", "TypeError");
+shouldThrowErrorName("new WebKitTransitionEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime", "TypeError");
</ins><span class="cx"> shouldBe("new WebKitTransitionEvent('eventType', { elapsedTime: {valueOf: function () { return 123.45 } } }).elapsedTime", "123.45");
</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 <cdumez@apple.com>
</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 <cdumez@apple.com>
+
</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<AutocompleteErrorEvent> 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<AutocompleteErrorEvent> create(const AtomicString& eventType, const AutocompleteErrorEventInit& initializer)
</del><ins>+ struct Init : EventInit {
+ String reason;
+ };
+
+ static Ref<AutocompleteErrorEvent> create(const AtomicString& eventType, const Init& 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& 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& eventType, const AutocompleteErrorEventInit& initializer)
- : Event(eventType, initializer)
</del><ins>+ AutocompleteErrorEvent(const AtomicString& eventType, const Init& 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 = "";
+};
</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<BeforeLoadEvent> create(const String& 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<BeforeLoadEvent> createForBindings(const AtomicString& type, const BeforeLoadEventInit& initializer)
</del><ins>+ struct Init : EventInit {
+ String url;
+ };
+
+ static Ref<BeforeLoadEvent> create(const AtomicString& type, const Init& 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& 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& type, const BeforeLoadEventInit& initializer)
- : Event(type, initializer)
</del><ins>+ BeforeLoadEvent(const AtomicString& type, const Init& 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 = "";
+};
</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& type, const CompositionEventInit& initializer)
- : UIEvent(type, initializer)
</del><ins>+CompositionEvent::CompositionEvent(const AtomicString& type, const Init& 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<CompositionEvent> create(const AtomicString& type, DOMWindow* view, const String& 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<CompositionEvent> createForBindings(const AtomicString& type, const CompositionEventInit& initializer)
</del><ins>+ struct Init : UIEventInit {
+ String data;
+ };
+
+ static Ref<CompositionEvent> create(const AtomicString& type, const Init& 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& type, DOMWindow*, const String&);
</span><del>- CompositionEvent(const AtomicString& type, const CompositionEventInit&);
</del><ins>+ CompositionEvent(const AtomicString& type, const Init&, 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 "undefined" as default parameter value is wrong.
</span><span class="cx"> void initCompositionEvent(optional DOMString typeArg = "undefined",
</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 = "";
+};
</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& type, const ErrorEventInit& initializer)
- : Event(type, initializer)
</del><ins>+ErrorEvent::ErrorEvent(ExecState& state, const AtomicString& type, const Init& 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<ErrorEvent> create(const String& message, const String& fileName, unsigned lineNumber, unsigned columnNumber, const Deprecated::ScriptValue& 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<ErrorEvent> createForBindings(const AtomicString& type, const ErrorEventInit& initializer)
</del><ins>+ struct Init : EventInit {
+ String message;
+ String filename;
+ unsigned lineno { 0 };
+ unsigned colno { 0 };
+ JSC::JSValue error;
+ };
+
+ static Ref<ErrorEvent> create(JSC::ExecState& state, const AtomicString& type, const Init& 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& message, const String& fileName, unsigned lineNumber, unsigned columnNumber, const Deprecated::ScriptValue& error);
</span><del>- ErrorEvent(const AtomicString&, const ErrorEventInit&);
</del><ins>+ ErrorEvent(JSC::ExecState&, const AtomicString&, const Init&, IsTrusted);
</ins><span class="cx">
</span><span class="cx"> RefPtr<SerializedScriptValue> trySerializeError(JSC::ExecState&);
</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 = "";
+ USVString filename = "";
+ 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& type, const FocusEventInit& initializer)
- : UIEvent(type, initializer)
</del><ins>+FocusEvent::FocusEvent(const AtomicString& type, const Init& 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<EventTarget> relatedTarget;
-};
-
</del><span class="cx"> class FocusEvent final : public UIEvent {
</span><span class="cx"> public:
</span><span class="cx"> static Ref<FocusEvent> create(const AtomicString& type, bool canBubble, bool cancelable, DOMWindow* view, int detail, RefPtr<EventTarget>&& 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<FocusEvent> createForBindings(const AtomicString& type, const FocusEventInit& initializer)
</del><ins>+ struct Init : UIEventInit {
+ RefPtr<EventTarget> relatedTarget;
+ };
+
+ static Ref<FocusEvent> create(const AtomicString& type, const Init& 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& type, bool canBubble, bool cancelable, DOMWindow*, int, RefPtr<EventTarget>&&);
</span><del>- FocusEvent(const AtomicString& type, const FocusEventInit&);
</del><ins>+ FocusEvent(const AtomicString& type, const Init&, 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<HashChangeEvent> create(const String& oldURL, const String& 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<HashChangeEvent> createForBindings(const AtomicString& type, const HashChangeEventInit& initializer)
</del><ins>+ struct Init : EventInit {
+ String oldURL;
+ String newURL;
+ };
+
+ static Ref<HashChangeEvent> create(const AtomicString& type, const Init& 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& eventType, bool canBubble, bool cancelable, const String& oldURL, const String& 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& type, const HashChangeEventInit& initializer)
- : Event(type, initializer)
</del><ins>+ HashChangeEvent(const AtomicString& type, const Init& 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 "undefined" as default parameter value is wrong.
</span><span class="cx"> void initHashChangeEvent(optional DOMString type = "undefined",
</span><span class="lines">@@ -27,7 +27,12 @@
</span><span class="cx"> optional boolean cancelable = false,
</span><span class="cx"> optional USVString oldURL = "undefined",
</span><span class="cx"> optional USVString newURL = "undefined");
</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 = "";
+ USVString newURL = "";
+};
</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& type, const OverflowEventInit& initializer)
- : Event(type, initializer)
</del><ins>+OverflowEvent::OverflowEvent(const AtomicString& type, const Init& 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<OverflowEvent> createForBindings()
</span><span class="cx"> {
</span><span class="cx"> return adoptRef(*new OverflowEvent);
</span><span class="cx"> }
</span><del>- static Ref<OverflowEvent> createForBindings(const AtomicString& type, const OverflowEventInit& initializer)
</del><ins>+
+ struct Init : EventInit {
+ unsigned short orient { 0 };
+ bool horizontalOverflow { false };
+ bool verticalOverflow { false };
+ };
+
+ static Ref<OverflowEvent> create(const AtomicString& type, const Init& 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&, const OverflowEventInit&);
</del><ins>+ OverflowEvent(const AtomicString&, const Init&, 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& type, const PageTransitionEventInit& initializer)
- : Event(type, initializer)
</del><ins>+PageTransitionEvent::PageTransitionEvent(const AtomicString& type, const Init& 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<PageTransitionEvent> create(const AtomicString& 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<PageTransitionEvent> createForBindings(const AtomicString& type, const PageTransitionEventInit& initializer)
</del><ins>+
+ struct Init : EventInit {
+ bool persisted { false };
+ };
+
+ static Ref<PageTransitionEvent> create(const AtomicString& type, const Init& 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& type, bool persisted);
</span><del>- PageTransitionEvent(const AtomicString&, const PageTransitionEventInit&);
</del><ins>+ PageTransitionEvent(const AtomicString&, const Init&, 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& type, const PopStateEventInit& initializer)
- : Event(type, initializer)
- , m_state(initializer.state)
</del><ins>+PopStateEvent::PopStateEvent(JSC::ExecState& state, const AtomicString& type, const Init& 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<PopStateEvent> PopStateEvent::createForBindings(const AtomicString& type, const PopStateEventInit& initializer)
</del><ins>+Ref<PopStateEvent> PopStateEvent::create(JSC::ExecState& state, const AtomicString& type, const Init& 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<PopStateEvent> 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<PopStateEvent> create(RefPtr<SerializedScriptValue>&&, PassRefPtr<History>);
</span><del>- static Ref<PopStateEvent> createForBindings(const AtomicString&, const PopStateEventInit&);
</del><ins>+
+ struct Init : EventInit {
+ JSC::JSValue state;
+ };
+
+ static Ref<PopStateEvent> create(JSC::ExecState&, const AtomicString&, const Init&, IsTrusted = IsTrusted::No);
</ins><span class="cx"> static Ref<PopStateEvent> 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&, const PopStateEventInit&);
</del><ins>+ PopStateEvent(JSC::ExecState&, const AtomicString&, const Init&, IsTrusted);
</ins><span class="cx"> explicit PopStateEvent(PassRefPtr<SerializedScriptValue>, PassRefPtr<History>);
</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<SecurityPolicyViolationEvent> create(const AtomicString& type, bool canBubble, bool cancelable, const String& documentURI, const String& referrer, const String& blockedURI, const String& violatedDirective, const String& effectiveDirective, const String& originalPolicy, const String& 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<SecurityPolicyViolationEvent> createForBindings(const AtomicString& type, const SecurityPolicyViolationEventInit& 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<SecurityPolicyViolationEvent> create(const AtomicString& type, const Init& 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& 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& type, const SecurityPolicyViolationEventInit& initializer)
- : Event(type, initializer)
</del><ins>+ SecurityPolicyViolationEvent(const AtomicString& type, const Init& 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 = "";
+ DOMString referrer = "";
+ USVString blockedURI = "";
+ DOMString violatedDirective = "";
+ DOMString effectiveDirective = "";
+ DOMString originalPolicy = "";
+ USVString sourceFile = "";
+ 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& type, const TouchEventInit& initializer)
- : MouseRelatedEvent(type, initializer)
</del><ins>+TouchEvent::TouchEvent(const AtomicString& type, const Init& 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<TouchList> touches;
- RefPtr<TouchList> targetTouches;
- RefPtr<TouchList> 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<TouchEvent> createForBindings(const AtomicString& type, const TouchEventInit& initializer)
</del><ins>+
+ struct Init : MouseRelatedEventInit {
+ RefPtr<TouchList> touches;
+ RefPtr<TouchList> targetTouches;
+ RefPtr<TouchList> changedTouches;
+ };
+
+ static Ref<TouchEvent> create(const AtomicString& type, const Init& 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&, const TouchEventInit&);
</del><ins>+ TouchEvent(const AtomicString&, const Init&, IsTrusted);
</ins><span class="cx">
</span><span class="cx"> RefPtr<TouchList> m_touches;
</span><span class="cx"> RefPtr<TouchList> 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& type, const TransitionEventInit& initializer)
- : Event(type, initializer)
</del><ins>+TransitionEvent::TransitionEvent(const AtomicString& type, const Init& 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<TransitionEvent> create(const AtomicString& type, const String& propertyName, double elapsedTime, const String& 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<TransitionEvent> createForBindings(const AtomicString& type, const TransitionEventInit& initializer)
</del><ins>+
+ struct Init : EventInit {
+ String propertyName;
+ double elapsedTime { 0 };
+ String pseudoElement;
+ };
+
+ static Ref<TransitionEvent> create(const AtomicString& type, const Init& 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& type, const String& propertyName, double elapsedTime, const String& pseudoElement);
</span><del>- TransitionEvent(const AtomicString& type, const TransitionEventInit& initializer);
</del><ins>+ TransitionEvent(const AtomicString& type, const Init& 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 = "";
+ double elapsedTime = 0.0;
+ DOMString pseudoElement = "";
+};
</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& type, const WebKitAnimationEventInit& initializer)
- : Event(type, initializer)
</del><ins>+WebKitAnimationEvent::WebKitAnimationEvent(const AtomicString& type, const Init& 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<WebKitAnimationEvent> create(const AtomicString& type, const String& 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<WebKitAnimationEvent> createForBindings(const AtomicString& type, const WebKitAnimationEventInit& initializer)
</del><ins>+
+ struct Init : EventInit {
+ String animationName;
+ double elapsedTime { 0.0 };
+ };
+
+ static Ref<WebKitAnimationEvent> create(const AtomicString& type, const Init& 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& type, const String& animationName, double elapsedTime);
</span><del>- WebKitAnimationEvent(const AtomicString&, const WebKitAnimationEventInit&);
</del><ins>+ WebKitAnimationEvent(const AtomicString&, const Init&, 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 = "";
+ 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& type, const WebKitTransitionEventInit& initializer)
- : Event(type, initializer)
</del><ins>+WebKitTransitionEvent::WebKitTransitionEvent(const AtomicString& type, const Init& 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<WebKitTransitionEvent> create(const AtomicString& type, const String& propertyName, double elapsedTime, const String& 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<WebKitTransitionEvent> createForBindings(const AtomicString& type, const WebKitTransitionEventInit& initializer)
</del><ins>+
+ struct Init : EventInit {
+ String propertyName;
+ double elapsedTime { 0 };
+ String pseudoElement;
+ };
+
+ static Ref<WebKitTransitionEvent> create(const AtomicString& type, const Init& 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& type, const String& propertyName, double elapsedTime, const String& pseudoElement);
</span><del>- WebKitTransitionEvent(const AtomicString& type, const WebKitTransitionEventInit& initializer);
</del><ins>+ WebKitTransitionEvent(const AtomicString& type, const Init& 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 = "";
+ double elapsedTime = 0;
+ DOMString pseudoElement = "";
+};
</ins></span></pre>
</div>
</div>
</body>
</html>