<!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>[206723] 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/206723">206723</a></dd>
<dt>Author</dt> <dd>darin@apple.com</dd>
<dt>Date</dt> <dd>2016-10-02 14:28:31 -0700 (Sun, 02 Oct 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Rename ExceptionCode-based exception handling to &quot;legacy&quot;
https://bugs.webkit.org/show_bug.cgi?id=162859

Reviewed by Chris Dumez.

Source/WebCore:

RaisesException is now MayThrowLegacyException.

A follow-up patch soon will add MayThrowException for the new style,
where we use ExceptionOr&lt;&gt; as the return type instead of an ExceptionCode
out argument.

* bindings/scripts/CodeGeneratorJS.pm:
Removed the quotation marks from the syntax object-&gt;{PropertyName} so the
renaming script could handle it. Tweaked various comments and logic for clarity.
Changed to use the perl &quot;x if y&quot; syntax for brevity in many places.
Renamed with the script and by hand. Added code to skip including the same header
in both the implementation file and the header, just to make generated bindings
slightly smaller and faster to compile. Used &quot;using&quot; instead of &quot;typedef&quot;.

* bindings/scripts/IDLAttributes.txt: Updated from old names to new ones.

* Modules/applepay/ApplePaySession.idl:
* Modules/encryptedmedia/MediaKeySession.idl:
* Modules/encryptedmedia/MediaKeys.idl:
* Modules/fetch/FetchHeaders.idl:
* Modules/fetch/FetchRequest.idl:
* Modules/fetch/FetchResponse.idl:
* Modules/indexeddb/IDBCursor.idl:
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBFactory.idl:
* Modules/indexeddb/IDBIndex.idl:
* Modules/indexeddb/IDBKeyRange.idl:
* Modules/indexeddb/IDBObjectStore.idl:
* Modules/indexeddb/IDBRequest.idl:
* Modules/indexeddb/IDBTransaction.idl:
* Modules/mediasource/MediaSource.idl:
* Modules/mediasource/SourceBuffer.idl:
* Modules/mediastream/MediaDevices.idl:
* Modules/mediastream/RTCDTMFSender.idl:
* Modules/mediastream/RTCDataChannel.idl:
* Modules/mediastream/RTCIceCandidate.idl:
* Modules/mediastream/RTCPeerConnection.idl:
* Modules/mediastream/RTCRtpSender.idl:
* Modules/mediastream/RTCSessionDescription.idl:
* Modules/navigatorcontentutils/NavigatorContentUtils.idl:
* Modules/notifications/NotificationCenter.idl:
* Modules/webaudio/AnalyserNode.idl:
* Modules/webaudio/AudioBuffer.idl:
* Modules/webaudio/AudioBufferSourceNode.idl:
* Modules/webaudio/AudioContext.idl:
* Modules/webaudio/AudioNode.idl:
* Modules/webaudio/ConvolverNode.idl:
* Modules/webaudio/OfflineAudioContext.idl:
* Modules/webaudio/OscillatorNode.idl:
* Modules/webdatabase/DOMWindowWebDatabase.idl:
* Modules/webdatabase/SQLResultSet.idl:
* Modules/websockets/WebSocket.idl:
* bindings/scripts/test/TestImplements.idl:
* bindings/scripts/test/TestInterface.idl:
* bindings/scripts/test/TestNamedConstructor.idl:
* bindings/scripts/test/TestNondeterministic.idl:
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/TestSupplemental.idl:
* bindings/scripts/test/TestTypedefs.idl:
* css/CSSCharsetRule.idl:
* css/CSSMediaRule.idl:
* css/CSSPrimitiveValue.idl:
* css/CSSRule.idl:
* css/CSSStyleDeclaration.idl:
* css/CSSStyleSheet.idl:
* css/CSSSupportsRule.idl:
* css/CSSValue.idl:
* css/FontFace.idl:
* css/FontFaceSet.idl:
* css/MediaList.idl:
* css/WebKitCSSMatrix.idl:
* dom/CharacterData.idl:
* dom/ChildNode.idl:
* dom/CustomElementRegistry.idl:
* dom/DataTransferItemList.idl:
* dom/Document.idl:
* dom/Element.idl:
* dom/EventTarget.idl:
* dom/MessagePort.idl:
* dom/MutationObserver.idl:
* dom/NamedNodeMap.idl:
* dom/Node.idl:
* dom/ParentNode.idl:
* dom/Range.idl:
* dom/ShadowRoot.idl:
* dom/Text.idl:
* fileapi/FileReader.idl:
* fileapi/FileReaderSync.idl:
* html/DOMTokenList.idl:
* html/DOMURL.idl:
* html/HTMLCanvasElement.idl:
* html/HTMLElement.idl:
* html/HTMLEmbedElement.idl:
* html/HTMLFrameElement.idl:
* html/HTMLIFrameElement.idl:
* html/HTMLInputElement.idl:
* html/HTMLMarqueeElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLObjectElement.idl:
* html/HTMLOptionElement.idl:
* html/HTMLOptionsCollection.idl:
* html/HTMLProgressElement.idl:
* html/HTMLSelectElement.idl:
* html/HTMLTableElement.idl:
* html/HTMLTableRowElement.idl:
* html/HTMLTableSectionElement.idl:
* html/HTMLTextAreaElement.idl:
* html/HTMLVideoElement.idl:
* html/ImageData.idl:
* html/MediaController.idl:
* html/TimeRanges.idl:
* html/URLUtils.idl:
* html/canvas/CanvasGradient.idl:
* html/canvas/CanvasPath.idl:
* html/canvas/CanvasRenderingContext2D.idl:
* html/canvas/OESVertexArrayObject.idl:
* html/canvas/WebGLRenderingContextBase.idl:
* html/track/DataCue.idl:
* html/track/TextTrack.idl:
* html/track/TextTrackCue.idl:
* html/track/VTTCue.idl:
* html/track/VTTRegion.idl:
* loader/appcache/DOMApplicationCache.idl:
* page/Crypto.idl:
* page/DOMSelection.idl:
* page/DOMWindow.idl:
* page/EventSource.idl:
* page/History.idl:
* page/Location.idl:
* page/Performance.idl:
* page/UserMessageHandler.idl:
* page/WindowOrWorkerGlobalScope.idl:
* storage/Storage.idl:
* svg/SVGAltGlyphElement.idl:
* svg/SVGAngle.idl:
* svg/SVGAnimatedBoolean.idl:
* svg/SVGAnimatedEnumeration.idl:
* svg/SVGAnimatedInteger.idl:
* svg/SVGAnimatedNumber.idl:
* svg/SVGAnimatedString.idl:
* svg/SVGAnimationElement.idl:
* svg/SVGColor.idl:
* svg/SVGGlyphRefElement.idl:
* svg/SVGGraphicsElement.idl:
* svg/SVGLength.idl:
* svg/SVGLengthList.idl:
* svg/SVGMatrix.idl:
* svg/SVGNumberList.idl:
* svg/SVGPaint.idl:
* svg/SVGPathSegList.idl:
* svg/SVGPointList.idl:
* svg/SVGPreserveAspectRatio.idl:
* svg/SVGStringList.idl:
* svg/SVGStyleElement.idl:
* svg/SVGTextContentElement.idl:
* svg/SVGTransformList.idl:
* svg/SVGViewSpec.idl:
* testing/InternalSettings.idl:
* testing/Internals.idl:
* workers/DedicatedWorkerGlobalScope.idl:
* workers/Worker.idl:
* xml/DOMParser.idl:
* xml/XMLHttpRequest.idl:
* xml/XPathEvaluator.idl:
* xml/XPathExpression.idl:
* xml/XPathResult.idl:
Allowed the rename script to rename the exception-related extended attributes.

* bindings/scripts/test/JS/JSInterfaceName.cpp:
* bindings/scripts/test/JS/JSInterfaceName.h:
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
* bindings/scripts/test/JS/JSTestActiveDOMObject.h:
* bindings/scripts/test/JS/JSTestCallback.cpp:
* bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
* bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
* bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
* bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h:
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
* bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
* bindings/scripts/test/JS/JSTestEventConstructor.h:
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
* bindings/scripts/test/JS/JSTestEventTarget.h:
* bindings/scripts/test/JS/JSTestException.cpp:
* bindings/scripts/test/JS/JSTestException.h:
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
* bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
* bindings/scripts/test/JS/JSTestGlobalObject.cpp:
* bindings/scripts/test/JS/JSTestGlobalObject.h:
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestInterface.h:
* bindings/scripts/test/JS/JSTestIterable.cpp:
* bindings/scripts/test/JS/JSTestIterable.h:
* bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
* bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
* bindings/scripts/test/JS/JSTestNamedConstructor.h:
* bindings/scripts/test/JS/JSTestNode.cpp:
* bindings/scripts/test/JS/JSTestNode.h:
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
* bindings/scripts/test/JS/JSTestNondeterministic.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
* bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
* bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
* bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h:
* bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
* bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
* bindings/scripts/test/JS/JSTestTypedefs.h:
* bindings/scripts/test/JS/JSattribute.cpp:
* bindings/scripts/test/JS/JSattribute.h:
* bindings/scripts/test/JS/JSreadonly.cpp:
* bindings/scripts/test/JS/JSreadonly.h:
Regenerated.

Source/WebKit/win:

* Interfaces/DOMEvents.idl: Let the script rename here (in a comment).

Tools:

* Scripts/do-webcore-rename: Updated script to do this round of renames.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesapplepayApplePaySessionidl">trunk/Source/WebCore/Modules/applepay/ApplePaySession.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaMediaKeySessionidl">trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaMediaKeysidl">trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchHeadersidl">trunk/Source/WebCore/Modules/fetch/FetchHeaders.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchRequestidl">trunk/Source/WebCore/Modules/fetch/FetchRequest.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchResponseidl">trunk/Source/WebCore/Modules/fetch/FetchResponse.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBCursoridl">trunk/Source/WebCore/Modules/indexeddb/IDBCursor.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBDatabaseidl">trunk/Source/WebCore/Modules/indexeddb/IDBDatabase.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBFactoryidl">trunk/Source/WebCore/Modules/indexeddb/IDBFactory.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBIndexidl">trunk/Source/WebCore/Modules/indexeddb/IDBIndex.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBKeyRangeidl">trunk/Source/WebCore/Modules/indexeddb/IDBKeyRange.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBObjectStoreidl">trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBRequestidl">trunk/Source/WebCore/Modules/indexeddb/IDBRequest.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBTransactionidl">trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceMediaSourceidl">trunk/Source/WebCore/Modules/mediasource/MediaSource.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceSourceBufferidl">trunk/Source/WebCore/Modules/mediasource/SourceBuffer.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaDevicesidl">trunk/Source/WebCore/Modules/mediastream/MediaDevices.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCDTMFSenderidl">trunk/Source/WebCore/Modules/mediastream/RTCDTMFSender.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCDataChannelidl">trunk/Source/WebCore/Modules/mediastream/RTCDataChannel.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCIceCandidateidl">trunk/Source/WebCore/Modules/mediastream/RTCIceCandidate.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCPeerConnectionidl">trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCRtpSenderidl">trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCSessionDescriptionidl">trunk/Source/WebCore/Modules/mediastream/RTCSessionDescription.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesnavigatorcontentutilsNavigatorContentUtilsidl">trunk/Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesnotificationsNotificationCenteridl">trunk/Source/WebCore/Modules/notifications/NotificationCenter.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAnalyserNodeidl">trunk/Source/WebCore/Modules/webaudio/AnalyserNode.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioBufferidl">trunk/Source/WebCore/Modules/webaudio/AudioBuffer.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioBufferSourceNodeidl">trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioContextidl">trunk/Source/WebCore/Modules/webaudio/AudioContext.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioNodeidl">trunk/Source/WebCore/Modules/webaudio/AudioNode.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioConvolverNodeidl">trunk/Source/WebCore/Modules/webaudio/ConvolverNode.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioOfflineAudioContextidl">trunk/Source/WebCore/Modules/webaudio/OfflineAudioContext.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioOscillatorNodeidl">trunk/Source/WebCore/Modules/webaudio/OscillatorNode.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDOMWindowWebDatabaseidl">trunk/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseSQLResultSetidl">trunk/Source/WebCore/Modules/webdatabase/SQLResultSet.idl</a></li>
<li><a href="#trunkSourceWebCoreModuleswebsocketsWebSocketidl">trunk/Source/WebCore/Modules/websockets/WebSocket.idl</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsIDLAttributestxt">trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSInterfaceNamecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSInterfaceNameh">trunk/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjectcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjecth">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCallbackcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestClassWithJSBuiltinConstructorcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestClassWithJSBuiltinConstructorh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCustomConstructorWithNoInterfaceObjectcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCustomConstructorWithNoInterfaceObjecth">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGettercpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGetterh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestEventTargetcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestEventTargeth">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestExceptioncpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestExceptionh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachablecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachableh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestGlobalObjectcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestGlobalObjecth">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestInterfacecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestInterfaceh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestIterablecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestIterableh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestJSBuiltinConstructorcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestJSBuiltinConstructorh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenercpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenerh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNodecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNodeh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministiccpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministich">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorsh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorsWithSequencecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorsWithSequenceh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestOverrideBuiltinscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestOverrideBuiltinsh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfacecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfaceh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestTypedefscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestTypedefsh">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSattributecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSattributeh">trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSreadonlycpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSreadonlyh">trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestTestImplementsidl">trunk/Source/WebCore/bindings/scripts/test/TestImplements.idl</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestTestInterfaceidl">trunk/Source/WebCore/bindings/scripts/test/TestInterface.idl</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestTestNamedConstructoridl">trunk/Source/WebCore/bindings/scripts/test/TestNamedConstructor.idl</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestTestNondeterministicidl">trunk/Source/WebCore/bindings/scripts/test/TestNondeterministic.idl</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestTestObjidl">trunk/Source/WebCore/bindings/scripts/test/TestObj.idl</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestTestSupplementalidl">trunk/Source/WebCore/bindings/scripts/test/TestSupplemental.idl</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestTestTypedefsidl">trunk/Source/WebCore/bindings/scripts/test/TestTypedefs.idl</a></li>
<li><a href="#trunkSourceWebCorecssCSSCharsetRuleidl">trunk/Source/WebCore/css/CSSCharsetRule.idl</a></li>
<li><a href="#trunkSourceWebCorecssCSSMediaRuleidl">trunk/Source/WebCore/css/CSSMediaRule.idl</a></li>
<li><a href="#trunkSourceWebCorecssCSSPrimitiveValueidl">trunk/Source/WebCore/css/CSSPrimitiveValue.idl</a></li>
<li><a href="#trunkSourceWebCorecssCSSRuleidl">trunk/Source/WebCore/css/CSSRule.idl</a></li>
<li><a href="#trunkSourceWebCorecssCSSStyleDeclarationidl">trunk/Source/WebCore/css/CSSStyleDeclaration.idl</a></li>
<li><a href="#trunkSourceWebCorecssCSSStyleSheetidl">trunk/Source/WebCore/css/CSSStyleSheet.idl</a></li>
<li><a href="#trunkSourceWebCorecssCSSSupportsRuleidl">trunk/Source/WebCore/css/CSSSupportsRule.idl</a></li>
<li><a href="#trunkSourceWebCorecssCSSValueidl">trunk/Source/WebCore/css/CSSValue.idl</a></li>
<li><a href="#trunkSourceWebCorecssFontFaceidl">trunk/Source/WebCore/css/FontFace.idl</a></li>
<li><a href="#trunkSourceWebCorecssFontFaceSetidl">trunk/Source/WebCore/css/FontFaceSet.idl</a></li>
<li><a href="#trunkSourceWebCorecssMediaListidl">trunk/Source/WebCore/css/MediaList.idl</a></li>
<li><a href="#trunkSourceWebCorecssWebKitCSSMatrixidl">trunk/Source/WebCore/css/WebKitCSSMatrix.idl</a></li>
<li><a href="#trunkSourceWebCoredomCharacterDataidl">trunk/Source/WebCore/dom/CharacterData.idl</a></li>
<li><a href="#trunkSourceWebCoredomChildNodeidl">trunk/Source/WebCore/dom/ChildNode.idl</a></li>
<li><a href="#trunkSourceWebCoredomCustomElementRegistryidl">trunk/Source/WebCore/dom/CustomElementRegistry.idl</a></li>
<li><a href="#trunkSourceWebCoredomDataTransferItemListidl">trunk/Source/WebCore/dom/DataTransferItemList.idl</a></li>
<li><a href="#trunkSourceWebCoredomDocumentidl">trunk/Source/WebCore/dom/Document.idl</a></li>
<li><a href="#trunkSourceWebCoredomElementidl">trunk/Source/WebCore/dom/Element.idl</a></li>
<li><a href="#trunkSourceWebCoredomEventTargetidl">trunk/Source/WebCore/dom/EventTarget.idl</a></li>
<li><a href="#trunkSourceWebCoredomMessagePortidl">trunk/Source/WebCore/dom/MessagePort.idl</a></li>
<li><a href="#trunkSourceWebCoredomMutationObserveridl">trunk/Source/WebCore/dom/MutationObserver.idl</a></li>
<li><a href="#trunkSourceWebCoredomNamedNodeMapidl">trunk/Source/WebCore/dom/NamedNodeMap.idl</a></li>
<li><a href="#trunkSourceWebCoredomNodeidl">trunk/Source/WebCore/dom/Node.idl</a></li>
<li><a href="#trunkSourceWebCoredomParentNodeidl">trunk/Source/WebCore/dom/ParentNode.idl</a></li>
<li><a href="#trunkSourceWebCoredomRangeidl">trunk/Source/WebCore/dom/Range.idl</a></li>
<li><a href="#trunkSourceWebCoredomShadowRootidl">trunk/Source/WebCore/dom/ShadowRoot.idl</a></li>
<li><a href="#trunkSourceWebCoredomTextidl">trunk/Source/WebCore/dom/Text.idl</a></li>
<li><a href="#trunkSourceWebCorefileapiFileReaderidl">trunk/Source/WebCore/fileapi/FileReader.idl</a></li>
<li><a href="#trunkSourceWebCorefileapiFileReaderSyncidl">trunk/Source/WebCore/fileapi/FileReaderSync.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlDOMTokenListidl">trunk/Source/WebCore/html/DOMTokenList.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlDOMURLidl">trunk/Source/WebCore/html/DOMURL.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLCanvasElementidl">trunk/Source/WebCore/html/HTMLCanvasElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLElementidl">trunk/Source/WebCore/html/HTMLElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLEmbedElementidl">trunk/Source/WebCore/html/HTMLEmbedElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFrameElementidl">trunk/Source/WebCore/html/HTMLFrameElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLIFrameElementidl">trunk/Source/WebCore/html/HTMLIFrameElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLInputElementidl">trunk/Source/WebCore/html/HTMLInputElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMarqueeElementidl">trunk/Source/WebCore/html/HTMLMarqueeElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementidl">trunk/Source/WebCore/html/HTMLMediaElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLObjectElementidl">trunk/Source/WebCore/html/HTMLObjectElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLOptionElementidl">trunk/Source/WebCore/html/HTMLOptionElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLOptionsCollectionidl">trunk/Source/WebCore/html/HTMLOptionsCollection.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLProgressElementidl">trunk/Source/WebCore/html/HTMLProgressElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLSelectElementidl">trunk/Source/WebCore/html/HTMLSelectElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableElementidl">trunk/Source/WebCore/html/HTMLTableElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableRowElementidl">trunk/Source/WebCore/html/HTMLTableRowElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableSectionElementidl">trunk/Source/WebCore/html/HTMLTableSectionElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTextAreaElementidl">trunk/Source/WebCore/html/HTMLTextAreaElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLVideoElementidl">trunk/Source/WebCore/html/HTMLVideoElement.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlImageDataidl">trunk/Source/WebCore/html/ImageData.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlMediaControlleridl">trunk/Source/WebCore/html/MediaController.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlTimeRangesidl">trunk/Source/WebCore/html/TimeRanges.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlURLUtilsidl">trunk/Source/WebCore/html/URLUtils.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasCanvasGradientidl">trunk/Source/WebCore/html/canvas/CanvasGradient.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasCanvasPathidl">trunk/Source/WebCore/html/canvas/CanvasPath.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Didl">trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasOESVertexArrayObjectidl">trunk/Source/WebCore/html/canvas/OESVertexArrayObject.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGLRenderingContextBaseidl">trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.idl</a></li>
<li><a href="#trunkSourceWebCorehtmltrackDataCueidl">trunk/Source/WebCore/html/track/DataCue.idl</a></li>
<li><a href="#trunkSourceWebCorehtmltrackTextTrackidl">trunk/Source/WebCore/html/track/TextTrack.idl</a></li>
<li><a href="#trunkSourceWebCorehtmltrackTextTrackCueidl">trunk/Source/WebCore/html/track/TextTrackCue.idl</a></li>
<li><a href="#trunkSourceWebCorehtmltrackVTTCueidl">trunk/Source/WebCore/html/track/VTTCue.idl</a></li>
<li><a href="#trunkSourceWebCorehtmltrackVTTRegionidl">trunk/Source/WebCore/html/track/VTTRegion.idl</a></li>
<li><a href="#trunkSourceWebCoreloaderappcacheDOMApplicationCacheidl">trunk/Source/WebCore/loader/appcache/DOMApplicationCache.idl</a></li>
<li><a href="#trunkSourceWebCorepageCryptoidl">trunk/Source/WebCore/page/Crypto.idl</a></li>
<li><a href="#trunkSourceWebCorepageDOMSelectionidl">trunk/Source/WebCore/page/DOMSelection.idl</a></li>
<li><a href="#trunkSourceWebCorepageDOMWindowidl">trunk/Source/WebCore/page/DOMWindow.idl</a></li>
<li><a href="#trunkSourceWebCorepageEventSourceidl">trunk/Source/WebCore/page/EventSource.idl</a></li>
<li><a href="#trunkSourceWebCorepageHistoryidl">trunk/Source/WebCore/page/History.idl</a></li>
<li><a href="#trunkSourceWebCorepageLocationidl">trunk/Source/WebCore/page/Location.idl</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceidl">trunk/Source/WebCore/page/Performance.idl</a></li>
<li><a href="#trunkSourceWebCorepageUserMessageHandleridl">trunk/Source/WebCore/page/UserMessageHandler.idl</a></li>
<li><a href="#trunkSourceWebCorepageWindowOrWorkerGlobalScopeidl">trunk/Source/WebCore/page/WindowOrWorkerGlobalScope.idl</a></li>
<li><a href="#trunkSourceWebCorestorageStorageidl">trunk/Source/WebCore/storage/Storage.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAltGlyphElementidl">trunk/Source/WebCore/svg/SVGAltGlyphElement.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAngleidl">trunk/Source/WebCore/svg/SVGAngle.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimatedBooleanidl">trunk/Source/WebCore/svg/SVGAnimatedBoolean.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimatedEnumerationidl">trunk/Source/WebCore/svg/SVGAnimatedEnumeration.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimatedIntegeridl">trunk/Source/WebCore/svg/SVGAnimatedInteger.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimatedNumberidl">trunk/Source/WebCore/svg/SVGAnimatedNumber.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimatedStringidl">trunk/Source/WebCore/svg/SVGAnimatedString.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGAnimationElementidl">trunk/Source/WebCore/svg/SVGAnimationElement.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGColoridl">trunk/Source/WebCore/svg/SVGColor.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGGlyphRefElementidl">trunk/Source/WebCore/svg/SVGGlyphRefElement.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGGraphicsElementidl">trunk/Source/WebCore/svg/SVGGraphicsElement.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGLengthidl">trunk/Source/WebCore/svg/SVGLength.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGLengthListidl">trunk/Source/WebCore/svg/SVGLengthList.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGMatrixidl">trunk/Source/WebCore/svg/SVGMatrix.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGNumberListidl">trunk/Source/WebCore/svg/SVGNumberList.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPaintidl">trunk/Source/WebCore/svg/SVGPaint.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPathSegListidl">trunk/Source/WebCore/svg/SVGPathSegList.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPointListidl">trunk/Source/WebCore/svg/SVGPointList.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGPreserveAspectRatioidl">trunk/Source/WebCore/svg/SVGPreserveAspectRatio.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGStringListidl">trunk/Source/WebCore/svg/SVGStringList.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGStyleElementidl">trunk/Source/WebCore/svg/SVGStyleElement.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGTextContentElementidl">trunk/Source/WebCore/svg/SVGTextContentElement.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGTransformListidl">trunk/Source/WebCore/svg/SVGTransformList.idl</a></li>
<li><a href="#trunkSourceWebCoresvgSVGViewSpecidl">trunk/Source/WebCore/svg/SVGViewSpec.idl</a></li>
<li><a href="#trunkSourceWebCoretestingInternalSettingsidl">trunk/Source/WebCore/testing/InternalSettings.idl</a></li>
<li><a href="#trunkSourceWebCoretestingInternalsidl">trunk/Source/WebCore/testing/Internals.idl</a></li>
<li><a href="#trunkSourceWebCoreworkersDedicatedWorkerGlobalScopeidl">trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.idl</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkeridl">trunk/Source/WebCore/workers/Worker.idl</a></li>
<li><a href="#trunkSourceWebCorexmlDOMParseridl">trunk/Source/WebCore/xml/DOMParser.idl</a></li>
<li><a href="#trunkSourceWebCorexmlXMLHttpRequestidl">trunk/Source/WebCore/xml/XMLHttpRequest.idl</a></li>
<li><a href="#trunkSourceWebCorexmlXPathEvaluatoridl">trunk/Source/WebCore/xml/XPathEvaluator.idl</a></li>
<li><a href="#trunkSourceWebCorexmlXPathExpressionidl">trunk/Source/WebCore/xml/XPathExpression.idl</a></li>
<li><a href="#trunkSourceWebCorexmlXPathResultidl">trunk/Source/WebCore/xml/XPathResult.idl</a></li>
<li><a href="#trunkSourceWebKitwinChangeLog">trunk/Source/WebKit/win/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitwinInterfacesDOMEventsidl">trunk/Source/WebKit/win/Interfaces/DOMEvents.idl</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsScriptsdowebcorerename">trunk/Tools/Scripts/do-webcore-rename</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/ChangeLog        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -1,3 +1,232 @@
</span><ins>+2016-10-02  Darin Adler  &lt;darin@apple.com&gt;
+
+        Rename ExceptionCode-based exception handling to &quot;legacy&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=162859
+
+        Reviewed by Chris Dumez.
+
+        RaisesException is now MayThrowLegacyException.
+
+        A follow-up patch soon will add MayThrowException for the new style,
+        where we use ExceptionOr&lt;&gt; as the return type instead of an ExceptionCode
+        out argument.
+
+        * bindings/scripts/CodeGeneratorJS.pm:
+        Removed the quotation marks from the syntax object-&gt;{PropertyName} so the
+        renaming script could handle it. Tweaked various comments and logic for clarity.
+        Changed to use the perl &quot;x if y&quot; syntax for brevity in many places.
+        Renamed with the script and by hand. Added code to skip including the same header
+        in both the implementation file and the header, just to make generated bindings
+        slightly smaller and faster to compile. Used &quot;using&quot; instead of &quot;typedef&quot;.
+
+        * bindings/scripts/IDLAttributes.txt: Updated from old names to new ones.
+
+        * Modules/applepay/ApplePaySession.idl:
+        * Modules/encryptedmedia/MediaKeySession.idl:
+        * Modules/encryptedmedia/MediaKeys.idl:
+        * Modules/fetch/FetchHeaders.idl:
+        * Modules/fetch/FetchRequest.idl:
+        * Modules/fetch/FetchResponse.idl:
+        * Modules/indexeddb/IDBCursor.idl:
+        * Modules/indexeddb/IDBDatabase.idl:
+        * Modules/indexeddb/IDBFactory.idl:
+        * Modules/indexeddb/IDBIndex.idl:
+        * Modules/indexeddb/IDBKeyRange.idl:
+        * Modules/indexeddb/IDBObjectStore.idl:
+        * Modules/indexeddb/IDBRequest.idl:
+        * Modules/indexeddb/IDBTransaction.idl:
+        * Modules/mediasource/MediaSource.idl:
+        * Modules/mediasource/SourceBuffer.idl:
+        * Modules/mediastream/MediaDevices.idl:
+        * Modules/mediastream/RTCDTMFSender.idl:
+        * Modules/mediastream/RTCDataChannel.idl:
+        * Modules/mediastream/RTCIceCandidate.idl:
+        * Modules/mediastream/RTCPeerConnection.idl:
+        * Modules/mediastream/RTCRtpSender.idl:
+        * Modules/mediastream/RTCSessionDescription.idl:
+        * Modules/navigatorcontentutils/NavigatorContentUtils.idl:
+        * Modules/notifications/NotificationCenter.idl:
+        * Modules/webaudio/AnalyserNode.idl:
+        * Modules/webaudio/AudioBuffer.idl:
+        * Modules/webaudio/AudioBufferSourceNode.idl:
+        * Modules/webaudio/AudioContext.idl:
+        * Modules/webaudio/AudioNode.idl:
+        * Modules/webaudio/ConvolverNode.idl:
+        * Modules/webaudio/OfflineAudioContext.idl:
+        * Modules/webaudio/OscillatorNode.idl:
+        * Modules/webdatabase/DOMWindowWebDatabase.idl:
+        * Modules/webdatabase/SQLResultSet.idl:
+        * Modules/websockets/WebSocket.idl:
+        * bindings/scripts/test/TestImplements.idl:
+        * bindings/scripts/test/TestInterface.idl:
+        * bindings/scripts/test/TestNamedConstructor.idl:
+        * bindings/scripts/test/TestNondeterministic.idl:
+        * bindings/scripts/test/TestObj.idl:
+        * bindings/scripts/test/TestSupplemental.idl:
+        * bindings/scripts/test/TestTypedefs.idl:
+        * css/CSSCharsetRule.idl:
+        * css/CSSMediaRule.idl:
+        * css/CSSPrimitiveValue.idl:
+        * css/CSSRule.idl:
+        * css/CSSStyleDeclaration.idl:
+        * css/CSSStyleSheet.idl:
+        * css/CSSSupportsRule.idl:
+        * css/CSSValue.idl:
+        * css/FontFace.idl:
+        * css/FontFaceSet.idl:
+        * css/MediaList.idl:
+        * css/WebKitCSSMatrix.idl:
+        * dom/CharacterData.idl:
+        * dom/ChildNode.idl:
+        * dom/CustomElementRegistry.idl:
+        * dom/DataTransferItemList.idl:
+        * dom/Document.idl:
+        * dom/Element.idl:
+        * dom/EventTarget.idl:
+        * dom/MessagePort.idl:
+        * dom/MutationObserver.idl:
+        * dom/NamedNodeMap.idl:
+        * dom/Node.idl:
+        * dom/ParentNode.idl:
+        * dom/Range.idl:
+        * dom/ShadowRoot.idl:
+        * dom/Text.idl:
+        * fileapi/FileReader.idl:
+        * fileapi/FileReaderSync.idl:
+        * html/DOMTokenList.idl:
+        * html/DOMURL.idl:
+        * html/HTMLCanvasElement.idl:
+        * html/HTMLElement.idl:
+        * html/HTMLEmbedElement.idl:
+        * html/HTMLFrameElement.idl:
+        * html/HTMLIFrameElement.idl:
+        * html/HTMLInputElement.idl:
+        * html/HTMLMarqueeElement.idl:
+        * html/HTMLMediaElement.idl:
+        * html/HTMLObjectElement.idl:
+        * html/HTMLOptionElement.idl:
+        * html/HTMLOptionsCollection.idl:
+        * html/HTMLProgressElement.idl:
+        * html/HTMLSelectElement.idl:
+        * html/HTMLTableElement.idl:
+        * html/HTMLTableRowElement.idl:
+        * html/HTMLTableSectionElement.idl:
+        * html/HTMLTextAreaElement.idl:
+        * html/HTMLVideoElement.idl:
+        * html/ImageData.idl:
+        * html/MediaController.idl:
+        * html/TimeRanges.idl:
+        * html/URLUtils.idl:
+        * html/canvas/CanvasGradient.idl:
+        * html/canvas/CanvasPath.idl:
+        * html/canvas/CanvasRenderingContext2D.idl:
+        * html/canvas/OESVertexArrayObject.idl:
+        * html/canvas/WebGLRenderingContextBase.idl:
+        * html/track/DataCue.idl:
+        * html/track/TextTrack.idl:
+        * html/track/TextTrackCue.idl:
+        * html/track/VTTCue.idl:
+        * html/track/VTTRegion.idl:
+        * loader/appcache/DOMApplicationCache.idl:
+        * page/Crypto.idl:
+        * page/DOMSelection.idl:
+        * page/DOMWindow.idl:
+        * page/EventSource.idl:
+        * page/History.idl:
+        * page/Location.idl:
+        * page/Performance.idl:
+        * page/UserMessageHandler.idl:
+        * page/WindowOrWorkerGlobalScope.idl:
+        * storage/Storage.idl:
+        * svg/SVGAltGlyphElement.idl:
+        * svg/SVGAngle.idl:
+        * svg/SVGAnimatedBoolean.idl:
+        * svg/SVGAnimatedEnumeration.idl:
+        * svg/SVGAnimatedInteger.idl:
+        * svg/SVGAnimatedNumber.idl:
+        * svg/SVGAnimatedString.idl:
+        * svg/SVGAnimationElement.idl:
+        * svg/SVGColor.idl:
+        * svg/SVGGlyphRefElement.idl:
+        * svg/SVGGraphicsElement.idl:
+        * svg/SVGLength.idl:
+        * svg/SVGLengthList.idl:
+        * svg/SVGMatrix.idl:
+        * svg/SVGNumberList.idl:
+        * svg/SVGPaint.idl:
+        * svg/SVGPathSegList.idl:
+        * svg/SVGPointList.idl:
+        * svg/SVGPreserveAspectRatio.idl:
+        * svg/SVGStringList.idl:
+        * svg/SVGStyleElement.idl:
+        * svg/SVGTextContentElement.idl:
+        * svg/SVGTransformList.idl:
+        * svg/SVGViewSpec.idl:
+        * testing/InternalSettings.idl:
+        * testing/Internals.idl:
+        * workers/DedicatedWorkerGlobalScope.idl:
+        * workers/Worker.idl:
+        * xml/DOMParser.idl:
+        * xml/XMLHttpRequest.idl:
+        * xml/XPathEvaluator.idl:
+        * xml/XPathExpression.idl:
+        * xml/XPathResult.idl:
+        Allowed the rename script to rename the exception-related extended attributes.
+
+        * bindings/scripts/test/JS/JSInterfaceName.cpp:
+        * bindings/scripts/test/JS/JSInterfaceName.h:
+        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
+        * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
+        * bindings/scripts/test/JS/JSTestCallback.cpp:
+        * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
+        * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
+        * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h:
+        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
+        * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
+        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestEventConstructor.h:
+        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+        * bindings/scripts/test/JS/JSTestEventTarget.h:
+        * bindings/scripts/test/JS/JSTestException.cpp:
+        * bindings/scripts/test/JS/JSTestException.h:
+        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
+        * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
+        * bindings/scripts/test/JS/JSTestGlobalObject.cpp:
+        * bindings/scripts/test/JS/JSTestGlobalObject.h:
+        * bindings/scripts/test/JS/JSTestInterface.cpp:
+        * bindings/scripts/test/JS/JSTestInterface.h:
+        * bindings/scripts/test/JS/JSTestIterable.cpp:
+        * bindings/scripts/test/JS/JSTestIterable.h:
+        * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
+        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
+        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
+        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
+        * bindings/scripts/test/JS/JSTestNode.cpp:
+        * bindings/scripts/test/JS/JSTestNode.h:
+        * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
+        * bindings/scripts/test/JS/JSTestNondeterministic.h:
+        * bindings/scripts/test/JS/JSTestObj.cpp:
+        * bindings/scripts/test/JS/JSTestObj.h:
+        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
+        * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
+        * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
+        * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h:
+        * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
+        * bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
+        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
+        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+        * bindings/scripts/test/JS/JSTestTypedefs.h:
+        * bindings/scripts/test/JS/JSattribute.cpp:
+        * bindings/scripts/test/JS/JSattribute.h:
+        * bindings/scripts/test/JS/JSreadonly.cpp:
+        * bindings/scripts/test/JS/JSreadonly.h:
+        Regenerated.
+
+
</ins><span class="cx"> 2016-10-02  Wenson Hsieh  &lt;wenson_hsieh@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Media controls for Soundcloud easily falls out of sync with what's actually playing
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesapplepayApplePaySessionidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/applepay/ApplePaySession.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/applepay/ApplePaySession.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/applepay/ApplePaySession.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx">     Conditional=APPLE_PAY,
</span><span class="cx">     Constructor(unsigned long version, Dictionary paymentRequest),
</span><span class="cx">     ConstructorCallWith=Document,
</span><del>-    ConstructorRaisesException,
</del><ins>+    ConstructorMayThrowLegacyException,
</ins><span class="cx">     EnabledBySetting=ApplePay,
</span><span class="cx"> ] interface ApplePaySession : EventTarget {
</span><span class="cx">     const unsigned short STATUS_SUCCESS = 0;
</span><span class="lines">@@ -40,18 +40,18 @@
</span><span class="cx">     const unsigned short STATUS_PIN_INCORRECT = 6;
</span><span class="cx">     const unsigned short STATUS_PIN_LOCKOUT = 7;
</span><span class="cx"> 
</span><del>-    [CallWith=ScriptExecutionContext, RaisesException] static boolean supportsVersion(unsigned long version);
-    [CallWith=ScriptExecutionContext, RaisesException] static boolean canMakePayments();
-    [CallWith=ScriptExecutionContext, RaisesException] static Promise canMakePaymentsWithActiveCard(DOMString merchantIdentifier);
-    [CallWith=ScriptExecutionContext, RaisesException] static Promise openPaymentSetup(DOMString merchantIdentifier);
</del><ins>+    [CallWith=ScriptExecutionContext, MayThrowLegacyException] static boolean supportsVersion(unsigned long version);
+    [CallWith=ScriptExecutionContext, MayThrowLegacyException] static boolean canMakePayments();
+    [CallWith=ScriptExecutionContext, MayThrowLegacyException] static Promise canMakePaymentsWithActiveCard(DOMString merchantIdentifier);
+    [CallWith=ScriptExecutionContext, MayThrowLegacyException] static Promise openPaymentSetup(DOMString merchantIdentifier);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void begin();
-    [RaisesException] void abort();
-    [RaisesException] void completeMerchantValidation(Dictionary merchantSession);
-    [Custom, RaisesException] void completeShippingMethodSelection(unsigned short status, Dictionary newTotal, sequence&lt;Dictionary&gt; newLineItems);
-    [Custom, RaisesException] void completeShippingContactSelection(unsigned short status, sequence&lt;Dictionary&gt; newShippingMethods, Dictionary newTotal, sequence&lt;Dictionary&gt; newLineItems);
-    [Custom, RaisesException] void completePaymentMethodSelection(Dictionary newTotal, sequence&lt;Dictionary&gt; newLineItems);
-    [RaisesException] void completePayment(unsigned short status);
</del><ins>+    [MayThrowLegacyException] void begin();
+    [MayThrowLegacyException] void abort();
+    [MayThrowLegacyException] void completeMerchantValidation(Dictionary merchantSession);
+    [Custom, MayThrowLegacyException] void completeShippingMethodSelection(unsigned short status, Dictionary newTotal, sequence&lt;Dictionary&gt; newLineItems);
+    [Custom, MayThrowLegacyException] void completeShippingContactSelection(unsigned short status, sequence&lt;Dictionary&gt; newShippingMethods, Dictionary newTotal, sequence&lt;Dictionary&gt; newLineItems);
+    [Custom, MayThrowLegacyException] void completePaymentMethodSelection(Dictionary newTotal, sequence&lt;Dictionary&gt; newLineItems);
+    [MayThrowLegacyException] void completePayment(unsigned short status);
</ins><span class="cx"> 
</span><span class="cx">     attribute EventHandler onvalidatemerchant;
</span><span class="cx">     attribute EventHandler onpaymentmethodselected;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaMediaKeySessionidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx">     readonly attribute DOMString sessionId;
</span><span class="cx"> 
</span><span class="cx">     // session operations
</span><del>-    [RaisesException] void update(Uint8Array key);
</del><ins>+    [MayThrowLegacyException] void update(Uint8Array key);
</ins><span class="cx">     void close();
</span><span class="cx">     
</span><span class="cx">     attribute EventHandler onwebkitkeyadded;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaMediaKeysidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,10 +26,10 @@
</span><span class="cx"> [
</span><span class="cx">     Conditional=ENCRYPTED_MEDIA_V2,
</span><span class="cx">     Constructor(DOMString keySystem),
</span><del>-    ConstructorRaisesException,
</del><ins>+    ConstructorMayThrowLegacyException,
</ins><span class="cx">     InterfaceName=WebKitMediaKeys,
</span><span class="cx"> ] interface MediaKeys {
</span><del>-    [CallWith=ScriptExecutionContext, RaisesException] MediaKeySession createSession(DOMString type, Uint8Array initData);
</del><ins>+    [CallWith=ScriptExecutionContext, MayThrowLegacyException] MediaKeySession createSession(DOMString type, Uint8Array initData);
</ins><span class="cx">     static boolean isTypeSupported(DOMString keySystem, optional DOMString type);
</span><span class="cx">     readonly attribute DOMString keySystem;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchHeadersidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchHeaders.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchHeaders.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/fetch/FetchHeaders.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -36,14 +36,14 @@
</span><span class="cx">     PrivateIdentifier,
</span><span class="cx">     PublicIdentifier]
</span><span class="cx"> interface FetchHeaders {
</span><del>-    [RaisesException] void append(DOMString name, DOMString value);
-    [RaisesException, ImplementedAs=remove] void delete(DOMString name);
-    [RaisesException] DOMString? get(DOMString name);
-    [RaisesException] boolean has(DOMString name);
-    [RaisesException] void set(DOMString name, DOMString value);
</del><ins>+    [MayThrowLegacyException] void append(DOMString name, DOMString value);
+    [MayThrowLegacyException, ImplementedAs=remove] void delete(DOMString name);
+    [MayThrowLegacyException] DOMString? get(DOMString name);
+    [MayThrowLegacyException] boolean has(DOMString name);
+    [MayThrowLegacyException] void set(DOMString name, DOMString value);
</ins><span class="cx"> 
</span><span class="cx">     [EnabledAtRuntime=DOMIterator] iterable&lt;DOMString, DOMString&gt;;
</span><span class="cx"> 
</span><del>-    [PrivateIdentifier, RaisesException, ImplementedAs=append] void appendFromJS(DOMString name, DOMString value);
</del><ins>+    [PrivateIdentifier, MayThrowLegacyException, ImplementedAs=append] void appendFromJS(DOMString name, DOMString value);
</ins><span class="cx">     [PrivateIdentifier, ImplementedAs=fill] void fillFromJS(FetchHeaders? headers);
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchRequestidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchRequest.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchRequest.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/fetch/FetchRequest.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -60,10 +60,10 @@
</span><span class="cx">     readonly attribute RequestRedirect redirect;
</span><span class="cx">     readonly attribute DOMString integrity;
</span><span class="cx"> 
</span><del>-    [NewObject, CallWith=ScriptExecutionContext, RaisesException] FetchRequest clone();
</del><ins>+    [NewObject, CallWith=ScriptExecutionContext, MayThrowLegacyException] FetchRequest clone();
</ins><span class="cx"> 
</span><del>-    [PrivateIdentifier, RaisesException] FetchHeaders initializeWith(FetchRequest input, Dictionary init);
-    [PrivateIdentifier, RaisesException] FetchHeaders initializeWith(DOMString input, Dictionary init);
-    [PrivateIdentifier, RaisesException, CallWith=ScriptState] void setBody(any body, FetchRequest? request);
</del><ins>+    [PrivateIdentifier, MayThrowLegacyException] FetchHeaders initializeWith(FetchRequest input, Dictionary init);
+    [PrivateIdentifier, MayThrowLegacyException] FetchHeaders initializeWith(DOMString input, Dictionary init);
+    [PrivateIdentifier, MayThrowLegacyException, CallWith=ScriptState] void setBody(any body, FetchRequest? request);
</ins><span class="cx"> };
</span><span class="cx"> FetchRequest implements FetchBody;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchResponseidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchResponse.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchResponse.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/fetch/FetchResponse.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> ]
</span><span class="cx"> interface FetchResponse {
</span><span class="cx">     [NewObject, CallWith=ScriptExecutionContext] static FetchResponse error();
</span><del>-    [NewObject, CallWith=ScriptExecutionContext, RaisesException] static FetchResponse redirect(DOMString url, optional unsigned short status = 302);
</del><ins>+    [NewObject, CallWith=ScriptExecutionContext, MayThrowLegacyException] static FetchResponse redirect(DOMString url, optional unsigned short status = 302);
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute ResponseType type;
</span><span class="cx"> 
</span><span class="lines">@@ -71,7 +71,7 @@
</span><span class="cx"> 
</span><span class="cx">     [PrivateIdentifier] Promise consume(unsigned short type);
</span><span class="cx">     [PrivateIdentifier] boolean isLoading();
</span><del>-    [PrivateIdentifier, RaisesException] void setStatus(unsigned short status, DOMString statusText);
</del><ins>+    [PrivateIdentifier, MayThrowLegacyException] void setStatus(unsigned short status, DOMString statusText);
</ins><span class="cx">     [CallWith=ScriptState, PrivateIdentifier] void initializeWith(any body);
</span><span class="cx">     [PrivateIdentifier, NewObject] ReadableStreamSource createReadableStreamSource();
</span><span class="cx">     [PrivateIdentifier] boolean isDisturbed();
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBCursoridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBCursor.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBCursor.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBCursor.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -36,8 +36,8 @@
</span><span class="cx">     readonly attribute any key;
</span><span class="cx">     readonly attribute any primaryKey;
</span><span class="cx"> 
</span><del>-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest update(any value);
-    [RaisesExceptionWithMessage] void advance([EnforceRange] unsigned long count);
-    [CallWith=ScriptState, ImplementedAs=continueFunction, RaisesExceptionWithMessage] void continue(optional any key);
-    [CallWith=ScriptState, ImplementedAs=deleteFunction, RaisesExceptionWithMessage] IDBRequest delete();
</del><ins>+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest update(any value);
+    [MayThrowLegacyExceptionWithMessage] void advance([EnforceRange] unsigned long count);
+    [CallWith=ScriptState, ImplementedAs=continueFunction, MayThrowLegacyExceptionWithMessage] void continue(optional any key);
+    [CallWith=ScriptState, ImplementedAs=deleteFunction, MayThrowLegacyExceptionWithMessage] IDBRequest delete();
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBDatabaseidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBDatabase.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBDatabase.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBDatabase.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -34,13 +34,13 @@
</span><span class="cx">     readonly attribute unsigned long long version;
</span><span class="cx">     readonly attribute DOMStringList objectStoreNames;
</span><span class="cx"> 
</span><del>-    [Custom, RaisesExceptionWithMessage] IDBObjectStore createObjectStore(DOMString name, optional Dictionary options);
-    [RaisesExceptionWithMessage] void deleteObjectStore(DOMString name);
-    [RaisesExceptionWithMessage] IDBTransaction transaction(DOMString storeName, optional DOMString mode = &quot;readonly&quot;);
-    [RaisesExceptionWithMessage] IDBTransaction transaction(sequence&lt;DOMString&gt; storeNames, optional DOMString mode = &quot;readonly&quot;);
</del><ins>+    [Custom, MayThrowLegacyExceptionWithMessage] IDBObjectStore createObjectStore(DOMString name, optional Dictionary options);
+    [MayThrowLegacyExceptionWithMessage] void deleteObjectStore(DOMString name);
+    [MayThrowLegacyExceptionWithMessage] IDBTransaction transaction(DOMString storeName, optional DOMString mode = &quot;readonly&quot;);
+    [MayThrowLegacyExceptionWithMessage] IDBTransaction transaction(sequence&lt;DOMString&gt; storeNames, optional DOMString mode = &quot;readonly&quot;);
</ins><span class="cx">     // FIXME: This is not part of the spec, but is needed for compatibility.
</span><span class="cx">     // See https://github.com/w3c/IndexedDB/issues/85
</span><del>-    [RaisesExceptionWithMessage] IDBTransaction transaction(DOMStringList storeNames, optional DOMString mode = &quot;readonly&quot;);
</del><ins>+    [MayThrowLegacyExceptionWithMessage] IDBTransaction transaction(DOMStringList storeNames, optional DOMString mode = &quot;readonly&quot;);
</ins><span class="cx">     void close();
</span><span class="cx"> 
</span><span class="cx">     attribute EventHandler onabort;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBFactoryidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBFactory.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBFactory.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBFactory.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,8 +28,8 @@
</span><span class="cx">     EnabledAtRuntime=IndexedDB,
</span><span class="cx">     SkipVTableValidation,
</span><span class="cx"> ] interface IDBFactory {
</span><del>-    [CallWith=ScriptExecutionContext, RaisesExceptionWithMessage] IDBOpenDBRequest open(DOMString name, [EnforceRange] optional unsigned long long version);
-    [CallWith=ScriptExecutionContext, RaisesExceptionWithMessage] IDBOpenDBRequest deleteDatabase(DOMString name);
-    [CallWith=ScriptState, RaisesExceptionWithMessage] short cmp(any first, any second);
</del><ins>+    [CallWith=ScriptExecutionContext, MayThrowLegacyExceptionWithMessage] IDBOpenDBRequest open(DOMString name, [EnforceRange] optional unsigned long long version);
+    [CallWith=ScriptExecutionContext, MayThrowLegacyExceptionWithMessage] IDBOpenDBRequest deleteDatabase(DOMString name);
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] short cmp(any first, any second);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBIndexidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBIndex.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBIndex.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBIndex.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -36,17 +36,17 @@
</span><span class="cx">     readonly attribute boolean multiEntry;
</span><span class="cx">     readonly attribute boolean unique;
</span><span class="cx"> 
</span><del>-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest openCursor(optional IDBKeyRange? range = null, optional DOMString direction = &quot;next&quot;);
-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest openCursor(any key, optional DOMString direction = &quot;next&quot;);
</del><ins>+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest openCursor(optional IDBKeyRange? range = null, optional DOMString direction = &quot;next&quot;);
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest openCursor(any key, optional DOMString direction = &quot;next&quot;);
</ins><span class="cx"> 
</span><del>-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest openKeyCursor(optional IDBKeyRange? range = null, optional DOMString direction = &quot;next&quot;);
-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest openKeyCursor(any key, optional DOMString direction = &quot;next&quot;);
</del><ins>+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest openKeyCursor(optional IDBKeyRange? range = null, optional DOMString direction = &quot;next&quot;);
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest openKeyCursor(any key, optional DOMString direction = &quot;next&quot;);
</ins><span class="cx"> 
</span><del>-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest get(IDBKeyRange? key);
-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest get(any key);
-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest getKey(IDBKeyRange? key);
-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest getKey(any key);
-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest count(optional IDBKeyRange? range = null);
-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest count(any key);
</del><ins>+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest get(IDBKeyRange? key);
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest get(any key);
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest getKey(IDBKeyRange? key);
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest getKey(any key);
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest count(optional IDBKeyRange? range = null);
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest count(any key);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBKeyRangeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBKeyRange.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBKeyRange.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBKeyRange.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -33,8 +33,8 @@
</span><span class="cx">     readonly attribute boolean lowerOpen;
</span><span class="cx">     readonly attribute boolean upperOpen;
</span><span class="cx"> 
</span><del>-    [CallWith=ScriptState, RaisesException] static IDBKeyRange only(any value);
-    [CallWith=ScriptState, RaisesException] static IDBKeyRange lowerBound(any lower, optional boolean open = false);
-    [CallWith=ScriptState, RaisesException] static IDBKeyRange upperBound(any upper, optional boolean open = false);
-    [CallWith=ScriptState, RaisesException] static IDBKeyRange bound(any lower, any upper, optional boolean lowerOpen = false, optional boolean upperOpen = false);
</del><ins>+    [CallWith=ScriptState, MayThrowLegacyException] static IDBKeyRange only(any value);
+    [CallWith=ScriptState, MayThrowLegacyException] static IDBKeyRange lowerBound(any lower, optional boolean open = false);
+    [CallWith=ScriptState, MayThrowLegacyException] static IDBKeyRange upperBound(any upper, optional boolean open = false);
+    [CallWith=ScriptState, MayThrowLegacyException] static IDBKeyRange bound(any lower, any upper, optional boolean lowerOpen = false, optional boolean upperOpen = false);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBObjectStoreidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -36,21 +36,21 @@
</span><span class="cx">     readonly attribute IDBTransaction transaction;
</span><span class="cx">     readonly attribute boolean autoIncrement;
</span><span class="cx"> 
</span><del>-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest put(any value, optional any key);
-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest add(any value, optional any key);
-    [CallWith=ScriptState, ImplementedAs=deleteFunction, RaisesExceptionWithMessage] IDBRequest delete(IDBKeyRange? keyRange);
-    [CallWith=ScriptState, ImplementedAs=deleteFunction, RaisesExceptionWithMessage] IDBRequest delete(any key);
-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest get(IDBKeyRange? key);
-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest get(any key);
-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest clear();
-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest openCursor(optional IDBKeyRange? range = null, optional DOMString direction = &quot;next&quot;);
-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest openCursor(any key, optional DOMString direction = &quot;next&quot;);
-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBIndex createIndex(DOMString name, sequence&lt;DOMString&gt; keyPath, optional IDBIndexParameters options);
-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBIndex createIndex(DOMString name, DOMString keyPath, optional IDBIndexParameters options);
-    [RaisesExceptionWithMessage] IDBIndex index(DOMString name);
-    [RaisesExceptionWithMessage] void deleteIndex(DOMString name);
-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest count(optional IDBKeyRange? range = null);
-    [CallWith=ScriptState, RaisesExceptionWithMessage] IDBRequest count(any key);
</del><ins>+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest put(any value, optional any key);
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest add(any value, optional any key);
+    [CallWith=ScriptState, ImplementedAs=deleteFunction, MayThrowLegacyExceptionWithMessage] IDBRequest delete(IDBKeyRange? keyRange);
+    [CallWith=ScriptState, ImplementedAs=deleteFunction, MayThrowLegacyExceptionWithMessage] IDBRequest delete(any key);
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest get(IDBKeyRange? key);
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest get(any key);
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest clear();
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest openCursor(optional IDBKeyRange? range = null, optional DOMString direction = &quot;next&quot;);
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest openCursor(any key, optional DOMString direction = &quot;next&quot;);
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBIndex createIndex(DOMString name, sequence&lt;DOMString&gt; keyPath, optional IDBIndexParameters options);
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBIndex createIndex(DOMString name, DOMString keyPath, optional IDBIndexParameters options);
+    [MayThrowLegacyExceptionWithMessage] IDBIndex index(DOMString name);
+    [MayThrowLegacyExceptionWithMessage] void deleteIndex(DOMString name);
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest count(optional IDBKeyRange? range = null);
+    [CallWith=ScriptState, MayThrowLegacyExceptionWithMessage] IDBRequest count(any key);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> dictionary IDBIndexParameters {
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBRequestidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBRequest.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBRequest.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBRequest.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx">     SkipVTableValidation,
</span><span class="cx"> ] interface IDBRequest : EventTarget {
</span><span class="cx">     [CustomGetter] readonly attribute any result;
</span><del>-    [GetterRaisesExceptionWithMessage] readonly attribute DOMError error;
</del><ins>+    [GetterMayThrowLegacyExceptionWithMessage] readonly attribute DOMError error;
</ins><span class="cx">     [CustomGetter] readonly attribute any source;
</span><span class="cx">     readonly attribute IDBTransaction transaction;
</span><span class="cx">     readonly attribute DOMString readyState;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBTransactionidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -34,8 +34,8 @@
</span><span class="cx">     readonly attribute IDBDatabase db;
</span><span class="cx">     readonly attribute DOMError error;
</span><span class="cx"> 
</span><del>-    [RaisesExceptionWithMessage] IDBObjectStore objectStore (DOMString name);
-    [RaisesExceptionWithMessage] void abort ();
</del><ins>+    [MayThrowLegacyExceptionWithMessage] IDBObjectStore objectStore (DOMString name);
+    [MayThrowLegacyExceptionWithMessage] void abort ();
</ins><span class="cx"> 
</span><span class="cx">     attribute EventHandler onabort;
</span><span class="cx">     attribute EventHandler oncomplete;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceMediaSourceidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/MediaSource.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasource/MediaSource.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/mediasource/MediaSource.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -46,19 +46,19 @@
</span><span class="cx">     // Subset of sourceBuffers that provide data for the selected/enabled tracks.
</span><span class="cx">     readonly attribute SourceBufferList activeSourceBuffers;
</span><span class="cx"> 
</span><del>-    [SetterRaisesException] attribute unrestricted double duration;
</del><ins>+    [SetterMayThrowLegacyException] attribute unrestricted double duration;
</ins><span class="cx"> 
</span><del>-    [RaisesException] SourceBuffer addSourceBuffer(DOMString type);
-    [RaisesException] void removeSourceBuffer(SourceBuffer buffer);
</del><ins>+    [MayThrowLegacyException] SourceBuffer addSourceBuffer(DOMString type);
+    [MayThrowLegacyException] void removeSourceBuffer(SourceBuffer buffer);
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute DOMString readyState;
</span><span class="cx">     
</span><del>-    [RaisesException] void endOfStream(optional EndOfStreamError error);
</del><ins>+    [MayThrowLegacyException] void endOfStream(optional EndOfStreamError error);
</ins><span class="cx"> 
</span><span class="cx">     static boolean isTypeSupported (DOMString type);
</span><span class="cx"> 
</span><del>-    [RaisesException] void setLiveSeekableRange(double start, double end);
-    [RaisesException] void clearLiveSeekableRange();
</del><ins>+    [MayThrowLegacyException] void setLiveSeekableRange(double start, double end);
+    [MayThrowLegacyException] void clearLiveSeekableRange();
</ins><span class="cx"> 
</span><span class="cx">     attribute EventHandler onsourceopen;
</span><span class="cx">     attribute EventHandler onsourceended;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceSourceBufferidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/SourceBuffer.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasource/SourceBuffer.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/mediasource/SourceBuffer.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -39,15 +39,15 @@
</span><span class="cx">     ExportMacro=WEBCORE_EXPORT,
</span><span class="cx"> ] interface SourceBuffer : EventTarget {
</span><span class="cx"> 
</span><del>-    [SetterRaisesException] attribute AppendMode mode;
</del><ins>+    [SetterMayThrowLegacyException] attribute AppendMode mode;
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute boolean updating;
</span><span class="cx">   
</span><span class="cx">     // Returns the time ranges buffered.
</span><del>-    [GetterRaisesException] readonly attribute TimeRanges buffered;
</del><ins>+    [GetterMayThrowLegacyException] readonly attribute TimeRanges buffered;
</ins><span class="cx"> 
</span><span class="cx">     // Applies an offset to media segment timestamps.
</span><del>-    [SetterRaisesException] attribute double timestampOffset;
</del><ins>+    [SetterMayThrowLegacyException] attribute double timestampOffset;
</ins><span class="cx"> 
</span><span class="cx">     // Track support
</span><span class="cx">     [Conditional=VIDEO_TRACK] readonly attribute AudioTrackList audioTracks;
</span><span class="lines">@@ -54,16 +54,16 @@
</span><span class="cx">     [Conditional=VIDEO_TRACK] readonly attribute VideoTrackList videoTracks;
</span><span class="cx">     [Conditional=VIDEO_TRACK] readonly attribute TextTrackList textTracks;
</span><span class="cx"> 
</span><del>-    [SetterRaisesException] attribute double appendWindowStart;
-    [SetterRaisesException] attribute unrestricted double appendWindowEnd;
</del><ins>+    [SetterMayThrowLegacyException] attribute double appendWindowStart;
+    [SetterMayThrowLegacyException] attribute unrestricted double appendWindowEnd;
</ins><span class="cx"> 
</span><span class="cx">     // Append segment data.
</span><del>-    [RaisesException] void appendBuffer(ArrayBuffer data);
-    [RaisesException] void appendBuffer(ArrayBufferView data);
</del><ins>+    [MayThrowLegacyException] void appendBuffer(ArrayBuffer data);
+    [MayThrowLegacyException] void appendBuffer(ArrayBufferView data);
</ins><span class="cx"> 
</span><span class="cx">     // Abort the current segment append sequence.
</span><del>-    [RaisesException] void abort();
-    [RaisesException] void remove(unrestricted double start, unrestricted double end);
</del><ins>+    [MayThrowLegacyException] void abort();
+    [MayThrowLegacyException] void remove(unrestricted double start, unrestricted double end);
</ins><span class="cx"> 
</span><span class="cx">     attribute EventHandler onupdatestart;
</span><span class="cx">     attribute EventHandler onupdate;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaDevicesidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/MediaDevices.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaDevices.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/mediastream/MediaDevices.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -35,5 +35,5 @@
</span><span class="cx">     MediaTrackSupportedConstraints getSupportedConstraints();
</span><span class="cx"> 
</span><span class="cx">     [Custom, PrivateIdentifier, PublicIdentifier] Promise getUserMedia(Dictionary options);
</span><del>-    [RaisesException] Promise enumerateDevices();
</del><ins>+    [MayThrowLegacyException] Promise enumerateDevices();
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCDTMFSenderidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCDTMFSender.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCDTMFSender.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/mediastream/RTCDTMFSender.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx">     readonly attribute long duration;
</span><span class="cx">     readonly attribute long interToneGap;
</span><span class="cx"> 
</span><del>-    [RaisesException] void insertDTMF(DOMString tones, optional long duration, optional long interToneGap);
</del><ins>+    [MayThrowLegacyException] void insertDTMF(DOMString tones, optional long duration, optional long interToneGap);
</ins><span class="cx"> 
</span><span class="cx">     attribute EventHandler ontonechange;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCDataChannelidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCDataChannel.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCDataChannel.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/mediastream/RTCDataChannel.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -36,12 +36,12 @@
</span><span class="cx">     readonly attribute DOMString readyState;
</span><span class="cx">     readonly attribute unsigned long bufferedAmount;
</span><span class="cx"> 
</span><del>-    [SetterRaisesException] attribute DOMString binaryType;
</del><ins>+    [SetterMayThrowLegacyException] attribute DOMString binaryType;
</ins><span class="cx"> 
</span><del>-    [RaisesException] void send(ArrayBuffer data);
-    [RaisesException] void send(ArrayBufferView data);
-    [RaisesException] void send(Blob data);
-    [RaisesException] void send(DOMString data);
</del><ins>+    [MayThrowLegacyException] void send(ArrayBuffer data);
+    [MayThrowLegacyException] void send(ArrayBufferView data);
+    [MayThrowLegacyException] void send(Blob data);
+    [MayThrowLegacyException] void send(DOMString data);
</ins><span class="cx"> 
</span><span class="cx">     void close();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCIceCandidateidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCIceCandidate.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCIceCandidate.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/mediastream/RTCIceCandidate.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> [
</span><span class="cx">     Conditional=WEB_RTC,
</span><span class="cx">     Constructor(Dictionary dictionary),
</span><del>-    ConstructorRaisesException,
</del><ins>+    ConstructorMayThrowLegacyException,
</ins><span class="cx">     PrivateIdentifier,
</span><span class="cx">     PublicIdentifier
</span><span class="cx"> ] interface RTCIceCandidate {
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCPeerConnectionidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx">     InterfaceName=webkitRTCPeerConnection,
</span><span class="cx"> ] interface RTCPeerConnection : EventTarget {
</span><span class="cx">     // Private initializer
</span><del>-    [PrivateIdentifier, CallWith=Document, RaisesException] void initializeWith(Dictionary parameters);
</del><ins>+    [PrivateIdentifier, CallWith=Document, MayThrowLegacyException] void initializeWith(Dictionary parameters);
</ins><span class="cx"> 
</span><span class="cx">     // RTP Media API extensions
</span><span class="cx">     [PrivateIdentifier, PublicIdentifier] sequence&lt;RTCRtpSender&gt; getSenders();
</span><span class="lines">@@ -45,11 +45,11 @@
</span><span class="cx">     sequence&lt;RTCRtpReceiver&gt; getReceivers();
</span><span class="cx">     sequence&lt;RTCRtpTransceiver&gt; getTransceivers();
</span><span class="cx"> 
</span><del>-    [PrivateIdentifier, PublicIdentifier, RaisesException] RTCRtpSender addTrack(MediaStreamTrack track, MediaStream... streams);
-    [PrivateIdentifier, PublicIdentifier, RaisesException] void removeTrack(RTCRtpSender sender);
</del><ins>+    [PrivateIdentifier, PublicIdentifier, MayThrowLegacyException] RTCRtpSender addTrack(MediaStreamTrack track, MediaStream... streams);
+    [PrivateIdentifier, PublicIdentifier, MayThrowLegacyException] void removeTrack(RTCRtpSender sender);
</ins><span class="cx"> 
</span><del>-    [RaisesException] RTCRtpTransceiver addTransceiver(MediaStreamTrack track, optional RTCRtpTransceiverInit init);
-    [RaisesException] RTCRtpTransceiver addTransceiver(DOMString kind, optional RTCRtpTransceiverInit init);
</del><ins>+    [MayThrowLegacyException] RTCRtpTransceiver addTransceiver(MediaStreamTrack track, optional RTCRtpTransceiverInit init);
+    [MayThrowLegacyException] RTCRtpTransceiver addTransceiver(DOMString kind, optional RTCRtpTransceiverInit init);
</ins><span class="cx"> 
</span><span class="cx">     // Legacy MediaSream-based API (implemented on top of the RTP Media API)
</span><span class="cx">     [JSBuiltin] sequence&lt;MediaStream&gt; getLocalStreams();
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx">     readonly attribute DOMString iceConnectionState;
</span><span class="cx"> 
</span><span class="cx">     RTCConfiguration getConfiguration();
</span><del>-    [RaisesException] void setConfiguration(Dictionary configuration);
</del><ins>+    [MayThrowLegacyException] void setConfiguration(Dictionary configuration);
</ins><span class="cx"> 
</span><span class="cx">     [JSBuiltin] Promise getStats(optional MediaStreamTrack? selector = null);
</span><span class="cx">     // Legacy signature: Promise getStats(MediaStreamTrack? selector
</span><span class="lines">@@ -114,7 +114,7 @@
</span><span class="cx">     [PrivateIdentifier] Promise queuedAddIceCandidate(RTCIceCandidate candidate);
</span><span class="cx">     [PrivateIdentifier] Promise privateGetStats(MediaStreamTrack? selector);
</span><span class="cx"> 
</span><del>-    [RaisesException] RTCDataChannel createDataChannel([TreatNullAs=EmptyString] DOMString label, optional Dictionary options);
</del><ins>+    [MayThrowLegacyException] RTCDataChannel createDataChannel([TreatNullAs=EmptyString] DOMString label, optional Dictionary options);
</ins><span class="cx"> 
</span><span class="cx">     void close();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCRtpSenderidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -33,5 +33,5 @@
</span><span class="cx"> ] interface RTCRtpSender {
</span><span class="cx">     readonly attribute MediaStreamTrack? track;
</span><span class="cx"> 
</span><del>-    [RaisesException] Promise replaceTrack(MediaStreamTrack withTrack);
</del><ins>+    [MayThrowLegacyException] Promise replaceTrack(MediaStreamTrack withTrack);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCSessionDescriptionidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCSessionDescription.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCSessionDescription.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/mediastream/RTCSessionDescription.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -32,11 +32,11 @@
</span><span class="cx"> [
</span><span class="cx">     Conditional=WEB_RTC,
</span><span class="cx">     Constructor(Dictionary dictionary),
</span><del>-    ConstructorRaisesException,
</del><ins>+    ConstructorMayThrowLegacyException,
</ins><span class="cx">     PrivateIdentifier,
</span><span class="cx">     PublicIdentifier
</span><span class="cx"> ] interface RTCSessionDescription {
</span><del>-    [SetterRaisesException] readonly attribute RTCSdpType type;
</del><ins>+    [SetterMayThrowLegacyException] readonly attribute RTCSdpType type;
</ins><span class="cx">     readonly attribute DOMString sdp;
</span><span class="cx"> 
</span><span class="cx">     serializer = {type, sdp};
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesnavigatorcontentutilsNavigatorContentUtilsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -20,8 +20,8 @@
</span><span class="cx"> 
</span><span class="cx"> // http://www.w3.org/TR/html5/system-state-and-capabilities.html#custom-handlers
</span><span class="cx"> partial interface Navigator {
</span><del>-    [Conditional=NAVIGATOR_CONTENT_UTILS, RaisesException] void registerProtocolHandler(DOMString scheme, DOMString url, DOMString title);
-    [Conditional=NAVIGATOR_CONTENT_UTILS&amp;CUSTOM_SCHEME_HANDLER, RaisesException] DOMString isProtocolHandlerRegistered(DOMString scheme, DOMString url);
-    [Conditional=NAVIGATOR_CONTENT_UTILS&amp;CUSTOM_SCHEME_HANDLER, RaisesException] void unregisterProtocolHandler(DOMString scheme, DOMString url);
</del><ins>+    [Conditional=NAVIGATOR_CONTENT_UTILS, MayThrowLegacyException] void registerProtocolHandler(DOMString scheme, DOMString url, DOMString title);
+    [Conditional=NAVIGATOR_CONTENT_UTILS&amp;CUSTOM_SCHEME_HANDLER, MayThrowLegacyException] DOMString isProtocolHandlerRegistered(DOMString scheme, DOMString url);
+    [Conditional=NAVIGATOR_CONTENT_UTILS&amp;CUSTOM_SCHEME_HANDLER, MayThrowLegacyException] void unregisterProtocolHandler(DOMString scheme, DOMString url);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesnotificationsNotificationCenteridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/notifications/NotificationCenter.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/notifications/NotificationCenter.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/notifications/NotificationCenter.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx">     Conditional=LEGACY_NOTIFICATIONS,
</span><span class="cx">     NoInterfaceObject,
</span><span class="cx"> ] interface NotificationCenter {
</span><del>-   [RaisesException] Notification createNotification(DOMString iconUrl, DOMString title, DOMString body);
</del><ins>+   [MayThrowLegacyException] Notification createNotification(DOMString iconUrl, DOMString title, DOMString body);
</ins><span class="cx"> 
</span><span class="cx">    long checkPermission();
</span><span class="cx">    void requestPermission(optional VoidCallback? callback);
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAnalyserNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AnalyserNode.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AnalyserNode.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/webaudio/AnalyserNode.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,15 +26,15 @@
</span><span class="cx">     Conditional=WEB_AUDIO,
</span><span class="cx">     JSGenerateToJSObject,
</span><span class="cx"> ] interface AnalyserNode : AudioNode {
</span><del>-    [SetterRaisesException] attribute unsigned long fftSize;
</del><ins>+    [SetterMayThrowLegacyException] attribute unsigned long fftSize;
</ins><span class="cx">     readonly attribute unsigned long frequencyBinCount;
</span><span class="cx"> 
</span><span class="cx">     // minDecibels / maxDecibels represent the range to scale the FFT analysis data for conversion to unsigned byte values.
</span><del>-    [SetterRaisesException] attribute unrestricted double minDecibels;
-    [SetterRaisesException] attribute unrestricted double maxDecibels;
</del><ins>+    [SetterMayThrowLegacyException] attribute unrestricted double minDecibels;
+    [SetterMayThrowLegacyException] attribute unrestricted double maxDecibels;
</ins><span class="cx"> 
</span><span class="cx">     // A value from 0.0 -&gt; 1.0 where 0.0 represents no time averaging with the last analysis frame.
</span><del>-    [SetterRaisesException] attribute unrestricted double smoothingTimeConstant;
</del><ins>+    [SetterMayThrowLegacyException] attribute unrestricted double smoothingTimeConstant;
</ins><span class="cx"> 
</span><span class="cx">     // Copies the current frequency data into the passed array.
</span><span class="cx">     // If the array has fewer elements than the frequencyBinCount, the excess elements will be dropped.
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioBufferidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioBuffer.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioBuffer.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/webaudio/AudioBuffer.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -39,5 +39,5 @@
</span><span class="cx"> 
</span><span class="cx">     // Channel access
</span><span class="cx">     readonly attribute unsigned long numberOfChannels;
</span><del>-    [RaisesException] Float32Array getChannelData(unsigned long channelIndex);
</del><ins>+    [MayThrowLegacyException] Float32Array getChannelData(unsigned long channelIndex);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioBufferSourceNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/webaudio/AudioBufferSourceNode.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -44,8 +44,8 @@
</span><span class="cx">     attribute unrestricted double loopStart;
</span><span class="cx">     attribute unrestricted double loopEnd;
</span><span class="cx"> 
</span><del>-    [RaisesException] void start(optional unrestricted double when = 0, optional unrestricted double grainOffset = 0, optional unrestricted double grainDuration);
-    [RaisesException] void stop(optional unrestricted double when = 0);
</del><ins>+    [MayThrowLegacyException] void start(optional unrestricted double when = 0, optional unrestricted double grainOffset = 0, optional unrestricted double grainDuration);
+    [MayThrowLegacyException] void stop(optional unrestricted double when = 0);
</ins><span class="cx"> 
</span><span class="cx">     attribute EventHandler onended;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioContextidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioContext.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioContext.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/webaudio/AudioContext.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -61,8 +61,8 @@
</span><span class="cx">     // Number of AudioBufferSourceNodes that are currently playing.
</span><span class="cx">     readonly attribute unsigned long activeSourceCount;
</span><span class="cx">     
</span><del>-    [RaisesException] AudioBuffer createBuffer(unsigned long numberOfChannels, unsigned long numberOfFrames, unrestricted float sampleRate);
-    [RaisesException] AudioBuffer createBuffer(ArrayBuffer buffer, boolean mixToMono);
</del><ins>+    [MayThrowLegacyException] AudioBuffer createBuffer(unsigned long numberOfChannels, unsigned long numberOfFrames, unrestricted float sampleRate);
+    [MayThrowLegacyException] AudioBuffer createBuffer(ArrayBuffer buffer, boolean mixToMono);
</ins><span class="cx"> 
</span><span class="cx">     // Asynchronous audio file data decoding.
</span><span class="cx">     // FIXME: successCallback should be optional and the callbacks should not be nullable. This should also return a Promise.
</span><span class="lines">@@ -71,14 +71,14 @@
</span><span class="cx">     // Sources
</span><span class="cx">     AudioBufferSourceNode createBufferSource();
</span><span class="cx"> 
</span><del>-    [Conditional=VIDEO, RaisesException] MediaElementAudioSourceNode createMediaElementSource(HTMLMediaElement mediaElement);
</del><ins>+    [Conditional=VIDEO, MayThrowLegacyException] MediaElementAudioSourceNode createMediaElementSource(HTMLMediaElement mediaElement);
</ins><span class="cx"> 
</span><del>-    [Conditional=MEDIA_STREAM, RaisesException] MediaStreamAudioSourceNode createMediaStreamSource(MediaStream mediaStream);
</del><ins>+    [Conditional=MEDIA_STREAM, MayThrowLegacyException] MediaStreamAudioSourceNode createMediaStreamSource(MediaStream mediaStream);
</ins><span class="cx">     [Conditional=MEDIA_STREAM] MediaStreamAudioDestinationNode createMediaStreamDestination();
</span><span class="cx"> 
</span><span class="cx">     // Processing nodes
</span><span class="cx">     GainNode createGain();
</span><del>-    [RaisesException] DelayNode createDelay(optional unrestricted double maxDelayTime = 1);
</del><ins>+    [MayThrowLegacyException] DelayNode createDelay(optional unrestricted double maxDelayTime = 1);
</ins><span class="cx">     BiquadFilterNode createBiquadFilter();
</span><span class="cx">     WaveShaperNode createWaveShaper();
</span><span class="cx">     PannerNode createPanner();
</span><span class="lines">@@ -85,13 +85,13 @@
</span><span class="cx">     ConvolverNode createConvolver();
</span><span class="cx">     DynamicsCompressorNode createDynamicsCompressor();
</span><span class="cx">     AnalyserNode createAnalyser();
</span><del>-    [RaisesException] ScriptProcessorNode createScriptProcessor(unsigned long bufferSize, optional unsigned long numberOfInputChannels = 2, optional unsigned long numberOfOutputChannels = 2);
</del><ins>+    [MayThrowLegacyException] ScriptProcessorNode createScriptProcessor(unsigned long bufferSize, optional unsigned long numberOfInputChannels = 2, optional unsigned long numberOfOutputChannels = 2);
</ins><span class="cx">     OscillatorNode createOscillator();
</span><del>-    [RaisesException] PeriodicWave createPeriodicWave(Float32Array real, Float32Array imag);
</del><ins>+    [MayThrowLegacyException] PeriodicWave createPeriodicWave(Float32Array real, Float32Array imag);
</ins><span class="cx"> 
</span><span class="cx">     // Channel splitting and merging
</span><del>-    [RaisesException] ChannelSplitterNode createChannelSplitter(optional unsigned long numberOfOutputs = 6);
-    [RaisesException] ChannelMergerNode createChannelMerger(optional unsigned long numberOfInputs = 6);
</del><ins>+    [MayThrowLegacyException] ChannelSplitterNode createChannelSplitter(optional unsigned long numberOfOutputs = 6);
+    [MayThrowLegacyException] ChannelMergerNode createChannelMerger(optional unsigned long numberOfInputs = 6);
</ins><span class="cx"> 
</span><span class="cx">     // Offline rendering
</span><span class="cx">     // void prepareOfflineBufferRendering(unsigned long numberOfChannels, unsigned long numberOfFrames, unrestricted float sampleRate);
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioNode.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioNode.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/webaudio/AudioNode.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -30,11 +30,11 @@
</span><span class="cx">     readonly attribute unsigned long numberOfInputs;
</span><span class="cx">     readonly attribute unsigned long numberOfOutputs;
</span><span class="cx"> 
</span><del>-    [SetterRaisesException] attribute unsigned long channelCount;
-    [SetterRaisesException] attribute DOMString channelCountMode;
-    [SetterRaisesException] attribute DOMString channelInterpretation;
</del><ins>+    [SetterMayThrowLegacyException] attribute unsigned long channelCount;
+    [SetterMayThrowLegacyException] attribute DOMString channelCountMode;
+    [SetterMayThrowLegacyException] attribute DOMString channelInterpretation;
</ins><span class="cx"> 
</span><del>-    [RaisesException] void connect(AudioNode? destination, optional unsigned long output = 0, optional unsigned long input = 0);
-    [RaisesException] void connect(AudioParam? destination, optional unsigned long output = 0);
-    [RaisesException] void disconnect(optional unsigned long output = 0);
</del><ins>+    [MayThrowLegacyException] void connect(AudioNode? destination, optional unsigned long output = 0, optional unsigned long input = 0);
+    [MayThrowLegacyException] void connect(AudioParam? destination, optional unsigned long output = 0);
+    [MayThrowLegacyException] void disconnect(optional unsigned long output = 0);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioConvolverNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/ConvolverNode.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/ConvolverNode.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/webaudio/ConvolverNode.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -27,6 +27,6 @@
</span><span class="cx">     Conditional=WEB_AUDIO,
</span><span class="cx">     JSGenerateToJSObject
</span><span class="cx"> ] interface ConvolverNode : AudioNode {
</span><del>-    [SetterRaisesException] attribute AudioBuffer? buffer;
</del><ins>+    [SetterMayThrowLegacyException] attribute AudioBuffer? buffer;
</ins><span class="cx">     attribute boolean normalize;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioOfflineAudioContextidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/OfflineAudioContext.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/OfflineAudioContext.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/webaudio/OfflineAudioContext.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx">     Conditional=WEB_AUDIO,
</span><span class="cx">     JSGenerateToJSObject,
</span><span class="cx">     Constructor(unsigned long numberOfChannels, unsigned long numberOfFrames, unrestricted float sampleRate),
</span><del>-    ConstructorRaisesException,
</del><ins>+    ConstructorMayThrowLegacyException,
</ins><span class="cx">     ConstructorCallWith=ScriptExecutionContext,
</span><span class="cx">     InterfaceName=webkitOfflineAudioContext
</span><span class="cx"> ] interface OfflineAudioContext : AudioContext {
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioOscillatorNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/OscillatorNode.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/OscillatorNode.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/webaudio/OscillatorNode.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx">     Conditional=WEB_AUDIO,
</span><span class="cx">     JSGenerateToJSObject,
</span><span class="cx"> ] interface OscillatorNode : AudioNode {
</span><del>-    [SetterRaisesException] attribute OscillatorType type;
</del><ins>+    [SetterMayThrowLegacyException] attribute OscillatorType type;
</ins><span class="cx"> 
</span><span class="cx">     // Playback state constants.
</span><span class="cx">     const unsigned short UNSCHEDULED_STATE = 0;
</span><span class="lines">@@ -48,8 +48,8 @@
</span><span class="cx">     readonly attribute AudioParam frequency; // in Hertz
</span><span class="cx">     readonly attribute AudioParam detune; // in Cents
</span><span class="cx"> 
</span><del>-    [RaisesException] void start(optional unrestricted double when = 0);
-    [RaisesException] void stop(optional unrestricted double when = 0);
</del><ins>+    [MayThrowLegacyException] void start(optional unrestricted double when = 0);
+    [MayThrowLegacyException] void stop(optional unrestricted double when = 0);
</ins><span class="cx"> 
</span><span class="cx">     void setPeriodicWave(PeriodicWave? wave); // FIXME: The parameter should not be nullable.
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDOMWindowWebDatabaseidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,6 +26,6 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx"> ] partial interface DOMWindow {
</span><del>-    [RaisesException] Database openDatabase(DOMString name, DOMString version, DOMString displayName, unsigned long estimatedSize, optional DatabaseCallback? creationCallback);
</del><ins>+    [MayThrowLegacyException] Database openDatabase(DOMString name, DOMString version, DOMString displayName, unsigned long estimatedSize, optional DatabaseCallback? creationCallback);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseSQLResultSetidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/SQLResultSet.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/SQLResultSet.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/webdatabase/SQLResultSet.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -30,6 +30,6 @@
</span><span class="cx">     ImplementationLacksVTable
</span><span class="cx"> ] interface SQLResultSet {
</span><span class="cx">     readonly attribute SQLResultSetRowList rows;
</span><del>-    [GetterRaisesException] readonly attribute long insertId;
</del><ins>+    [GetterMayThrowLegacyException] readonly attribute long insertId;
</ins><span class="cx">     readonly attribute long rowsAffected;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebsocketsWebSocketidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/websockets/WebSocket.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/websockets/WebSocket.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/Modules/websockets/WebSocket.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx">     Conditional=WEB_SOCKETS,
</span><span class="cx">     Constructor(USVString url, optional sequence&lt;DOMString&gt; protocols = []),
</span><span class="cx">     Constructor(USVString url, DOMString protocol),
</span><del>-    ConstructorRaisesException,
</del><ins>+    ConstructorMayThrowLegacyException,
</ins><span class="cx">     ConstructorCallWith=ScriptExecutionContext,
</span><span class="cx">     EnabledAtRuntime,
</span><span class="cx">     Exposed=(Window,Worker),
</span><span class="lines">@@ -60,12 +60,12 @@
</span><span class="cx">     readonly attribute DOMString? protocol;
</span><span class="cx">     readonly attribute DOMString? extensions;
</span><span class="cx"> 
</span><del>-    [SetterRaisesException] attribute DOMString binaryType;
</del><ins>+    [SetterMayThrowLegacyException] attribute DOMString binaryType;
</ins><span class="cx"> 
</span><del>-    [RaisesException] void send(ArrayBuffer data);
-    [RaisesException] void send(ArrayBufferView data);
-    [RaisesException] void send(Blob data);
-    [RaisesException] void send(USVString data);
</del><ins>+    [MayThrowLegacyException] void send(ArrayBuffer data);
+    [MayThrowLegacyException] void send(ArrayBufferView data);
+    [MayThrowLegacyException] void send(Blob data);
+    [MayThrowLegacyException] void send(USVString data);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void close([Clamp] optional unsigned short code, optional DOMString reason);
</del><ins>+    [MayThrowLegacyException] void close([Clamp] optional unsigned short code, optional DOMString reason);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -146,7 +146,7 @@
</span><span class="cx">         my $stringifier = domFunction-&gt;new();
</span><span class="cx">         $stringifier-&gt;signature(domSignature-&gt;new());
</span><span class="cx">         my $extendedAttributeList = {};
</span><del>-        $extendedAttributeList-&gt;{&quot;ImplementedAs&quot;} = $attribute-&gt;signature-&gt;name;
</del><ins>+        $extendedAttributeList-&gt;{ImplementedAs} = $attribute-&gt;signature-&gt;name;
</ins><span class="cx">         $stringifier-&gt;signature-&gt;extendedAttributes($extendedAttributeList);
</span><span class="cx">         $stringifier-&gt;signature-&gt;name(&quot;toString&quot;);
</span><span class="cx">         die &quot;stringifier can only be used on attributes of String types&quot; unless $codeGenerator-&gt;IsStringType($attribute-&gt;signature-&gt;type);
</span><span class="lines">@@ -159,7 +159,7 @@
</span><span class="cx"> sub EventHandlerAttributeEventName
</span><span class="cx"> {
</span><span class="cx">     my $attribute = shift;
</span><del>-    my $eventType = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ImplementedAs&quot;} || $attribute-&gt;signature-&gt;name;
</del><ins>+    my $eventType = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{ImplementedAs} || $attribute-&gt;signature-&gt;name;
</ins><span class="cx"> 
</span><span class="cx">     # Remove the &quot;on&quot; prefix.
</span><span class="cx">     $eventType = substr($eventType, 2);
</span><span class="lines">@@ -171,7 +171,7 @@
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><span class="cx"> 
</span><del>-    return $interface-&gt;extendedAttributes-&gt;{&quot;JSLegacyParent&quot;} if $interface-&gt;extendedAttributes-&gt;{&quot;JSLegacyParent&quot;};
</del><ins>+    return $interface-&gt;extendedAttributes-&gt;{JSLegacyParent} if $interface-&gt;extendedAttributes-&gt;{JSLegacyParent};
</ins><span class="cx">     return &quot;JSDOMObject&quot; unless NeedsImplementationClass($interface);
</span><span class="cx">     return &quot;JSDOMWrapper&lt;&quot; . GetImplClassName($interface-&gt;name) . &quot;&gt;&quot; unless $interface-&gt;parent;
</span><span class="cx">     return &quot;JS&quot; . $interface-&gt;parent;
</span><span class="lines">@@ -188,7 +188,7 @@
</span><span class="cx"> {
</span><span class="cx">     my $callbackInterface = shift;
</span><span class="cx"> 
</span><del>-    return $callbackInterface-&gt;extendedAttributes-&gt;{&quot;IsWeakCallback&quot;} ? &quot;JSCallbackDataWeak&quot; : &quot;JSCallbackDataStrong&quot;;
</del><ins>+    return $callbackInterface-&gt;extendedAttributes-&gt;{IsWeakCallback} ? &quot;JSCallbackDataWeak&quot; : &quot;JSCallbackDataStrong&quot;;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub AddIncludesForTypeInImpl
</span><span class="lines">@@ -211,7 +211,7 @@
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><span class="cx"> 
</span><del>-    return $interface-&gt;extendedAttributes-&gt;{&quot;ExportMacro&quot;} . &quot; &quot; if $interface-&gt;extendedAttributes-&gt;{&quot;ExportMacro&quot;};
</del><ins>+    return $interface-&gt;extendedAttributes-&gt;{ExportMacro} . &quot; &quot; if $interface-&gt;extendedAttributes-&gt;{ExportMacro};
</ins><span class="cx">     return &quot;&quot;;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -257,7 +257,7 @@
</span><span class="cx"> sub IsReadonly
</span><span class="cx"> {
</span><span class="cx">     my $attribute = shift;
</span><del>-    return $attribute-&gt;isReadOnly &amp;&amp; !$attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Replaceable&quot;} &amp;&amp; !$attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;PutForwards&quot;};
</del><ins>+    return $attribute-&gt;isReadOnly &amp;&amp; !$attribute-&gt;signature-&gt;extendedAttributes-&gt;{Replaceable} &amp;&amp; !$attribute-&gt;signature-&gt;extendedAttributes-&gt;{PutForwards};
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub AddClassForwardIfNeeded
</span><span class="lines">@@ -264,9 +264,8 @@
</span><span class="cx"> {
</span><span class="cx">     my $interfaceName = shift;
</span><span class="cx"> 
</span><del>-    # SVGAnimatedLength/Number/etc. are typedefs and should not be forward-declared as classes.
</del><ins>+    # SVGAnimatedLength/Number/etc. are not classes so they can't be forward declared as classes.
</ins><span class="cx">     return if $codeGenerator-&gt;IsSVGAnimatedType($interfaceName);
</span><del>-
</del><span class="cx">     return if $codeGenerator-&gt;IsTypedArrayType($interfaceName);
</span><span class="cx"> 
</span><span class="cx">     push(@headerContent, &quot;class $interfaceName;\n\n&quot;);
</span><span class="lines">@@ -275,13 +274,13 @@
</span><span class="cx"> sub GetGenerateIsReachable
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-    return $interface-&gt;extendedAttributes-&gt;{&quot;GenerateIsReachable&quot;};
</del><ins>+    return $interface-&gt;extendedAttributes-&gt;{GenerateIsReachable};
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub GetCustomIsReachable
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-    return $interface-&gt;extendedAttributes-&gt;{&quot;CustomIsReachable&quot;};
</del><ins>+    return $interface-&gt;extendedAttributes-&gt;{CustomIsReachable};
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub IsDOMGlobalObject
</span><span class="lines">@@ -336,7 +335,7 @@
</span><span class="cx">         }
</span><span class="cx">         push(@getOwnPropertySlotImpl, &quot;        unsigned index = optionalIndex.value();\n&quot;);
</span><span class="cx">         # Assume that if there's a setter, the index will be writable
</span><del>-        if ($interface-&gt;extendedAttributes-&gt;{&quot;CustomIndexedSetter&quot;}) {
</del><ins>+        if ($interface-&gt;extendedAttributes-&gt;{CustomIndexedSetter}) {
</ins><span class="cx">             push(@getOwnPropertySlotImpl, &quot;        unsigned attributes = 0;\n&quot;);
</span><span class="cx">         } else {
</span><span class="cx">             push(@getOwnPropertySlotImpl, &quot;        unsigned attributes = ${namespaceMaybe}ReadOnly;\n&quot;);
</span><span class="lines">@@ -346,9 +345,9 @@
</span><span class="cx">         push(@getOwnPropertySlotImpl, &quot;    }\n&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    my $hasNamedGetter = $namedGetterFunction || $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedGetter&quot;};
</del><ins>+    my $hasNamedGetter = $namedGetterFunction || $interface-&gt;extendedAttributes-&gt;{CustomNamedGetter};
</ins><span class="cx">     if ($hasNamedGetter) {
</span><del>-        if (!$interface-&gt;extendedAttributes-&gt;{&quot;OverrideBuiltins&quot;}) {
</del><ins>+        if (!$interface-&gt;extendedAttributes-&gt;{OverrideBuiltins}) {
</ins><span class="cx">             &amp;$ownPropertyCheck();
</span><span class="cx">             &amp;$prototypeCheck();
</span><span class="cx">         }
</span><span class="lines">@@ -375,12 +374,12 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;JSCustomGetOwnPropertySlotAndDescriptor&quot;}) {
</del><ins>+    if ($interface-&gt;extendedAttributes-&gt;{JSCustomGetOwnPropertySlotAndDescriptor}) {
</ins><span class="cx">         push(@getOwnPropertySlotImpl, &quot;    if (thisObject-&gt;getOwnPropertySlotDelegate(state, propertyName, slot))\n&quot;);
</span><span class="cx">         push(@getOwnPropertySlotImpl, &quot;        return true;\n&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (!$hasNamedGetter || $interface-&gt;extendedAttributes-&gt;{&quot;OverrideBuiltins&quot;}) {
</del><ins>+    if (!$hasNamedGetter || $interface-&gt;extendedAttributes-&gt;{OverrideBuiltins}) {
</ins><span class="cx">         &amp;$ownPropertyCheck();
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -395,7 +394,7 @@
</span><span class="cx">     my $className = &quot;JS&quot; . $interface-&gt;name;
</span><span class="cx"> 
</span><span class="cx">     my @headerContentHeader;
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;AppleCopyright&quot;}) {
</del><ins>+    if ($interface-&gt;extendedAttributes-&gt;{AppleCopyright}) {
</ins><span class="cx">         @headerContentHeader = split(&quot;\r&quot;, $beginAppleCopyrightForHeaderFiles);
</span><span class="cx">     } else {
</span><span class="cx">         @headerContentHeader = split(&quot;\r&quot;, $headerTemplate);
</span><span class="lines">@@ -414,7 +413,7 @@
</span><span class="cx">     my $className = &quot;JS&quot; . $interface-&gt;name;
</span><span class="cx"> 
</span><span class="cx">     my @implContentHeader;
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;AppleCopyright&quot;}) {
</del><ins>+    if ($interface-&gt;extendedAttributes-&gt;{AppleCopyright}) {
</ins><span class="cx">         @implContentHeader = split(&quot;\r&quot;, $beginAppleCopyrightForSourceFiles);
</span><span class="cx">     } else {
</span><span class="cx">         @implContentHeader = split(&quot;\r&quot;, $headerTemplate);
</span><span class="lines">@@ -431,7 +430,7 @@
</span><span class="cx"> {
</span><span class="cx">     my ($interface) = @_;
</span><span class="cx"> 
</span><del>-    return 0 if $interface-&gt;extendedAttributes-&gt;{&quot;JSBuiltin&quot;};
</del><ins>+    return 0 if $interface-&gt;extendedAttributes-&gt;{JSBuiltin};
</ins><span class="cx">     return 1;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -440,7 +439,7 @@
</span><span class="cx">     my ($hasParent, $interface) = @_;
</span><span class="cx"> 
</span><span class="cx">     return 0 if not NeedsImplementationClass($interface);
</span><del>-    return 1 if !$hasParent or $interface-&gt;extendedAttributes-&gt;{&quot;JSGenerateToNativeObject&quot;};
</del><ins>+    return 1 if !$hasParent or $interface-&gt;extendedAttributes-&gt;{JSGenerateToNativeObject};
</ins><span class="cx">     return 1 if $interface-&gt;parent &amp;&amp; $interface-&gt;parent eq &quot;EventTarget&quot;;
</span><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="lines">@@ -450,13 +449,11 @@
</span><span class="cx">     my ($hasParent, $interface) = @_;
</span><span class="cx"> 
</span><span class="cx">     return 0 if not NeedsImplementationClass($interface);
</span><del>-    if (!$hasParent ||
-        GetGenerateIsReachable($interface) ||
-        GetCustomIsReachable($interface) ||
-        $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomFinalize&quot;} ||
-        $codeGenerator-&gt;InheritsExtendedAttribute($interface, &quot;ActiveDOMObject&quot;)) {
-        return 1;
-    }
</del><ins>+    return 1 if !$hasParent;
+    return 1 if GetGenerateIsReachable($interface);
+    return 1 if GetCustomIsReachable($interface);
+    return 1 if $interface-&gt;extendedAttributes-&gt;{JSCustomFinalize};
+    return 1 if $codeGenerator-&gt;InheritsExtendedAttribute($interface, &quot;ActiveDOMObject&quot;);
</ins><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -464,12 +461,12 @@
</span><span class="cx"> {
</span><span class="cx">     my ($hasParent, $interface) = @_;
</span><span class="cx"> 
</span><del>-    return 0 if ($interface-&gt;extendedAttributes-&gt;{&quot;SuppressToJSObject&quot;});
</del><ins>+    return 0 if ($interface-&gt;extendedAttributes-&gt;{SuppressToJSObject});
</ins><span class="cx">     return 0 if not NeedsImplementationClass($interface);
</span><del>-    return 0 if $interface-&gt;extendedAttributes-&gt;{&quot;CustomProxyToJSObject&quot;};
-    return 1 if (!$hasParent or $interface-&gt;extendedAttributes-&gt;{&quot;JSGenerateToJSObject&quot;} or $interface-&gt;extendedAttributes-&gt;{&quot;CustomToJSObject&quot;});
</del><ins>+    return 0 if $interface-&gt;extendedAttributes-&gt;{CustomProxyToJSObject};
+    return 1 if (!$hasParent or $interface-&gt;extendedAttributes-&gt;{JSGenerateToJSObject} or $interface-&gt;extendedAttributes-&gt;{CustomToJSObject});
</ins><span class="cx">     return 1 if $interface-&gt;parent &amp;&amp; $interface-&gt;parent eq &quot;EventTarget&quot;;
</span><del>-    return 1 if $interface-&gt;extendedAttributes-&gt;{&quot;Constructor&quot;} or $interface-&gt;extendedAttributes-&gt;{&quot;NamedConstructor&quot;};
</del><ins>+    return 1 if $interface-&gt;extendedAttributes-&gt;{Constructor} or $interface-&gt;extendedAttributes-&gt;{NamedConstructor};
</ins><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -478,7 +475,7 @@
</span><span class="cx">     my ($hasParent, $interface) = @_;
</span><span class="cx"> 
</span><span class="cx">     return 0 if not ShouldGenerateToJSDeclaration($hasParent, $interface);
</span><del>-    return 1 if not $interface-&gt;extendedAttributes-&gt;{&quot;CustomToJSObject&quot;};
</del><ins>+    return 1 if not $interface-&gt;extendedAttributes-&gt;{CustomToJSObject};
</ins><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -535,21 +532,9 @@
</span><span class="cx"> sub HasComplexGetOwnProperty
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-
-    my $namedGetterFunction = GetNamedGetterFunction($interface);
-    my $indexedGetterFunction = GetIndexedGetterFunction($interface);
-
-    my $hasNamedGetter = $namedGetterFunction || $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedGetter&quot;};
-
-    my $hasComplexGetter = $indexedGetterFunction
-        || $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomGetOwnPropertySlotAndDescriptor&quot;}
-        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomGetOwnPropertySlot&quot;}
-        || $hasNamedGetter;
-
-    return 1 if $interface-&gt;extendedAttributes-&gt;{&quot;CheckSecurity&quot;};
-    return 1 if IsDOMGlobalObject($interface);
-    return 1 if $hasComplexGetter;
-    return 0;
</del><ins>+    return $interface-&gt;extendedAttributes-&gt;{CheckSecurity}
+        || IsDOMGlobalObject($interface)
+        || InstanceOverridesGetOwnPropertySlot($interface);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub InterfaceRequiresAttributesOnInstance
</span><span class="lines">@@ -559,7 +544,7 @@
</span><span class="cx"> 
</span><span class="cx">     # FIXME: All these return 1 if ... should ideally be removed.
</span><span class="cx">     # Some of them are unavoidable due to DOM weirdness, in which case we should
</span><del>-    # add an IDL attribute for them
</del><ins>+    # add an IDL attribute for them.
</ins><span class="cx"> 
</span><span class="cx">     # FIXME: We should be able to drop this once &lt;rdar://problem/24466097&gt; is fixed.
</span><span class="cx">     return 1 if $interface-&gt;isException;
</span><span class="lines">@@ -576,7 +561,7 @@
</span><span class="cx">     my $attribute = shift;
</span><span class="cx"> 
</span><span class="cx">     # FIXME: The bindings generator does not support putting runtime-enabled attributes on the instance yet (except for global objects).
</span><del>-    return 0 if $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;EnabledAtRuntime&quot;} &amp;&amp; !IsDOMGlobalObject($interface);
</del><ins>+    return 0 if $attribute-&gt;signature-&gt;extendedAttributes-&gt;{EnabledAtRuntime} &amp;&amp; !IsDOMGlobalObject($interface);
</ins><span class="cx"> 
</span><span class="cx">     return 1 if InterfaceRequiresAttributesOnInstance($interface);
</span><span class="cx">     return 1 if $attribute-&gt;signature-&gt;type =~ /Constructor$/;
</span><span class="lines">@@ -585,13 +570,12 @@
</span><span class="cx">     # https://heycam.github.io/webidl/#Unforgeable
</span><span class="cx">     return 1 if IsUnforgeable($interface, $attribute);
</span><span class="cx"> 
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;CheckSecurity&quot;}) {
-        if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;DoNotCheckSecurity&quot;} or
-            $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;DoNotCheckSecurityOnGetter&quot;}) {
-            return 0;
-        }
</del><ins>+    if ($interface-&gt;extendedAttributes-&gt;{CheckSecurity}) {
+        return 0 if $attribute-&gt;signature-&gt;extendedAttributes-&gt;{DoNotCheckSecurity};
+        return 0 if $attribute-&gt;signature-&gt;extendedAttributes-&gt;{DoNotCheckSecurityOnGetter};
</ins><span class="cx">         return 1;
</span><span class="cx">     }
</span><ins>+
</ins><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -605,7 +589,7 @@
</span><span class="cx">     return 1 if IsDOMGlobalObject($interface) &amp;&amp; $interface-&gt;name ne &quot;WorkerGlobalScope&quot;;
</span><span class="cx"> 
</span><span class="cx">     # FIXME: The bindings generator does not support putting runtime-enabled operations on the instance yet (except for global objects).
</span><del>-    return 0 if $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;EnabledAtRuntime&quot;};
</del><ins>+    return 0 if $function-&gt;signature-&gt;extendedAttributes-&gt;{EnabledAtRuntime};
</ins><span class="cx"> 
</span><span class="cx">     # [Unforgeable] operations should be on the instance. https://heycam.github.io/webidl/#Unforgeable
</span><span class="cx">     return 1 if IsUnforgeable($interface, $function);
</span><span class="lines">@@ -623,7 +607,7 @@
</span><span class="cx"> 
</span><span class="cx">     # As per Web IDL specification, constructor properties on the ECMAScript global object should not be enumerable.
</span><span class="cx">     my $is_global_constructor = $attribute-&gt;signature-&gt;type =~ /Constructor$/;
</span><del>-    push(@specials, &quot;DontEnum&quot;) if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;NotEnumerable&quot;} || $is_global_constructor);
</del><ins>+    push(@specials, &quot;DontEnum&quot;) if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{NotEnumerable} || $is_global_constructor);
</ins><span class="cx">     push(@specials, &quot;ReadOnly&quot;) if IsReadonly($attribute);
</span><span class="cx">     push(@specials, &quot;CustomAccessor&quot;) unless $is_global_constructor or IsJSBuiltin($interface, $attribute);
</span><span class="cx">     push(@specials, &quot;Accessor | Builtin&quot;) if  IsJSBuiltin($interface, $attribute);
</span><span class="lines">@@ -695,51 +679,42 @@
</span><span class="cx"> sub InstanceOverridesGetOwnPropertySlot
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-
-    my $namedGetterFunction = GetNamedGetterFunction($interface);
-    my $indexedGetterFunction = GetIndexedGetterFunction($interface);
-
-    my $hasNamedGetter = $namedGetterFunction
-        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedGetter&quot;};
-
-    my $hasComplexGetter = $indexedGetterFunction
-        || $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomGetOwnPropertySlotAndDescriptor&quot;}
-        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomGetOwnPropertySlot&quot;}
-        || $hasNamedGetter;
-
-    return $hasComplexGetter;
</del><ins>+    return $interface-&gt;extendedAttributes-&gt;{CustomGetOwnPropertySlot}
+        || $interface-&gt;extendedAttributes-&gt;{CustomNamedGetter}
+        || $interface-&gt;extendedAttributes-&gt;{JSCustomGetOwnPropertySlotAndDescriptor}
+        || GetIndexedGetterFunction($interface)
+        || GetNamedGetterFunction($interface);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub PrototypeHasStaticPropertyTable
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-    my $numPrototypeProperties = PrototypePropertyCount($interface);
</del><span class="cx">     my $numConstants = @{$interface-&gt;constants};
</span><del>-    return $numConstants &gt; 0 || $numPrototypeProperties &gt; 0;
</del><ins>+    return $numConstants &gt; 0 || PrototypePropertyCount($interface) &gt; 0;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub InstanceOverridesPutImplementation
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-    return $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;}
-        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomIndexedSetter&quot;};
</del><ins>+    return $interface-&gt;extendedAttributes-&gt;{CustomNamedSetter}
+        || $interface-&gt;extendedAttributes-&gt;{CustomIndexedSetter};
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub InstanceOverridesPutDeclaration
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-    return $interface-&gt;extendedAttributes-&gt;{&quot;CustomPutFunction&quot;}
-        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;}
-        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomIndexedSetter&quot;};
</del><ins>+    return $interface-&gt;extendedAttributes-&gt;{CustomPutFunction}
+        || $interface-&gt;extendedAttributes-&gt;{CustomNamedSetter}
+        || $interface-&gt;extendedAttributes-&gt;{CustomIndexedSetter};
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub InstanceNeedsVisitChildren
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-    return $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomMarkFunction&quot;}
</del><ins>+    return $interface-&gt;extendedAttributes-&gt;{JSCustomMarkFunction}
</ins><span class="cx">         || $codeGenerator-&gt;InheritsInterface($interface, &quot;EventTarget&quot;)
</span><span class="cx">         || $interface-&gt;name eq &quot;EventTarget&quot;
</span><del>-        || $interface-&gt;extendedAttributes-&gt;{&quot;ReportExtraMemoryCost&quot;}
</del><ins>+        || $interface-&gt;extendedAttributes-&gt;{ReportExtraMemoryCost}
</ins><span class="cx">         || IsJSBuiltinConstructor($interface)
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -746,7 +721,7 @@
</span><span class="cx"> sub InstanceNeedsEstimatedSize
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-    return $interface-&gt;extendedAttributes-&gt;{&quot;ReportExtraMemoryCost&quot;};
</del><ins>+    return $interface-&gt;extendedAttributes-&gt;{ReportExtraMemoryCost};
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub GetImplClassName
</span><span class="lines">@@ -1081,7 +1056,7 @@
</span><span class="cx">     my $className = &quot;JS$interfaceName&quot;;
</span><span class="cx">     my %structureFlags = ();
</span><span class="cx"> 
</span><del>-    my $hasLegacyParent = $interface-&gt;extendedAttributes-&gt;{&quot;JSLegacyParent&quot;};
</del><ins>+    my $hasLegacyParent = $interface-&gt;extendedAttributes-&gt;{JSLegacyParent};
</ins><span class="cx">     my $hasRealParent = $interface-&gt;parent;
</span><span class="cx">     my $hasParent = $hasLegacyParent || $hasRealParent;
</span><span class="cx">     my $parentClassName = GetParentClassName($interface);
</span><span class="lines">@@ -1099,14 +1074,10 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;CustomCall&quot;}) {
-        $headerIncludes{&quot;&lt;runtime/CallData.h&gt;&quot;} = 1;
-    }
</del><ins>+    $headerIncludes{&quot;&lt;runtime/CallData.h&gt;&quot;} = 1 if $interface-&gt;extendedAttributes-&gt;{CustomCall};
</ins><span class="cx"> 
</span><del>-    if ($hasParent &amp;&amp; $interface-&gt;extendedAttributes-&gt;{&quot;JSGenerateToNativeObject&quot;}) {
-        $headerIncludes{&quot;$interfaceName.h&quot;} = 1;
-    }
-    
</del><ins>+    $headerIncludes{&quot;$interfaceName.h&quot;} = 1 if $hasParent &amp;&amp; $interface-&gt;extendedAttributes-&gt;{JSGenerateToNativeObject};
+
</ins><span class="cx">     $headerIncludes{&quot;SVGElement.h&quot;} = 1 if $className =~ /^JSSVG/;
</span><span class="cx"> 
</span><span class="cx">     my $implType = GetImplClassName($interfaceName);
</span><span class="lines">@@ -1140,8 +1111,8 @@
</span><span class="cx"> 
</span><span class="cx">     # Static create methods
</span><span class="cx">     push(@headerContent, &quot;public:\n&quot;);
</span><del>-    push(@headerContent, &quot;    typedef $parentClassName Base;\n&quot;);
-    push(@headerContent, &quot;    typedef $implType DOMWrapped;\n&quot;) if $interface-&gt;parent;
</del><ins>+    push(@headerContent, &quot;    using Base = $parentClassName;\n&quot;);
+    push(@headerContent, &quot;    using DOMWrapped = $implType;\n&quot;) if $interface-&gt;parent;
</ins><span class="cx"> 
</span><span class="cx">     if ($interfaceName eq &quot;DOMWindow&quot;) {
</span><span class="cx">         push(@headerContent, &quot;    static $className* create(JSC::VM&amp; vm, JSC::Structure* structure, Ref&lt;$implType&gt;&amp;&amp; impl, JSDOMWindowShell* windowShell)\n&quot;);
</span><span class="lines">@@ -1159,7 +1130,7 @@
</span><span class="cx">         push(@headerContent, &quot;        vm.heap.addFinalizer(ptr, destroy);\n&quot;);
</span><span class="cx">         push(@headerContent, &quot;        return ptr;\n&quot;);
</span><span class="cx">         push(@headerContent, &quot;    }\n\n&quot;);
</span><del>-    } elsif ($interface-&gt;extendedAttributes-&gt;{&quot;MasqueradesAsUndefined&quot;}) {
</del><ins>+    } elsif ($interface-&gt;extendedAttributes-&gt;{MasqueradesAsUndefined}) {
</ins><span class="cx">         AddIncludesForTypeInHeader($implType) unless $svgPropertyOrListPropertyType;
</span><span class="cx">         push(@headerContent, &quot;    static $className* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;$implType&gt;&amp;&amp; impl)\n&quot;);
</span><span class="cx">         push(@headerContent, &quot;    {\n&quot;);
</span><span class="lines">@@ -1185,13 +1156,9 @@
</span><span class="cx">         push(@headerContent, &quot;    }\n\n&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (IsDOMGlobalObject($interface)) {
-        push(@headerContent, &quot;    static const bool needsDestruction = false;\n\n&quot;);
-    }
</del><ins>+    push(@headerContent, &quot;    static const bool needsDestruction = false;\n\n&quot;) if IsDOMGlobalObject($interface);
</ins><span class="cx"> 
</span><del>-    if (InstancePropertyCount($interface) &gt; 0) {
-        $structureFlags{&quot;JSC::HasStaticPropertyTable&quot;} = 1;
-    }
</del><ins>+    $structureFlags{&quot;JSC::HasStaticPropertyTable&quot;} = 1 if InstancePropertyCount($interface) &gt; 0;
</ins><span class="cx"> 
</span><span class="cx">     # Prototype
</span><span class="cx">     unless (ShouldUseGlobalObjectPrototype($interface)) {
</span><span class="lines">@@ -1206,45 +1173,40 @@
</span><span class="cx">             push(@headerContent, &quot;    static $nativeType toWrapped(JSC::ExecState&amp;, JSC::JSValue);\n&quot;);
</span><span class="cx">         } else {
</span><span class="cx">             my $export = &quot;&quot;;
</span><del>-            $export = &quot;WEBCORE_EXPORT &quot; if $interface-&gt;extendedAttributes-&gt;{&quot;ExportToWrappedFunction&quot;};
</del><ins>+            $export = &quot;WEBCORE_EXPORT &quot; if $interface-&gt;extendedAttributes-&gt;{ExportToWrappedFunction};
</ins><span class="cx">             push(@headerContent, &quot;    static $export$nativeType toWrapped(JSC::JSValue);\n&quot;);
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    $headerTrailingIncludes{&quot;${className}Custom.h&quot;} = 1 if $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomHeader&quot;};
</del><ins>+    $headerTrailingIncludes{&quot;${className}Custom.h&quot;} = 1 if $interface-&gt;extendedAttributes-&gt;{JSCustomHeader};
</ins><span class="cx"> 
</span><span class="cx">     my $namedGetterFunction = GetNamedGetterFunction($interface);
</span><span class="cx">     my $indexedGetterFunction = GetIndexedGetterFunction($interface);
</span><span class="cx"> 
</span><span class="cx">     my $hasNamedGetter = $namedGetterFunction
</span><del>-        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedGetter&quot;};
</del><ins>+        || $interface-&gt;extendedAttributes-&gt;{CustomNamedGetter};
</ins><span class="cx"> 
</span><del>-    my $hasComplexGetter =
-        $indexedGetterFunction
-        || $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomGetOwnPropertySlotAndDescriptor&quot;}
-        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomGetOwnPropertySlot&quot;}
</del><ins>+    my $hasComplexGetter = $indexedGetterFunction
+        || $interface-&gt;extendedAttributes-&gt;{JSCustomGetOwnPropertySlotAndDescriptor}
+        || $interface-&gt;extendedAttributes-&gt;{CustomGetOwnPropertySlot}
</ins><span class="cx">         || $hasNamedGetter;
</span><del>-    
</del><ins>+
</ins><span class="cx">     my $hasGetter = InstanceOverridesGetOwnPropertySlot($interface);
</span><span class="cx"> 
</span><span class="cx">     if ($hasNamedGetter) {
</span><del>-        if ($interface-&gt;extendedAttributes-&gt;{&quot;OverrideBuiltins&quot;}) {
</del><ins>+        if ($interface-&gt;extendedAttributes-&gt;{OverrideBuiltins}) {
</ins><span class="cx">             $structureFlags{&quot;JSC::GetOwnPropertySlotIsImpure&quot;} = 1;
</span><span class="cx">         } else {
</span><span class="cx">             $structureFlags{&quot;JSC::GetOwnPropertySlotIsImpureForPropertyAbsence&quot;} = 1;
</span><span class="cx">         }
</span><span class="cx">     }
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;NewImpurePropertyFiresWatchpoints&quot;}) {
-        $structureFlags{&quot;JSC::NewImpurePropertyFiresWatchpoints&quot;} = 1;
-    }
-    if ($interface-&gt;extendedAttributes-&gt;{&quot;CustomCall&quot;}) {
-        $structureFlags{&quot;JSC::TypeOfShouldCallGetCallData&quot;} = 1;
-    }
</del><ins>+    $structureFlags{&quot;JSC::NewImpurePropertyFiresWatchpoints&quot;} = 1 if $interface-&gt;extendedAttributes-&gt;{NewImpurePropertyFiresWatchpoints};
+    $structureFlags{&quot;JSC::TypeOfShouldCallGetCallData&quot;} = 1 if $interface-&gt;extendedAttributes-&gt;{CustomCall};
</ins><span class="cx"> 
</span><span class="cx">     # Getters
</span><span class="cx">     if ($hasGetter) {
</span><span class="cx">         push(@headerContent, &quot;    static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);\n&quot;);
</span><del>-        push(@headerContent, &quot;    bool getOwnPropertySlotDelegate(JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomGetOwnPropertySlotAndDescriptor&quot;};
</del><ins>+        push(@headerContent, &quot;    bool getOwnPropertySlotDelegate(JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{JSCustomGetOwnPropertySlotAndDescriptor};
</ins><span class="cx">         $structureFlags{&quot;JSC::OverridesGetOwnPropertySlot&quot;} = 1;
</span><span class="cx"> 
</span><span class="cx">         if ($hasComplexGetter) {
</span><span class="lines">@@ -1259,7 +1221,7 @@
</span><span class="cx">     if ($overridesPut) {
</span><span class="cx">         push(@headerContent, &quot;    static bool put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;);\n&quot;);
</span><span class="cx">         push(@headerContent, &quot;    static bool putByIndex(JSC::JSCell*, JSC::ExecState*, unsigned propertyName, JSC::JSValue, bool shouldThrow);\n&quot;);
</span><del>-        push(@headerContent, &quot;    bool putDelegate(JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;, bool&amp; putResult);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;};
</del><ins>+        push(@headerContent, &quot;    bool putDelegate(JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;, bool&amp; putResult);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{CustomNamedSetter};
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!$hasParent) {
</span><span class="lines">@@ -1277,10 +1239,9 @@
</span><span class="cx">         push(@headerContent, &quot;\n&quot;);
</span><span class="cx">         push(@headerContent, &quot;    DECLARE_INFO;\n\n&quot;);
</span><span class="cx">     }
</span><ins>+
</ins><span class="cx">     # Structure ID
</span><del>-    if ($interfaceName eq &quot;DOMWindow&quot;) {
-        $structureFlags{&quot;JSC::ImplementsHasInstance | JSC::ImplementsDefaultHasInstance&quot;} = 1;
-    }
</del><ins>+    $structureFlags{&quot;JSC::ImplementsHasInstance | JSC::ImplementsDefaultHasInstance&quot;} = 1 if $interfaceName eq &quot;DOMWindow&quot;;
</ins><span class="cx">     push(@headerContent, &quot;    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)\n&quot;);
</span><span class="cx">     push(@headerContent, &quot;    {\n&quot;);
</span><span class="cx">     if (IsDOMGlobalObject($interface)) {
</span><span class="lines">@@ -1297,14 +1258,14 @@
</span><span class="cx">     push(@headerContent, &quot;    }\n\n&quot;);
</span><span class="cx"> 
</span><span class="cx">     # Custom pushEventHandlerScope function
</span><del>-    push(@headerContent, &quot;    JSC::JSScope* pushEventHandlerScope(JSC::ExecState*, JSC::JSScope*) const;\n\n&quot;) if $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomPushEventHandlerScope&quot;};
</del><ins>+    push(@headerContent, &quot;    JSC::JSScope* pushEventHandlerScope(JSC::ExecState*, JSC::JSScope*) const;\n\n&quot;) if $interface-&gt;extendedAttributes-&gt;{JSCustomPushEventHandlerScope};
</ins><span class="cx"> 
</span><span class="cx">     # Custom call functions
</span><del>-    push(@headerContent, &quot;    static JSC::CallType getCallData(JSC::JSCell*, JSC::CallData&amp;);\n\n&quot;) if $interface-&gt;extendedAttributes-&gt;{&quot;CustomCall&quot;};
</del><ins>+    push(@headerContent, &quot;    static JSC::CallType getCallData(JSC::JSCell*, JSC::CallData&amp;);\n\n&quot;) if $interface-&gt;extendedAttributes-&gt;{CustomCall};
</ins><span class="cx"> 
</span><span class="cx">     # Custom deleteProperty function
</span><del>-    push(@headerContent, &quot;    static bool deleteProperty(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{&quot;CustomDeleteProperty&quot;};
-    push(@headerContent, &quot;    static bool deletePropertyByIndex(JSC::JSCell*, JSC::ExecState*, unsigned);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{&quot;CustomDeleteProperty&quot;};
</del><ins>+    push(@headerContent, &quot;    static bool deleteProperty(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{CustomDeleteProperty};
+    push(@headerContent, &quot;    static bool deletePropertyByIndex(JSC::JSCell*, JSC::ExecState*, unsigned);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{CustomDeleteProperty};
</ins><span class="cx"> 
</span><span class="cx">     # Custom getPropertyNames function exists on DOMWindow
</span><span class="cx">     if ($interfaceName eq &quot;DOMWindow&quot;) {
</span><span class="lines">@@ -1316,30 +1277,27 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     # Custom getOwnPropertyNames function
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;CustomEnumerateProperty&quot;} || $indexedGetterFunction || $namedGetterFunction) {
</del><ins>+    if ($interface-&gt;extendedAttributes-&gt;{CustomEnumerateProperty} || $indexedGetterFunction || $namedGetterFunction) {
</ins><span class="cx">         push(@headerContent, &quot;    static void getOwnPropertyNames(JSC::JSObject*, JSC::ExecState*, JSC::PropertyNameArray&amp;, JSC::EnumerationMode = JSC::EnumerationMode());\n&quot;);
</span><span class="cx">         $structureFlags{&quot;JSC::OverridesGetPropertyNames&quot;} = 1;       
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     # Custom defineOwnProperty function
</span><del>-    push(@headerContent, &quot;    static bool defineOwnProperty(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, const JSC::PropertyDescriptor&amp;, bool shouldThrow);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomDefineOwnProperty&quot;};
</del><ins>+    push(@headerContent, &quot;    static bool defineOwnProperty(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, const JSC::PropertyDescriptor&amp;, bool shouldThrow);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{JSCustomDefineOwnProperty};
</ins><span class="cx"> 
</span><span class="cx">     # Custom getPrototype / setPrototype functions.
</span><del>-    push (@headerContent, &quot;    static JSC::JSValue getPrototype(JSC::JSObject*, JSC::ExecState*);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{&quot;CustomGetPrototype&quot;};
-    push (@headerContent, &quot;    static bool setPrototype(JSC::JSObject*, JSC::ExecState*, JSC::JSValue, bool shouldThrowIfCantSet);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{&quot;CustomSetPrototype&quot;};
</del><ins>+    push (@headerContent, &quot;    static JSC::JSValue getPrototype(JSC::JSObject*, JSC::ExecState*);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{CustomGetPrototype};
+    push (@headerContent, &quot;    static bool setPrototype(JSC::JSObject*, JSC::ExecState*, JSC::JSValue, bool shouldThrowIfCantSet);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{CustomSetPrototype};
</ins><span class="cx"> 
</span><span class="cx">     # Custom preventExtensions function.
</span><del>-    push(@headerContent, &quot;    static bool preventExtensions(JSC::JSObject*, JSC::ExecState*);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{&quot;CustomPreventExtensions&quot;};
</del><ins>+    push(@headerContent, &quot;    static bool preventExtensions(JSC::JSObject*, JSC::ExecState*);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{CustomPreventExtensions};
</ins><span class="cx">     
</span><del>-    # Override toBoolean to return false for objects that want to 'MasqueradesAsUndefined'.
-    if ($interface-&gt;extendedAttributes-&gt;{&quot;MasqueradesAsUndefined&quot;}) {
-        $structureFlags{&quot;JSC::MasqueradesAsUndefined&quot;} = 1;
-    }
</del><ins>+    $structureFlags{&quot;JSC::MasqueradesAsUndefined&quot;} = 1 if $interface-&gt;extendedAttributes-&gt;{MasqueradesAsUndefined};
</ins><span class="cx"> 
</span><span class="cx">     # Constructor object getter
</span><del>-    unless ($interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;}) {
</del><ins>+    unless ($interface-&gt;extendedAttributes-&gt;{NoInterfaceObject}) {
</ins><span class="cx">         push(@headerContent, &quot;    static JSC::JSValue getConstructor(JSC::VM&amp;, const JSC::JSGlobalObject*);\n&quot;);
</span><del>-        push(@headerContent, &quot;    static JSC::JSValue getNamedConstructor(JSC::VM&amp;, JSC::JSGlobalObject*);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{&quot;NamedConstructor&quot;};
</del><ins>+        push(@headerContent, &quot;    static JSC::JSValue getNamedConstructor(JSC::VM&amp;, JSC::JSGlobalObject*);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{NamedConstructor};
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     my $numCustomFunctions = 0;
</span><span class="lines">@@ -1354,7 +1312,7 @@
</span><span class="cx">             my $attribute = $_;
</span><span class="cx">             $numCustomAttributes++ if HasCustomGetter($attribute-&gt;signature-&gt;extendedAttributes);
</span><span class="cx">             $numCustomAttributes++ if HasCustomSetter($attribute-&gt;signature-&gt;extendedAttributes);
</span><del>-            if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;CachedAttribute&quot;}) {
</del><ins>+            if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{CachedAttribute}) {
</ins><span class="cx">                 my $conditionalString = $codeGenerator-&gt;GenerateConditionalString($attribute-&gt;signature);
</span><span class="cx">                 push(@headerContent, &quot;#if ${conditionalString}\n&quot;) if $conditionalString;
</span><span class="cx">                 push(@headerContent, &quot;    mutable JSC::WriteBarrier&lt;JSC::Unknown&gt; m_&quot; . $attribute-&gt;signature-&gt;name . &quot;;\n&quot;);
</span><span class="lines">@@ -1363,9 +1321,7 @@
</span><span class="cx">                 push(@headerContent, &quot;#endif\n&quot;) if $conditionalString;
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ForwardDeclareInHeader&quot;}) {
-                $hasForwardDeclaringAttributes = 1;
-            }
</del><ins>+            $hasForwardDeclaringAttributes = 1 if $attribute-&gt;signature-&gt;extendedAttributes-&gt;{ForwardDeclareInHeader};
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1372,7 +1328,7 @@
</span><span class="cx">     # visit function
</span><span class="cx">     if ($needsVisitChildren) {
</span><span class="cx">         push(@headerContent, &quot;    static void visitChildren(JSCell*, JSC::SlotVisitor&amp;);\n&quot;);
</span><del>-        push(@headerContent, &quot;    void visitAdditionalChildren(JSC::SlotVisitor&amp;);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomMarkFunction&quot;};
</del><ins>+        push(@headerContent, &quot;    void visitAdditionalChildren(JSC::SlotVisitor&amp;);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{JSCustomMarkFunction};
</ins><span class="cx">         push(@headerContent, &quot;\n&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1401,10 +1357,7 @@
</span><span class="cx"> 
</span><span class="cx">     foreach my $function (@{$interface-&gt;functions}) {
</span><span class="cx">         $numCustomFunctions++ if HasCustomMethod($function-&gt;signature-&gt;extendedAttributes);
</span><del>-
-        if ($function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ForwardDeclareInHeader&quot;}) {
-            $hasForwardDeclaringFunctions = 1;
-        }
</del><ins>+        $hasForwardDeclaringFunctions = 1 if $function-&gt;signature-&gt;extendedAttributes-&gt;{ForwardDeclareInHeader};
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if ($numCustomFunctions &gt; 0) {
</span><span class="lines">@@ -1411,8 +1364,7 @@
</span><span class="cx">         my $inAppleCopyright = 0;
</span><span class="cx">         push(@headerContent, &quot;\n    // Custom functions\n&quot;);
</span><span class="cx">         foreach my $function (@{$interface-&gt;functions}) {
</span><del>-            my $needsAppleCopyright = $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;AppleCopyright&quot;};
-            if ($needsAppleCopyright) {
</del><ins>+            if ($function-&gt;signature-&gt;extendedAttributes-&gt;{AppleCopyright}) {
</ins><span class="cx">                 if (!$inAppleCopyright) {
</span><span class="cx">                     push(@headerContent, $beginAppleCopyrightForHeaderFiles);
</span><span class="cx">                     $inAppleCopyright = 1;
</span><span class="lines">@@ -1425,7 +1377,7 @@
</span><span class="cx">             next if $function-&gt;{overloads} &amp;&amp; $function-&gt;{overloadIndex} != 1;
</span><span class="cx">             my $conditionalString = $codeGenerator-&gt;GenerateConditionalString($function-&gt;signature);
</span><span class="cx">             push(@headerContent, &quot;#if ${conditionalString}\n&quot;) if $conditionalString;
</span><del>-            my $functionImplementationName = $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ImplementedAs&quot;} || $codeGenerator-&gt;WK_lcfirst($function-&gt;signature-&gt;name);
</del><ins>+            my $functionImplementationName = $function-&gt;signature-&gt;extendedAttributes-&gt;{ImplementedAs} || $codeGenerator-&gt;WK_lcfirst($function-&gt;signature-&gt;name);
</ins><span class="cx">             push(@headerContent, &quot;    &quot; . ($function-&gt;isStatic ? &quot;static &quot; : &quot;&quot;) . &quot;JSC::JSValue &quot; . $functionImplementationName . &quot;(JSC::ExecState&amp;);\n&quot;);
</span><span class="cx">             push(@headerContent, &quot;#endif\n&quot;) if $conditionalString;
</span><span class="cx">         }
</span><span class="lines">@@ -1477,12 +1429,9 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    # Index setter
-    if ($interface-&gt;extendedAttributes-&gt;{&quot;CustomIndexedSetter&quot;}) {
-        push(@headerContent, &quot;    void indexSetter(JSC::ExecState*, unsigned index, JSC::JSValue);\n&quot;);
-    }
-    # Name getter
-    if ($namedGetterFunction || $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedGetter&quot;}) {
</del><ins>+    push(@headerContent, &quot;    void indexSetter(JSC::ExecState*, unsigned index, JSC::JSValue);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{CustomIndexedSetter};
+
+    if ($namedGetterFunction || $interface-&gt;extendedAttributes-&gt;{CustomNamedGetter}) {
</ins><span class="cx">         push(@headerContent, &quot;private:\n&quot;);
</span><span class="cx">         push(@headerContent, &quot;    bool nameGetter(JSC::ExecState*, JSC::PropertyName, JSC::JSValue&amp;);\n&quot;);
</span><span class="cx">     }
</span><span class="lines">@@ -1537,10 +1486,9 @@
</span><span class="cx">         push(@headerContent,&quot;// Functions\n\n&quot;);
</span><span class="cx">         foreach my $function (@{$interface-&gt;functions}) {
</span><span class="cx">             next if $function-&gt;{overloadIndex} &amp;&amp; $function-&gt;{overloadIndex} &gt; 1;
</span><del>-            next unless $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ForwardDeclareInHeader&quot;};
</del><ins>+            next unless $function-&gt;signature-&gt;extendedAttributes-&gt;{ForwardDeclareInHeader};
</ins><span class="cx"> 
</span><del>-            my $needsAppleCopyright = $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;AppleCopyright&quot;};
-            if ($needsAppleCopyright) {
</del><ins>+            if ($function-&gt;signature-&gt;extendedAttributes-&gt;{AppleCopyright}) {
</ins><span class="cx">                 if (!$inAppleCopyright) {
</span><span class="cx">                     push(@headerContent, $beginAppleCopyrightForHeaderFiles);
</span><span class="cx">                     $inAppleCopyright = 1;
</span><span class="lines">@@ -1565,7 +1513,7 @@
</span><span class="cx">     if ($hasForwardDeclaringAttributes) {
</span><span class="cx">         push(@headerContent,&quot;// Attributes\n\n&quot;);
</span><span class="cx">         foreach my $attribute (@{$interface-&gt;attributes}) {
</span><del>-            next unless $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ForwardDeclareInHeader&quot;};
</del><ins>+            next unless $attribute-&gt;signature-&gt;extendedAttributes-&gt;{ForwardDeclareInHeader};
</ins><span class="cx"> 
</span><span class="cx">             my $conditionalString = $codeGenerator-&gt;GenerateConditionalString($attribute-&gt;signature);
</span><span class="cx">             push(@headerContent, &quot;#if ${conditionalString}\n&quot;) if $conditionalString;
</span><span class="lines">@@ -1598,7 +1546,7 @@
</span><span class="cx">     push(@headerContent, &quot;\n} // namespace WebCore\n&quot;);
</span><span class="cx">     push(@headerContent, &quot;\n#endif // ${conditionalString}\n&quot;) if $conditionalString;
</span><span class="cx"> 
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;AppleCopyright&quot;}) {
</del><ins>+    if ($interface-&gt;extendedAttributes-&gt;{AppleCopyright}) {
</ins><span class="cx">         push(@headerContent, &quot;\n&quot;);
</span><span class="cx">         push(@headerContent, split(&quot;\r&quot;, $endAppleCopyright));
</span><span class="cx">     }
</span><span class="lines">@@ -1644,7 +1592,7 @@
</span><span class="cx">         next if AttributeShouldBeOnInstance($interface, $attribute) != $isInstance;
</span><span class="cx"> 
</span><span class="cx">         # Global objects add RuntimeEnabled attributes after creation so do not add them to the static table.
</span><del>-        if (IsDOMGlobalObject($interface) &amp;&amp; $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;EnabledAtRuntime&quot;}) {
</del><ins>+        if (IsDOMGlobalObject($interface) &amp;&amp; $attribute-&gt;signature-&gt;extendedAttributes-&gt;{EnabledAtRuntime}) {
</ins><span class="cx">             $propertyCount -= 1;
</span><span class="cx">             next;
</span><span class="cx">         }
</span><span class="lines">@@ -1665,17 +1613,12 @@
</span><span class="cx">             push(@$hashValue2, $setter);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        my $conditional = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;};
-        if ($conditional) {
-            $conditionals-&gt;{$name} =  $conditional;
-        }
</del><ins>+        my $conditional = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{Conditional};
+        $conditionals-&gt;{$name} = $conditional if $conditional;
</ins><span class="cx"> 
</span><del>-        if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;EnabledAtRuntime&quot;}) {
-            if ($isInstance) {
-                die &quot;We currently do not support [EnabledAtRuntime] attributes on the instance (except for global objects).&quot;;
-            } else {
-                push(@$runtimeEnabledAttributes, $attribute);
-            }
</del><ins>+        if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{EnabledAtRuntime}) {
+            die &quot;We currently do not support [EnabledAtRuntime] attributes on the instance (except for global objects).&quot; if $isInstance;
+            push(@$runtimeEnabledAttributes, $attribute);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1683,7 +1626,7 @@
</span><span class="cx">     push(@functions, @{$interface-&gt;iterable-&gt;functions}) if IsKeyValueIterableInterface($interface);
</span><span class="cx">     push(@functions, @{$interface-&gt;serializable-&gt;functions}) if $interface-&gt;serializable;
</span><span class="cx">     foreach my $function (@functions) {
</span><del>-        next if ($function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;PrivateIdentifier&quot;} and not $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;PublicIdentifier&quot;});
</del><ins>+        next if ($function-&gt;signature-&gt;extendedAttributes-&gt;{PrivateIdentifier} and not $function-&gt;signature-&gt;extendedAttributes-&gt;{PublicIdentifier});
</ins><span class="cx">         next if ($function-&gt;isStatic);
</span><span class="cx">         next if $function-&gt;{overloadIndex} &amp;&amp; $function-&gt;{overloadIndex} &gt; 1;
</span><span class="cx">         next if OperationShouldBeOnInstance($interface, $function) != $isInstance;
</span><span class="lines">@@ -1690,7 +1633,7 @@
</span><span class="cx">         next if $function-&gt;signature-&gt;name eq &quot;[Symbol.Iterator]&quot;;
</span><span class="cx"> 
</span><span class="cx">         # Global objects add RuntimeEnabled operations after creation so do not add them to the static table.
</span><del>-        if (IsDOMGlobalObject($interface) &amp;&amp; $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;EnabledAtRuntime&quot;}) {
</del><ins>+        if (IsDOMGlobalObject($interface) &amp;&amp; $function-&gt;signature-&gt;extendedAttributes-&gt;{EnabledAtRuntime}) {
</ins><span class="cx">             $propertyCount -= 1;
</span><span class="cx">             next;
</span><span class="cx">         }
</span><span class="lines">@@ -1707,16 +1650,11 @@
</span><span class="cx">         push(@$hashSpecials, ComputeFunctionSpecial($interface, $function));
</span><span class="cx"> 
</span><span class="cx">         my $conditional = getConditionalForFunctionConsideringOverloads($function);
</span><del>-        if ($conditional) {
-            $conditionals-&gt;{$name} = $conditional;
-        }
</del><ins>+        $conditionals-&gt;{$name} = $conditional if $conditional;
</ins><span class="cx"> 
</span><del>-        if ($function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;EnabledAtRuntime&quot;}) {
-            if ($isInstance) {
-                die &quot;We currently do not support [EnabledAtRuntime] operations on the instance (except for global objects).&quot;;
-            } else {
-                push(@$runtimeEnabledFunctions, $function);
-            }
</del><ins>+        if ($function-&gt;signature-&gt;extendedAttributes-&gt;{EnabledAtRuntime}) {
+            die &quot;We currently do not support [EnabledAtRuntime] operations on the instance (except for global objects).&quot; if $isInstance;
+            push(@$runtimeEnabledFunctions, $function);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1864,15 +1802,13 @@
</span><span class="cx"> {
</span><span class="cx">     my $function = shift;
</span><span class="cx"> 
</span><del>-    return $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;} unless $function-&gt;{overloads};
</del><ins>+    return $function-&gt;signature-&gt;extendedAttributes-&gt;{Conditional} unless $function-&gt;{overloads};
</ins><span class="cx"> 
</span><span class="cx">     my %conditions;
</span><span class="cx">     foreach my $overload (@{$function-&gt;{overloads}}) {
</span><del>-        if ($overload-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;}) {
-            $conditions{$overload-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;}} = 1;
-        } else {
-            return;
-        }
</del><ins>+        my $conditional = $overload-&gt;signature-&gt;extendedAttributes-&gt;{Conditional};
+        return unless $conditional;
+        $conditions{$conditional} = 1;
</ins><span class="cx">     }
</span><span class="cx">     return join(&quot;|&quot;, keys %conditions);
</span><span class="cx"> }
</span><span class="lines">@@ -2202,19 +2138,19 @@
</span><span class="cx"> sub GetNamespaceForInterface
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-    return $interface-&gt;extendedAttributes-&gt;{&quot;ImplementationNamespace&quot;} || &quot;WebCore&quot;;
</del><ins>+    return $interface-&gt;extendedAttributes-&gt;{ImplementationNamespace} || &quot;WebCore&quot;;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub GetImplementationLacksVTableForInterface
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-    return $interface-&gt;extendedAttributes-&gt;{&quot;ImplementationLacksVTable&quot;};
</del><ins>+    return $interface-&gt;extendedAttributes-&gt;{ImplementationLacksVTable};
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub GetSkipVTableValidationForInterface
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-    return $interface-&gt;extendedAttributes-&gt;{&quot;SkipVTableValidation&quot;};
</del><ins>+    return $interface-&gt;extendedAttributes-&gt;{SkipVTableValidation};
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> # URL becomes url, but SetURL becomes setURL.
</span><span class="lines">@@ -2244,7 +2180,7 @@
</span><span class="cx">     my $signature = shift;
</span><span class="cx"> 
</span><span class="cx">     # If a parameter is given (e.g. &quot;EnabledAtRuntime=FeatureName&quot;) return the RuntimeEnabledFeatures::sharedFeatures().{FeatureName}Enabled() method.
</span><del>-    return &quot;RuntimeEnabledFeatures::sharedFeatures().&quot; . ToMethodName($signature-&gt;extendedAttributes-&gt;{&quot;EnabledAtRuntime&quot;}) . &quot;Enabled&quot; if ($signature-&gt;extendedAttributes-&gt;{&quot;EnabledAtRuntime&quot;} &amp;&amp; $signature-&gt;extendedAttributes-&gt;{&quot;EnabledAtRuntime&quot;} ne &quot;VALUE_IS_MISSING&quot;);
</del><ins>+    return &quot;RuntimeEnabledFeatures::sharedFeatures().&quot; . ToMethodName($signature-&gt;extendedAttributes-&gt;{EnabledAtRuntime}) . &quot;Enabled&quot; if ($signature-&gt;extendedAttributes-&gt;{EnabledAtRuntime} &amp;&amp; $signature-&gt;extendedAttributes-&gt;{EnabledAtRuntime} ne &quot;VALUE_IS_MISSING&quot;);
</ins><span class="cx"> 
</span><span class="cx">     # Otherwise return a function named RuntimeEnabledFeatures::sharedFeatures().{methodName}Enabled().
</span><span class="cx">     return &quot;RuntimeEnabledFeatures::sharedFeatures().&quot; . ToMethodName($signature-&gt;name) . &quot;Enabled&quot;;
</span><span class="lines">@@ -2278,7 +2214,7 @@
</span><span class="cx"> 
</span><span class="cx">     my @unscopables;
</span><span class="cx">     foreach my $functionOrAttribute (@{$interface-&gt;functions}, @{$interface-&gt;attributes}) {
</span><del>-        push(@unscopables, $functionOrAttribute-&gt;signature-&gt;name) if $functionOrAttribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Unscopable&quot;};
</del><ins>+        push(@unscopables, $functionOrAttribute-&gt;signature-&gt;name) if $functionOrAttribute-&gt;signature-&gt;extendedAttributes-&gt;{Unscopable};
</ins><span class="cx">     }
</span><span class="cx">     return if scalar(@unscopables) == 0;
</span><span class="cx"> 
</span><span class="lines">@@ -2297,7 +2233,7 @@
</span><span class="cx">     my $interfaceName = $interface-&gt;name;
</span><span class="cx">     my $className = &quot;JS$interfaceName&quot;;
</span><span class="cx"> 
</span><del>-    my $hasLegacyParent = $interface-&gt;extendedAttributes-&gt;{&quot;JSLegacyParent&quot;};
</del><ins>+    my $hasLegacyParent = $interface-&gt;extendedAttributes-&gt;{JSLegacyParent};
</ins><span class="cx">     my $hasRealParent = $interface-&gt;parent;
</span><span class="cx">     my $hasParent = $hasLegacyParent || $hasRealParent;
</span><span class="cx">     my $parentClassName = GetParentClassName($interface);
</span><span class="lines">@@ -2340,11 +2276,10 @@
</span><span class="cx">         push(@implContent,&quot;// Functions\n\n&quot;);
</span><span class="cx">         foreach my $function (@functions) {
</span><span class="cx">             next if $function-&gt;{overloadIndex} &amp;&amp; $function-&gt;{overloadIndex} &gt; 1;
</span><del>-            next if $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ForwardDeclareInHeader&quot;};
</del><ins>+            next if $function-&gt;signature-&gt;extendedAttributes-&gt;{ForwardDeclareInHeader};
</ins><span class="cx">             next if IsJSBuiltin($interface, $function);
</span><span class="cx"> 
</span><del>-            my $needsAppleCopyright = $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;AppleCopyright&quot;};
-            if ($needsAppleCopyright) {
</del><ins>+            if ($function-&gt;signature-&gt;extendedAttributes-&gt;{AppleCopyright}) {
</ins><span class="cx">                 if (!$inAppleCopyright) {
</span><span class="cx">                     push(@implContent, $beginAppleCopyrightForHeaderFiles);
</span><span class="cx">                     $inAppleCopyright = 1;
</span><span class="lines">@@ -2370,7 +2305,7 @@
</span><span class="cx">     if ($numAttributes &gt; 0 || NeedsConstructorProperty($interface)) {
</span><span class="cx">         push(@implContent, &quot;// Attributes\n\n&quot;);
</span><span class="cx">         foreach my $attribute (@{$interface-&gt;attributes}) {
</span><del>-            next if $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ForwardDeclareInHeader&quot;};
</del><ins>+            next if $attribute-&gt;signature-&gt;extendedAttributes-&gt;{ForwardDeclareInHeader};
</ins><span class="cx">             next if IsJSBuiltin($interface, $attribute);
</span><span class="cx"> 
</span><span class="cx">             my $conditionalString = $codeGenerator-&gt;GenerateConditionalString($attribute-&gt;signature);
</span><span class="lines">@@ -2439,15 +2374,12 @@
</span><span class="cx">             push(@hashValue2, &quot;0&quot;);
</span><span class="cx">             push(@hashSpecials, &quot;DontDelete | ReadOnly | ConstantInteger&quot;);
</span><span class="cx"> 
</span><del>-            my $implementedBy = $constant-&gt;extendedAttributes-&gt;{&quot;ImplementedBy&quot;};
-            if ($implementedBy) {
-                $implIncludes{&quot;${implementedBy}.h&quot;} = 1;
-            }
-            my $conditional = $constant-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;};
-            if ($conditional) {
-                $conditionals{$name} = $conditional;
-            }
-            
</del><ins>+            my $implementedBy = $constant-&gt;extendedAttributes-&gt;{ImplementedBy};
+            $implIncludes{&quot;${implementedBy}.h&quot;} = 1 if $implementedBy;
+
+            my $conditional = $constant-&gt;extendedAttributes-&gt;{Conditional};
+            $conditionals{$name} = $conditional if $conditional;
+
</ins><span class="cx">             $hashSize++;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -2457,7 +2389,7 @@
</span><span class="cx">             push(@hashKeys, $name);
</span><span class="cx"> 
</span><span class="cx">             my @specials = ();
</span><del>-            push(@specials, &quot;DontDelete&quot;) unless $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Deletable&quot;};
</del><ins>+            push(@specials, &quot;DontDelete&quot;) unless $attribute-&gt;signature-&gt;extendedAttributes-&gt;{Deletable};
</ins><span class="cx">             push(@specials, &quot;ReadOnly&quot;) if IsReadonly($attribute);
</span><span class="cx">             my $special = (@specials &gt; 0) ? join(&quot; | &quot;, @specials) : &quot;0&quot;;
</span><span class="cx">             push(@hashSpecials, $special);
</span><span class="lines">@@ -2472,10 +2404,8 @@
</span><span class="cx">                 push(@hashValue2, $setter);
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            my $conditional = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;};
-            if ($conditional) {
-                $conditionals{$name} = $conditional;
-            }
</del><ins>+            my $conditional = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{Conditional};
+            $conditionals{$name} = $conditional if $conditional;
</ins><span class="cx"> 
</span><span class="cx">             $hashSize++;
</span><span class="cx">         }
</span><span class="lines">@@ -2494,11 +2424,9 @@
</span><span class="cx"> 
</span><span class="cx">             push(@hashSpecials, ComputeFunctionSpecial($interface, $function));
</span><span class="cx"> 
</span><del>-            my $conditional = $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;};
-            if ($conditional) {
-                $conditionals{$name} = $conditional;
-            }
-            
</del><ins>+            my $conditional = $function-&gt;signature-&gt;extendedAttributes-&gt;{Conditional};
+            $conditionals{$name} = $conditional if $conditional;
+
</ins><span class="cx">             $hashSize++;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -2511,9 +2439,9 @@
</span><span class="cx"> 
</span><span class="cx">         my $protoClassName = &quot;${className}Prototype&quot;;
</span><span class="cx">         GenerateConstructorDefinitions(\@implContent, $className, $protoClassName, $visibleInterfaceName, $interface);
</span><del>-        if ($interface-&gt;extendedAttributes-&gt;{&quot;NamedConstructor&quot;}) {
-            GenerateConstructorDefinitions(\@implContent, $className, $protoClassName, $interface-&gt;extendedAttributes-&gt;{&quot;NamedConstructor&quot;}, $interface, &quot;GeneratingNamedConstructor&quot;);
-        }
</del><ins>+
+        my $namedConstructor = $interface-&gt;extendedAttributes-&gt;{NamedConstructor};
+        GenerateConstructorDefinitions(\@implContent, $className, $protoClassName, $namedConstructor, $interface, &quot;GeneratingNamedConstructor&quot;) if $namedConstructor;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     # - Add functions and constants to a hashtable definition
</span><span class="lines">@@ -2543,11 +2471,9 @@
</span><span class="cx">         push(@hashValue2, &quot;0&quot;);
</span><span class="cx">         push(@hashSpecials, &quot;DontDelete | ReadOnly | ConstantInteger&quot;);
</span><span class="cx"> 
</span><del>-        my $conditional = $constant-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;};
-        if ($conditional) {
-            $conditionals{$name} = $conditional;
-        }
-        
</del><ins>+        my $conditional = $constant-&gt;extendedAttributes-&gt;{Conditional};
+        $conditionals{$name} = $conditional if $conditional;
+
</ins><span class="cx">         $hashSize++;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -2589,7 +2515,7 @@
</span><span class="cx"> 
</span><span class="cx">         my $firstPrivateFunction = 1;
</span><span class="cx">         foreach my $function (@{$interface-&gt;functions}) {
</span><del>-            next unless ($function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;PrivateIdentifier&quot;});
</del><ins>+            next unless ($function-&gt;signature-&gt;extendedAttributes-&gt;{PrivateIdentifier});
</ins><span class="cx">             AddToImplIncludes(&quot;WebCoreJSClientData.h&quot;);
</span><span class="cx">             push(@implContent, &quot;    JSVMClientData&amp; clientData = *static_cast&lt;JSVMClientData*&gt;(vm.clientData);\n&quot;) if $firstPrivateFunction;
</span><span class="cx">             $firstPrivateFunction = 0;
</span><span class="lines">@@ -2605,7 +2531,7 @@
</span><span class="cx">         push(@implContent, &quot;}\n\n&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;JSCustomNamedGetterOnPrototype&quot;}) {
</del><ins>+    if ($interface-&gt;extendedAttributes-&gt;{JSCustomNamedGetterOnPrototype}) {
</ins><span class="cx">         push(@implContent, &quot;bool ${className}Prototype::put(JSCell* cell, ExecState* state, PropertyName propertyName, JSValue value, PutPropertySlot&amp; slot)\n&quot;);
</span><span class="cx">         push(@implContent, &quot;{\n&quot;);
</span><span class="cx">         push(@implContent, &quot;    auto* thisObject = jsCast&lt;${className}Prototype*&gt;(cell);\n&quot;);
</span><span class="lines">@@ -2666,7 +2592,7 @@
</span><span class="cx">         }
</span><span class="cx">         # Support for RuntimeEnabled attributes on global objects.
</span><span class="cx">         foreach my $attribute (@{$interface-&gt;attributes}) {
</span><del>-            next unless $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;EnabledAtRuntime&quot;};
</del><ins>+            next unless $attribute-&gt;signature-&gt;extendedAttributes-&gt;{EnabledAtRuntime};
</ins><span class="cx"> 
</span><span class="cx">             AddToImplIncludes(&quot;RuntimeEnabledFeatures.h&quot;);
</span><span class="cx">             my $conditionalString = $codeGenerator-&gt;GenerateConditionalString($attribute-&gt;signature);
</span><span class="lines">@@ -2685,7 +2611,7 @@
</span><span class="cx"> 
</span><span class="cx">         # Support PrivateIdentifier attributes on global objects
</span><span class="cx">         foreach my $attribute (@{$interface-&gt;attributes}) {
</span><del>-            next unless $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;PrivateIdentifier&quot;};
</del><ins>+            next unless $attribute-&gt;signature-&gt;extendedAttributes-&gt;{PrivateIdentifier};
</ins><span class="cx"> 
</span><span class="cx">             AddToImplIncludes(&quot;WebCoreJSClientData.h&quot;);
</span><span class="cx">             my $conditionalString = $codeGenerator-&gt;GenerateConditionalString($attribute-&gt;signature);
</span><span class="lines">@@ -2699,7 +2625,7 @@
</span><span class="cx"> 
</span><span class="cx">         # Support for RuntimeEnabled operations on global objects.
</span><span class="cx">         foreach my $function (@{$interface-&gt;functions}) {
</span><del>-            next unless $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;EnabledAtRuntime&quot;};
</del><ins>+            next unless $function-&gt;signature-&gt;extendedAttributes-&gt;{EnabledAtRuntime};
</ins><span class="cx">             next if $function-&gt;{overloadIndex} &amp;&amp; $function-&gt;{overloadIndex} &gt; 1;
</span><span class="cx"> 
</span><span class="cx">             AddToImplIncludes(&quot;RuntimeEnabledFeatures.h&quot;);
</span><span class="lines">@@ -2713,9 +2639,7 @@
</span><span class="cx">             push(@implContent, &quot;    if (${enable_function}())\n&quot;);
</span><span class="cx"> 
</span><span class="cx">             my $propertyName = &quot;vm.propertyNames-&gt;$functionName&quot;;
</span><del>-            if ($function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;PrivateIdentifier&quot;}) {
-                $propertyName = &quot;static_cast&lt;JSVMClientData*&gt;(vm.clientData)-&gt;builtinNames().&quot; . $functionName . &quot;PrivateName()&quot;;
-            }
</del><ins>+            $propertyName = &quot;static_cast&lt;JSVMClientData*&gt;(vm.clientData)-&gt;builtinNames().&quot; . $functionName . &quot;PrivateName()&quot; if $function-&gt;signature-&gt;extendedAttributes-&gt;{PrivateIdentifier};
</ins><span class="cx">             if (IsJSBuiltin($interface, $function)) {
</span><span class="cx">                 push(@implContent, &quot;        putDirectBuiltinFunction(vm, this, $propertyName, $implementationFunction(vm), attributesForStructure($jsAttributes));\n&quot;);
</span><span class="cx">             } else {
</span><span class="lines">@@ -2756,7 +2680,7 @@
</span><span class="cx"> 
</span><span class="cx">     # Attributes
</span><span class="cx">     if ($hasGetter) {
</span><del>-        if (!$interface-&gt;extendedAttributes-&gt;{&quot;CustomGetOwnPropertySlot&quot;}) {
</del><ins>+        if (!$interface-&gt;extendedAttributes-&gt;{CustomGetOwnPropertySlot}) {
</ins><span class="cx">             push(@implContent, &quot;bool ${className}::getOwnPropertySlot(JSObject* object, ExecState* state, PropertyName propertyName, PropertySlot&amp; slot)\n&quot;);
</span><span class="cx">             push(@implContent, &quot;{\n&quot;);
</span><span class="cx">             push(@implContent, &quot;    auto* thisObject = jsCast&lt;${className}*&gt;(object);\n&quot;);
</span><span class="lines">@@ -2766,8 +2690,8 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if ($indexedGetterFunction || $namedGetterFunction
</span><del>-                || $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedGetter&quot;}
-                || $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomGetOwnPropertySlotAndDescriptor&quot;}) {
</del><ins>+                || $interface-&gt;extendedAttributes-&gt;{CustomNamedGetter}
+                || $interface-&gt;extendedAttributes-&gt;{JSCustomGetOwnPropertySlotAndDescriptor}) {
</ins><span class="cx">             push(@implContent, &quot;bool ${className}::getOwnPropertySlotByIndex(JSObject* object, ExecState* state, unsigned index, PropertySlot&amp; slot)\n&quot;);
</span><span class="cx">             push(@implContent, &quot;{\n&quot;);
</span><span class="cx">             push(@implContent, &quot;    auto* thisObject = jsCast&lt;${className}*&gt;(object);\n&quot;);
</span><span class="lines">@@ -2791,7 +2715,7 @@
</span><span class="cx">                     push(@implContent, &quot;    if (LIKELY(index &lt; thisObject-&gt;wrapped().length())) {\n&quot;);
</span><span class="cx">                 }
</span><span class="cx">                 # Assume that if there's a setter, the index will be writable
</span><del>-                if ($interface-&gt;extendedAttributes-&gt;{&quot;CustomIndexedSetter&quot;}) {
</del><ins>+                if ($interface-&gt;extendedAttributes-&gt;{CustomIndexedSetter}) {
</ins><span class="cx">                     push(@implContent, &quot;        unsigned attributes = DontDelete;\n&quot;);
</span><span class="cx">                 } else {
</span><span class="cx">                     push(@implContent, &quot;        unsigned attributes = DontDelete | ReadOnly;\n&quot;);
</span><span class="lines">@@ -2803,7 +2727,7 @@
</span><span class="cx"> 
</span><span class="cx">             # Indexing an object with an integer that is not a supported property index should not call the named property getter.
</span><span class="cx">             # https://heycam.github.io/webidl/#idl-indexed-properties
</span><del>-            if (!$indexedGetterFunction &amp;&amp; ($namedGetterFunction || $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedGetter&quot;})) {
</del><ins>+            if (!$indexedGetterFunction &amp;&amp; ($namedGetterFunction || $interface-&gt;extendedAttributes-&gt;{CustomNamedGetter})) {
</ins><span class="cx">                 &amp;$propertyNameGeneration();
</span><span class="cx"> 
</span><span class="cx">                 # This condition is to make sure we use the subclass' named getter instead of the base class one when possible.
</span><span class="lines">@@ -2817,7 +2741,7 @@
</span><span class="cx">                 $implIncludes{&quot;wtf/text/AtomicString.h&quot;} = 1;
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            if ($interface-&gt;extendedAttributes-&gt;{&quot;JSCustomGetOwnPropertySlotAndDescriptor&quot;}) {
</del><ins>+            if ($interface-&gt;extendedAttributes-&gt;{JSCustomGetOwnPropertySlotAndDescriptor}) {
</ins><span class="cx">                 &amp;$propertyNameGeneration();
</span><span class="cx">                 push(@implContent, &quot;    if (thisObject-&gt;getOwnPropertySlotDelegate(state, propertyName, slot))\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;        return true;\n&quot;);
</span><span class="lines">@@ -2836,13 +2760,11 @@
</span><span class="cx">             my $name = $attribute-&gt;signature-&gt;name;
</span><span class="cx">             my $type = $attribute-&gt;signature-&gt;type;
</span><span class="cx">             my $getFunctionName = GetAttributeGetterName($interface, $className, $attribute);
</span><del>-            my $implGetterFunctionName = $codeGenerator-&gt;WK_lcfirst($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ImplementedAs&quot;} || $name);
-            my $getterExceptionsWithMessage = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;GetterRaisesExceptionWithMessage&quot;};
-            my $getterExceptions = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;GetterRaisesException&quot;} || $getterExceptionsWithMessage;
</del><ins>+            my $implGetterFunctionName = $codeGenerator-&gt;WK_lcfirst($attribute-&gt;signature-&gt;extendedAttributes-&gt;{ImplementedAs} || $name);
+            my $getterMayThrowLegacyExceptionWithMessage = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{GetterMayThrowLegacyExceptionWithMessage};
+            my $getterMayThrowLegacyException = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{GetterMayThrowLegacyException} || $getterMayThrowLegacyExceptionWithMessage;
</ins><span class="cx"> 
</span><del>-            if ($getterExceptions) {
-                $implIncludes{&quot;ExceptionCode.h&quot;} = 1;
-            }
</del><ins>+            $implIncludes{&quot;ExceptionCode.h&quot;} = 1 if $getterMayThrowLegacyException;
</ins><span class="cx"> 
</span><span class="cx">             my $attributeConditionalString = $codeGenerator-&gt;GenerateConditionalString($attribute-&gt;signature);
</span><span class="cx">             push(@implContent, &quot;#if ${attributeConditionalString}\n&quot;) if $attributeConditionalString;
</span><span class="lines">@@ -2857,15 +2779,15 @@
</span><span class="cx"> 
</span><span class="cx">             if (!$attribute-&gt;isStatic || $attribute-&gt;signature-&gt;type =~ /Constructor$/) {
</span><span class="cx">                 push(@implContent, &quot;    JSValue decodedThisValue = JSValue::decode(thisValue);\n&quot;);
</span><del>-                my $castingFunction = $interface-&gt;extendedAttributes-&gt;{&quot;CustomProxyToJSObject&quot;} ? &quot;to${className}&quot; : GetCastingHelperForThisObject($interface);
</del><ins>+                my $castingFunction = $interface-&gt;extendedAttributes-&gt;{CustomProxyToJSObject} ? &quot;to${className}&quot; : GetCastingHelperForThisObject($interface);
</ins><span class="cx">                 # http://heycam.github.io/webidl/#ImplicitThis
</span><del>-                if ($interface-&gt;extendedAttributes-&gt;{&quot;ImplicitThis&quot;}) {
</del><ins>+                if ($interface-&gt;extendedAttributes-&gt;{ImplicitThis}) {
</ins><span class="cx">                     push(@implContent, &quot;    auto* castedThis = decodedThisValue.isUndefinedOrNull() ? $castingFunction(state-&gt;thisValue().toThis(state, NotStrictMode)) : $castingFunction(decodedThisValue);\n&quot;);
</span><span class="cx">                 } else {
</span><span class="cx">                     push(@implContent, &quot;    auto* castedThis = $castingFunction(decodedThisValue);\n&quot;);
</span><span class="cx">                 }
</span><span class="cx">                 push(@implContent, &quot;    if (UNLIKELY(!castedThis)) {\n&quot;);
</span><del>-                if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;LenientThis&quot;}) {
</del><ins>+                if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{LenientThis}) {
</ins><span class="cx">                     push(@implContent, &quot;        return JSValue::encode(jsUndefined());\n&quot;);
</span><span class="cx">                 } else {
</span><span class="cx">                     push(@implContent, &quot;        return throwGetterTypeError(*state, throwScope, \&quot;$visibleInterfaceName\&quot;, \&quot;$name\&quot;);\n&quot;);
</span><span class="lines">@@ -2874,9 +2796,9 @@
</span><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             my @arguments = ();
</span><del>-            if ($getterExceptions &amp;&amp; !HasCustomGetter($attribute-&gt;signature-&gt;extendedAttributes)) {
</del><ins>+            if ($getterMayThrowLegacyException &amp;&amp; !HasCustomGetter($attribute-&gt;signature-&gt;extendedAttributes)) {
</ins><span class="cx">                 push(@arguments, &quot;ec&quot;);
</span><del>-                if ($getterExceptionsWithMessage) {
</del><ins>+                if ($getterMayThrowLegacyExceptionWithMessage) {
</ins><span class="cx">                     push(@implContent, &quot;    ExceptionCodeWithMessage ec;\n&quot;);
</span><span class="cx">                 } else {
</span><span class="cx">                     push(@implContent, &quot;    ExceptionCode ec = 0;\n&quot;);
</span><span class="lines">@@ -2885,10 +2807,10 @@
</span><span class="cx"> 
</span><span class="cx">             # Global constructors can be disabled at runtime.
</span><span class="cx">             if ($attribute-&gt;signature-&gt;type =~ /Constructor$/) {
</span><del>-                if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;EnabledBySetting&quot;}) {
</del><ins>+                if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{EnabledBySetting}) {
</ins><span class="cx">                     AddToImplIncludes(&quot;Frame.h&quot;);
</span><span class="cx">                     AddToImplIncludes(&quot;Settings.h&quot;);
</span><del>-                    my $enable_function = ToMethodName($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;EnabledBySetting&quot;}) . &quot;Enabled&quot;;
</del><ins>+                    my $enable_function = ToMethodName($attribute-&gt;signature-&gt;extendedAttributes-&gt;{EnabledBySetting}) . &quot;Enabled&quot;;
</ins><span class="cx">                     push(@implContent, &quot;    if (UNLIKELY(!castedThis-&gt;wrapped().frame()))\n&quot;);
</span><span class="cx">                     push(@implContent, &quot;        return JSValue::encode(jsUndefined());\n&quot;);
</span><span class="cx">                     push(@implContent, &quot;    Settings&amp; settings = castedThis-&gt;wrapped().frame()-&gt;settings();\n&quot;);
</span><span class="lines">@@ -2897,13 +2819,11 @@
</span><span class="cx">                 }
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;CachedAttribute&quot;}) {
-                $needsVisitChildren = 1;
-            }
</del><ins>+            $needsVisitChildren = 1 if $attribute-&gt;signature-&gt;extendedAttributes-&gt;{CachedAttribute};
</ins><span class="cx"> 
</span><del>-            if ($interface-&gt;extendedAttributes-&gt;{&quot;CheckSecurity&quot;} &amp;&amp;
-                !$attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;DoNotCheckSecurity&quot;} &amp;&amp;
-                !$attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;DoNotCheckSecurityOnGetter&quot;}) {
</del><ins>+            if ($interface-&gt;extendedAttributes-&gt;{CheckSecurity} &amp;&amp;
+                !$attribute-&gt;signature-&gt;extendedAttributes-&gt;{DoNotCheckSecurity} &amp;&amp;
+                !$attribute-&gt;signature-&gt;extendedAttributes-&gt;{DoNotCheckSecurityOnGetter}) {
</ins><span class="cx">                 if ($interfaceName eq &quot;DOMWindow&quot;) {
</span><span class="cx">                     push(@implContent, &quot;    if (!BindingSecurity::shouldAllowAccessToDOMWindow(state, castedThis-&gt;wrapped(), ThrowSecurityError))\n&quot;);
</span><span class="cx">                 } else {
</span><span class="lines">@@ -2912,7 +2832,7 @@
</span><span class="cx">                 push(@implContent, &quot;        return JSValue::encode(jsUndefined());\n&quot;);
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Nondeterministic&quot;}) {
</del><ins>+            if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{Nondeterministic}) {
</ins><span class="cx">                 AddToImplIncludes(&quot;MemoizedDOMResult.h&quot;, &quot;WEB_REPLAY&quot;);
</span><span class="cx">                 AddToImplIncludes(&quot;&lt;replay/InputCursor.h&gt;&quot;, &quot;WEB_REPLAY&quot;);
</span><span class="cx">                 AddToImplIncludes(&quot;&lt;wtf/NeverDestroyed.h&gt;&quot;, &quot;WEB_REPLAY&quot;);
</span><span class="lines">@@ -2923,13 +2843,13 @@
</span><span class="cx"> 
</span><span class="cx">                 my $nativeType = GetNativeType($interface, $type);
</span><span class="cx">                 my $memoizedType = GetNativeTypeForMemoization($interface, $type);
</span><del>-                my $exceptionCode = $getterExceptionsWithMessage ? &quot;ec.code&quot; : ($getterExceptions ? &quot;ec&quot; : &quot;0&quot;);
</del><ins>+                my $exceptionCode = $getterMayThrowLegacyExceptionWithMessage ? &quot;ec.code&quot; : ($getterMayThrowLegacyException ? &quot;ec&quot; : &quot;0&quot;);
</ins><span class="cx">                 push(@implContent, &quot;    static NeverDestroyed&lt;const AtomicString&gt; bindingName(\&quot;$interfaceName.$name\&quot;, AtomicString::ConstructFromLiteral);\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    if (cursor.isCapturing()) {\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;        $memoizedType memoizedResult = castedThis-&gt;wrapped().$implGetterFunctionName(&quot; . join(&quot;, &quot;, @arguments) . &quot;);\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;        cursor.appendInput&lt;MemoizedDOMResult&lt;$memoizedType&gt;&gt;(bindingName.get().string(), memoizedResult, $exceptionCode);\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;        JSValue result = &quot; . NativeToJSValue($attribute-&gt;signature, 0, $interface, &quot;memoizedResult&quot;, &quot;castedThis&quot;) . &quot;;\n&quot;);
</span><del>-                push(@implContent, &quot;        setDOMException(state, throwScope, ec);\n&quot;) if $getterExceptions;
</del><ins>+                push(@implContent, &quot;        setDOMException(state, throwScope, ec);\n&quot;) if $getterMayThrowLegacyException;
</ins><span class="cx">                 push(@implContent, &quot;        return JSValue::encode(result);\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    }\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;\n&quot;);
</span><span class="lines">@@ -2939,7 +2859,7 @@
</span><span class="cx">                 push(@implContent, &quot;        if (input &amp;&amp; input-&gt;convertTo&lt;$memoizedType&gt;(memoizedResult)) {\n&quot;);
</span><span class="cx">                 # FIXME: the generated code should report an error if an input cannot be fetched or converted.
</span><span class="cx">                 push(@implContent, &quot;            JSValue result = &quot; . NativeToJSValue($attribute-&gt;signature, 0, $interface, &quot;memoizedResult&quot;, &quot;castedThis&quot;) . &quot;;\n&quot;);
</span><del>-                push(@implContent, &quot;            setDOMException(state, throwScope, input-&gt;exceptionCode());\n&quot;) if $getterExceptions;
</del><ins>+                push(@implContent, &quot;            setDOMException(state, throwScope, input-&gt;exceptionCode());\n&quot;) if $getterMayThrowLegacyException;
</ins><span class="cx">                 push(@implContent, &quot;            return JSValue::encode(result);\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;        }\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    }\n&quot;);
</span><span class="lines">@@ -2948,14 +2868,14 @@
</span><span class="cx"> 
</span><span class="cx">             if (HasCustomGetter($attribute-&gt;signature-&gt;extendedAttributes)) {
</span><span class="cx">                 push(@implContent, &quot;    return JSValue::encode(castedThis-&gt;$implGetterFunctionName(*state));\n&quot;);
</span><del>-            } elsif ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;CheckSecurityForNode&quot;}) {
</del><ins>+            } elsif ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{CheckSecurityForNode}) {
</ins><span class="cx">                 $implIncludes{&quot;JSDOMBinding.h&quot;} = 1;
</span><span class="cx">                 push(@implContent, &quot;    auto&amp; impl = castedThis-&gt;wrapped();\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    return JSValue::encode(shouldAllowAccessToNode(state, impl.&quot; . $attribute-&gt;signature-&gt;name . &quot;()) ? &quot; . NativeToJSValue($attribute-&gt;signature, 0, $interface, &quot;impl.$implGetterFunctionName()&quot;, &quot;castedThis&quot;) . &quot; : jsNull());\n&quot;);
</span><span class="cx">             } elsif ($type eq &quot;EventHandler&quot;) {
</span><span class="cx">                 $implIncludes{&quot;EventNames.h&quot;} = 1;
</span><del>-                my $getter = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;WindowEventHandler&quot;} ? &quot;windowEventHandlerAttribute&quot;
-                    : $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;DocumentEventHandler&quot;} ? &quot;documentEventHandlerAttribute&quot;
</del><ins>+                my $getter = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{WindowEventHandler} ? &quot;windowEventHandlerAttribute&quot;
+                    : $attribute-&gt;signature-&gt;extendedAttributes-&gt;{DocumentEventHandler} ? &quot;documentEventHandlerAttribute&quot;
</ins><span class="cx">                     : &quot;eventHandlerAttribute&quot;;
</span><span class="cx">                 my $eventName = EventHandlerAttributeEventName($attribute);
</span><span class="cx">                 push(@implContent, &quot;    UNUSED_PARAM(state);\n&quot;);
</span><span class="lines">@@ -2970,12 +2890,12 @@
</span><span class="cx">                     $constructorType =~ s/Named$//;
</span><span class="cx">                     push(@implContent, &quot;    return JSValue::encode(JS&quot; . $constructorType . &quot;::get${named}Constructor(state-&gt;vm(), castedThis));\n&quot;);
</span><span class="cx">                 } else {
</span><del>-                    AddToImplIncludes(&quot;JS&quot; . $constructorType . &quot;.h&quot;, $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;});
</del><ins>+                    AddToImplIncludes(&quot;JS&quot; . $constructorType . &quot;.h&quot;, $attribute-&gt;signature-&gt;extendedAttributes-&gt;{Conditional});
</ins><span class="cx">                     push(@implContent, &quot;    return JSValue::encode(JS&quot; . $constructorType . &quot;::getConstructor(state-&gt;vm(), castedThis-&gt;globalObject()));\n&quot;);
</span><span class="cx">                 }
</span><del>-            } elsif (!$attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;GetterRaisesException&quot;} &amp;&amp; !$attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;GetterRaisesExceptionWithMessage&quot;}) {
</del><ins>+            } elsif (!$attribute-&gt;signature-&gt;extendedAttributes-&gt;{GetterMayThrowLegacyException} &amp;&amp; !$attribute-&gt;signature-&gt;extendedAttributes-&gt;{GetterMayThrowLegacyExceptionWithMessage}) {
</ins><span class="cx">                 my $cacheIndex = 0;
</span><del>-                if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;CachedAttribute&quot;}) {
</del><ins>+                if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{CachedAttribute}) {
</ins><span class="cx">                     $cacheIndex = $currentCachedAttribute;
</span><span class="cx">                     $currentCachedAttribute++;
</span><span class="cx">                     push(@implContent, &quot;    if (JSValue cachedValue = castedThis-&gt;m_&quot; . $attribute-&gt;signature-&gt;name . &quot;.get())\n&quot;);
</span><span class="lines">@@ -2982,7 +2902,7 @@
</span><span class="cx">                     push(@implContent, &quot;        return JSValue::encode(cachedValue);\n&quot;);
</span><span class="cx">                 }
</span><span class="cx"> 
</span><del>-                my @callWithArgs = GenerateCallWith($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;CallWith&quot;}, \@implContent, &quot;JSValue::encode(jsUndefined())&quot;);
</del><ins>+                my @callWithArgs = GenerateCallWith($attribute-&gt;signature-&gt;extendedAttributes-&gt;{CallWith}, \@implContent, &quot;JSValue::encode(jsUndefined())&quot;);
</ins><span class="cx"> 
</span><span class="cx">                 if ($svgListPropertyType) {
</span><span class="cx">                     push(@implContent, &quot;    JSValue result =  &quot; . NativeToJSValue($attribute-&gt;signature, 0, $interface, &quot;castedThis-&gt;wrapped().$implGetterFunctionName(&quot; . (join &quot;, &quot;, @callWithArgs) . &quot;)&quot;, &quot;castedThis&quot;) . &quot;;\n&quot;);
</span><span class="lines">@@ -2996,8 +2916,8 @@
</span><span class="cx">                     }
</span><span class="cx">                 } else {
</span><span class="cx">                     my ($functionName, @arguments) = $codeGenerator-&gt;GetterExpression(\%implIncludes, $interfaceName, $attribute);
</span><del>-                    if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ImplementedBy&quot;}) {
-                        my $implementedBy = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ImplementedBy&quot;};
</del><ins>+                    my $implementedBy = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{ImplementedBy};
+                    if ($implementedBy) {
</ins><span class="cx">                         $implIncludes{&quot;${implementedBy}.h&quot;} = 1;
</span><span class="cx">                         $functionName = &quot;WebCore::${implementedBy}::${functionName}&quot;;
</span><span class="cx">                         unshift(@arguments, &quot;impl&quot;) if !$attribute-&gt;isStatic;
</span><span class="lines">@@ -3018,11 +2938,11 @@
</span><span class="cx">                     }
</span><span class="cx">                 }
</span><span class="cx"> 
</span><del>-                push(@implContent, &quot;    castedThis-&gt;m_&quot; . $attribute-&gt;signature-&gt;name . &quot;.set(state-&gt;vm(), castedThis, result);\n&quot;) if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;CachedAttribute&quot;});
</del><ins>+                push(@implContent, &quot;    castedThis-&gt;m_&quot; . $attribute-&gt;signature-&gt;name . &quot;.set(state-&gt;vm(), castedThis, result);\n&quot;) if $attribute-&gt;signature-&gt;extendedAttributes-&gt;{CachedAttribute};
</ins><span class="cx">                 push(@implContent, &quot;    return JSValue::encode(result);\n&quot;);
</span><span class="cx"> 
</span><span class="cx">             } else {
</span><del>-                unshift(@arguments, GenerateCallWith($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;CallWith&quot;}, \@implContent, &quot;JSValue::encode(jsUndefined())&quot;));
</del><ins>+                unshift(@arguments, GenerateCallWith($attribute-&gt;signature-&gt;extendedAttributes-&gt;{CallWith}, \@implContent, &quot;JSValue::encode(jsUndefined())&quot;));
</ins><span class="cx"> 
</span><span class="cx">                 if ($svgPropertyOrListPropertyType) {
</span><span class="cx">                     push(@implContent, &quot;    $svgPropertyOrListPropertyType impl(*castedThis-&gt;wrapped());\n&quot;);
</span><span class="lines">@@ -3055,7 +2975,7 @@
</span><span class="cx">             push(@implContent, &quot;    if (UNLIKELY(!domObject))\n&quot;);
</span><span class="cx">             push(@implContent, &quot;        return throwVMTypeError(state, throwScope);\n&quot;);
</span><span class="cx"> 
</span><del>-            if (!$interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;}) {
</del><ins>+            if (!$interface-&gt;extendedAttributes-&gt;{NoInterfaceObject}) {
</ins><span class="cx">                 push(@implContent, &quot;    return JSValue::encode(${className}::getConstructor(state-&gt;vm(), domObject-&gt;globalObject()));\n&quot;);
</span><span class="cx">             } else {
</span><span class="cx">                 push(@implContent, &quot;    JSValue constructor = ${className}Constructor::create(state-&gt;vm(), ${className}Constructor::createStructure(state-&gt;vm(), *domObject-&gt;globalObject(), domObject-&gt;globalObject()-&gt;objectPrototype()), *jsCast&lt;JSDOMGlobalObject*&gt;(domObject-&gt;globalObject()));\n&quot;);
</span><span class="lines">@@ -3084,22 +3004,21 @@
</span><span class="cx">         push(@implContent, &quot;    return domObject-&gt;putDirect(state-&gt;vm(), state-&gt;propertyNames().constructor, value);\n&quot;);
</span><span class="cx">         push(@implContent, &quot;}\n\n&quot;);
</span><span class="cx">     }
</span><del>-    my $hasCustomSetter = $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;}
-                          || $interface-&gt;extendedAttributes-&gt;{&quot;CustomIndexedSetter&quot;};
</del><span class="cx"> 
</span><ins>+    my $hasCustomSetter = $interface-&gt;extendedAttributes-&gt;{CustomNamedSetter} || $interface-&gt;extendedAttributes-&gt;{CustomIndexedSetter};
</ins><span class="cx">     if ($hasCustomSetter) {
</span><del>-        if (!$interface-&gt;extendedAttributes-&gt;{&quot;CustomPutFunction&quot;}) {
</del><ins>+        if (!$interface-&gt;extendedAttributes-&gt;{CustomPutFunction}) {
</ins><span class="cx">             push(@implContent, &quot;bool ${className}::put(JSCell* cell, ExecState* state, PropertyName propertyName, JSValue value, PutPropertySlot&amp; slot)\n&quot;);
</span><span class="cx">             push(@implContent, &quot;{\n&quot;);
</span><span class="cx">             push(@implContent, &quot;    auto* thisObject = jsCast&lt;${className}*&gt;(cell);\n&quot;);
</span><span class="cx">             push(@implContent, &quot;    ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n&quot;);
</span><del>-            if ($interface-&gt;extendedAttributes-&gt;{&quot;CustomIndexedSetter&quot;}) {
</del><ins>+            if ($interface-&gt;extendedAttributes-&gt;{CustomIndexedSetter}) {
</ins><span class="cx">                 push(@implContent, &quot;    if (Optional&lt;uint32_t&gt; index = parseIndex(propertyName)) {\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;        thisObject-&gt;indexSetter(state, index.value(), value);\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;        return true;\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    }\n&quot;);
</span><span class="cx">             }
</span><del>-            if ($interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;}) {
</del><ins>+            if ($interface-&gt;extendedAttributes-&gt;{CustomNamedSetter}) {
</ins><span class="cx">                 push(@implContent, &quot;    bool putResult = false;\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    if (thisObject-&gt;putDelegate(state, propertyName, value, slot, putResult))\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;        return putResult;\n&quot;);
</span><span class="lines">@@ -3108,13 +3027,13 @@
</span><span class="cx">             push(@implContent, &quot;    return Base::put(thisObject, state, propertyName, value, slot);\n&quot;);
</span><span class="cx">             push(@implContent, &quot;}\n\n&quot;);
</span><span class="cx"> 
</span><del>-            if ($interface-&gt;extendedAttributes-&gt;{&quot;CustomIndexedSetter&quot;} || $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;}) {
</del><ins>+            if ($interface-&gt;extendedAttributes-&gt;{CustomIndexedSetter} || $interface-&gt;extendedAttributes-&gt;{CustomNamedSetter}) {
</ins><span class="cx">                 push(@implContent, &quot;bool ${className}::putByIndex(JSCell* cell, ExecState* state, unsigned index, JSValue value, bool shouldThrow)\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;{\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    auto* thisObject = jsCast&lt;${className}*&gt;(cell);\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n&quot;);
</span><span class="cx"> 
</span><del>-                if ($interface-&gt;extendedAttributes-&gt;{&quot;CustomIndexedSetter&quot;}) {
</del><ins>+                if ($interface-&gt;extendedAttributes-&gt;{CustomIndexedSetter}) {
</ins><span class="cx">                     push(@implContent, &quot;    if (LIKELY(index &lt;= MAX_ARRAY_INDEX)) {\n&quot;);
</span><span class="cx">                     push(@implContent, &quot;        thisObject-&gt;indexSetter(state, index, value);\n&quot;);
</span><span class="cx">                     push(@implContent, &quot;        return true;\n&quot;);
</span><span class="lines">@@ -3121,7 +3040,7 @@
</span><span class="cx">                     push(@implContent, &quot;    }\n&quot;);
</span><span class="cx">                 }
</span><span class="cx"> 
</span><del>-                if ($interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;}) {
</del><ins>+                if ($interface-&gt;extendedAttributes-&gt;{CustomNamedSetter}) {
</ins><span class="cx">                     push(@implContent, &quot;    Identifier propertyName = Identifier::from(state, index);\n&quot;);
</span><span class="cx">                     push(@implContent, &quot;    PutPropertySlot slot(thisObject, shouldThrow);\n&quot;);
</span><span class="cx">                     push(@implContent, &quot;    bool putResult = false;\n&quot;);
</span><span class="lines">@@ -3143,12 +3062,10 @@
</span><span class="cx">             my $type = $attribute-&gt;signature-&gt;type;
</span><span class="cx">             my $putFunctionName = GetAttributeSetterName($interface, $className, $attribute);
</span><span class="cx">             my $implSetterFunctionName = $codeGenerator-&gt;WK_ucfirst($name);
</span><del>-            my $setterRaisesExceptionWithMessage = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;SetterRaisesExceptionWithMessage&quot;};
-            my $setterRaisesException = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;SetterRaisesException&quot;} || $setterRaisesExceptionWithMessage;
</del><ins>+            my $setterMayThrowLegacyExceptionWithMessage = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{SetterMayThrowLegacyExceptionWithMessage};
+            my $setterMayThrowLegacyException = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{SetterMayThrowLegacyException} || $setterMayThrowLegacyExceptionWithMessage;
</ins><span class="cx"> 
</span><del>-            if ($setterRaisesException) {
-                $implIncludes{&quot;ExceptionCode.h&quot;} = 1;
-            }
</del><ins>+            $implIncludes{&quot;ExceptionCode.h&quot;} = 1 if $setterMayThrowLegacyException;
</ins><span class="cx"> 
</span><span class="cx">             my $attributeConditionalString = $codeGenerator-&gt;GenerateConditionalString($attribute-&gt;signature);
</span><span class="cx">             push(@implContent, &quot;#if ${attributeConditionalString}\n&quot;) if $attributeConditionalString;
</span><span class="lines">@@ -3161,13 +3078,13 @@
</span><span class="cx">             push(@implContent, &quot;    JSValue value = JSValue::decode(encodedValue);\n&quot;);
</span><span class="cx">             push(@implContent, &quot;    UNUSED_PARAM(thisValue);\n&quot;) if !$attribute-&gt;isStatic;
</span><span class="cx">             if (!$attribute-&gt;isStatic) {
</span><del>-                if ($interface-&gt;extendedAttributes-&gt;{&quot;CustomProxyToJSObject&quot;}) {
</del><ins>+                if ($interface-&gt;extendedAttributes-&gt;{CustomProxyToJSObject}) {
</ins><span class="cx">                     push(@implContent, &quot;    ${className}* castedThis = to${className}(JSValue::decode(thisValue));\n&quot;);
</span><span class="cx">                 } else {
</span><span class="cx">                     push(@implContent, &quot;    ${className}* castedThis = &quot; . GetCastingHelperForThisObject($interface) . &quot;(JSValue::decode(thisValue));\n&quot;);
</span><span class="cx">                 }
</span><span class="cx">                 push(@implContent, &quot;    if (UNLIKELY(!castedThis)) {\n&quot;);
</span><del>-                if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;LenientThis&quot;}) {
</del><ins>+                if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{LenientThis}) {
</ins><span class="cx">                     push(@implContent, &quot;        return false;\n&quot;);
</span><span class="cx">                 } else {
</span><span class="cx">                     push(@implContent, &quot;        return throwSetterTypeError(*state, throwScope, \&quot;$visibleInterfaceName\&quot;, \&quot;$name\&quot;);\n&quot;);
</span><span class="lines">@@ -3174,7 +3091,7 @@
</span><span class="cx">                 }
</span><span class="cx">                 push(@implContent, &quot;    }\n&quot;);
</span><span class="cx">             }
</span><del>-            if ($interface-&gt;extendedAttributes-&gt;{&quot;CheckSecurity&quot;} &amp;&amp; !$attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;DoNotCheckSecurity&quot;} &amp;&amp; !$attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;DoNotCheckSecurityOnSetter&quot;}) {
</del><ins>+            if ($interface-&gt;extendedAttributes-&gt;{CheckSecurity} &amp;&amp; !$attribute-&gt;signature-&gt;extendedAttributes-&gt;{DoNotCheckSecurity} &amp;&amp; !$attribute-&gt;signature-&gt;extendedAttributes-&gt;{DoNotCheckSecurityOnSetter}) {
</ins><span class="cx">                 if ($interfaceName eq &quot;DOMWindow&quot;) {
</span><span class="cx">                     push(@implContent, &quot;    if (!BindingSecurity::shouldAllowAccessToDOMWindow(state, castedThis-&gt;wrapped(), ThrowSecurityError))\n&quot;);
</span><span class="cx">                 } else {
</span><span class="lines">@@ -3195,8 +3112,8 @@
</span><span class="cx">                     push(@implContent, &quot;    castedThis-&gt;wrapped().setAttributeEventListener($eventName, createJSErrorHandler(state, value, castedThis));\n&quot;);
</span><span class="cx">                 } else {
</span><span class="cx">                     $implIncludes{&quot;JSEventListener.h&quot;} = 1;
</span><del>-                    my $setter = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;WindowEventHandler&quot;} ? &quot;setWindowEventHandlerAttribute&quot;
-                        : $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;DocumentEventHandler&quot;} ? &quot;setDocumentEventHandlerAttribute&quot;
</del><ins>+                    my $setter = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{WindowEventHandler} ? &quot;setWindowEventHandlerAttribute&quot;
+                        : $attribute-&gt;signature-&gt;extendedAttributes-&gt;{DocumentEventHandler} ? &quot;setDocumentEventHandlerAttribute&quot;
</ins><span class="cx">                         : &quot;setEventHandlerAttribute&quot;;
</span><span class="cx">                     push(@implContent, &quot;    $setter(*state, *castedThis, castedThis-&gt;wrapped(), $eventName, value);\n&quot;);
</span><span class="cx">                 }
</span><span class="lines">@@ -3208,11 +3125,11 @@
</span><span class="cx">                 # We do not generate the header file for NamedConstructor of class XXXX,
</span><span class="cx">                 # since we generate the NamedConstructor declaration into the header file of class XXXX.
</span><span class="cx">                 if ($constructorType ne &quot;any&quot; and $constructorType !~ /Named$/) {
</span><del>-                    AddToImplIncludes(&quot;JS&quot; . $constructorType . &quot;.h&quot;, $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;});
</del><ins>+                    AddToImplIncludes(&quot;JS&quot; . $constructorType . &quot;.h&quot;, $attribute-&gt;signature-&gt;extendedAttributes-&gt;{Conditional});
</ins><span class="cx">                 }
</span><span class="cx">                 push(@implContent, &quot;    // Shadowing a built-in constructor.\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    return castedThis-&gt;putDirect(state-&gt;vm(), Identifier::fromString(state, \&quot;$name\&quot;), value);\n&quot;);
</span><del>-            } elsif ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Replaceable&quot;}) {
</del><ins>+            } elsif ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{Replaceable}) {
</ins><span class="cx">                 push(@implContent, &quot;    // Shadowing a built-in property.\n&quot;);
</span><span class="cx">                 if (AttributeShouldBeOnInstance($interface, $attribute)) {
</span><span class="cx">                     push(@implContent, &quot;    return replaceStaticPropertySlot(state-&gt;vm(), castedThis, Identifier::fromString(state, \&quot;$name\&quot;), value);\n&quot;);
</span><span class="lines">@@ -3221,9 +3138,9 @@
</span><span class="cx">                 }
</span><span class="cx">             } else {
</span><span class="cx">                 if (!$attribute-&gt;isStatic) {
</span><del>-                    my $putForwards = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;PutForwards&quot;};
</del><ins>+                    my $putForwards = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{PutForwards};
</ins><span class="cx">                     if ($putForwards) {
</span><del>-                        my $implGetterFunctionName = $codeGenerator-&gt;WK_lcfirst($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ImplementedAs&quot;} || $name);
</del><ins>+                        my $implGetterFunctionName = $codeGenerator-&gt;WK_lcfirst($attribute-&gt;signature-&gt;extendedAttributes-&gt;{ImplementedAs} || $name);
</ins><span class="cx">                         if ($attribute-&gt;signature-&gt;isNullable) {
</span><span class="cx">                             push(@implContent, &quot;    RefPtr&lt;${type}&gt; forwardedImpl = castedThis-&gt;wrapped().${implGetterFunctionName}();\n&quot;);
</span><span class="cx">                             push(@implContent, &quot;    if (!forwardedImpl)\n&quot;);
</span><span class="lines">@@ -3240,23 +3157,21 @@
</span><span class="cx">                         push(@implContent, &quot;    auto&amp; impl = castedThis-&gt;wrapped();\n&quot;);
</span><span class="cx">                     }
</span><span class="cx">                 }
</span><del>-                if ($setterRaisesExceptionWithMessage) {
</del><ins>+                if ($setterMayThrowLegacyExceptionWithMessage) {
</ins><span class="cx">                     push(@implContent, &quot;    ExceptionCodeWithMessage ec;\n&quot;);
</span><del>-                } elsif ($setterRaisesException) {
</del><ins>+                } elsif ($setterMayThrowLegacyException) {
</ins><span class="cx">                     push(@implContent, &quot;    ExceptionCode ec = 0;\n&quot;);
</span><span class="cx">                 }
</span><span class="cx"> 
</span><span class="cx">                 my $shouldPassByReference = ShouldPassWrapperByReference($attribute-&gt;signature, $interface);
</span><span class="cx"> 
</span><del>-                my ($nativeValue, $mayThrowException) = JSValueToNative($interface, $attribute-&gt;signature, &quot;value&quot;, $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;});
</del><ins>+                my ($nativeValue, $mayThrowException) = JSValueToNative($interface, $attribute-&gt;signature, &quot;value&quot;, $attribute-&gt;signature-&gt;extendedAttributes-&gt;{Conditional});
</ins><span class="cx">                 if (!$shouldPassByReference &amp;&amp; $codeGenerator-&gt;IsWrapperType($type)) {
</span><span class="cx">                     $implIncludes{&quot;&lt;runtime/Error.h&gt;&quot;} = 1;
</span><span class="cx">                     push(@implContent, &quot;    &quot; . GetNativeTypeFromSignature($interface, $attribute-&gt;signature) . &quot; nativeValue = nullptr;\n&quot;);
</span><span class="cx">                     push(@implContent, &quot;    if (!value.isUndefinedOrNull()) {\n&quot;);
</span><span class="cx">                     push(@implContent, &quot;        nativeValue = $nativeValue;\n&quot;);
</span><del>-                    if ($mayThrowException) {
-                        push(@implContent, &quot;        RETURN_IF_EXCEPTION(throwScope, false);\n&quot;);
-                    }
</del><ins>+                    push(@implContent, &quot;        RETURN_IF_EXCEPTION(throwScope, false);\n&quot;) if $mayThrowException;
</ins><span class="cx">                     push(@implContent, &quot;        if (UNLIKELY(!nativeValue)) {\n&quot;);
</span><span class="cx">                     push(@implContent, &quot;            throwAttributeTypeError(*state, throwScope, \&quot;$visibleInterfaceName\&quot;, \&quot;$name\&quot;, \&quot;$type\&quot;);\n&quot;);
</span><span class="cx">                     push(@implContent, &quot;            return false;\n&quot;);
</span><span class="lines">@@ -3264,9 +3179,7 @@
</span><span class="cx">                     push(@implContent, &quot;    }\n&quot;);
</span><span class="cx">                 } else {
</span><span class="cx">                     push(@implContent, &quot;    auto nativeValue = $nativeValue;\n&quot;);
</span><del>-                    if ($mayThrowException) {
-                        push(@implContent, &quot;    RETURN_IF_EXCEPTION(throwScope, false);\n&quot;);
-                    }
</del><ins>+                    push(@implContent, &quot;    RETURN_IF_EXCEPTION(throwScope, false);\n&quot;) if $mayThrowException;
</ins><span class="cx">                 }
</span><span class="cx"> 
</span><span class="cx">                 if ($codeGenerator-&gt;IsEnumType($type)) {
</span><span class="lines">@@ -3294,15 +3207,15 @@
</span><span class="cx">                         push(@implContent, &quot;    podImpl = nativeValue;\n&quot;);
</span><span class="cx">                     } else {
</span><span class="cx">                         push(@implContent, &quot;    podImpl.set$implSetterFunctionName(nativeValue&quot;);
</span><del>-                        push(@implContent, &quot;, ec&quot;) if $setterRaisesException;
</del><ins>+                        push(@implContent, &quot;, ec&quot;) if $setterMayThrowLegacyException;
</ins><span class="cx">                         push(@implContent, &quot;);\n&quot;);
</span><del>-                        push(@implContent, &quot;    setDOMException(state, throwScope, ec);\n&quot;) if $setterRaisesException;
</del><ins>+                        push(@implContent, &quot;    setDOMException(state, throwScope, ec);\n&quot;) if $setterMayThrowLegacyException;
</ins><span class="cx">                     }
</span><span class="cx">                     if ($svgPropertyType) {
</span><del>-                        if ($setterRaisesExceptionWithMessage) {
</del><ins>+                        if ($setterMayThrowLegacyExceptionWithMessage) {
</ins><span class="cx">                             push(@implContent, &quot;    if (LIKELY(!ec.code))\n&quot;);
</span><span class="cx">                             push(@implContent, &quot;        impl.commitChange();\n&quot;);
</span><del>-                        } elsif ($setterRaisesException) {
</del><ins>+                        } elsif ($setterMayThrowLegacyException) {
</ins><span class="cx">                             push(@implContent, &quot;    if (LIKELY(!ec))\n&quot;);
</span><span class="cx">                             push(@implContent, &quot;        impl.commitChange();\n&quot;);
</span><span class="cx">                         } else {
</span><span class="lines">@@ -3319,9 +3232,9 @@
</span><span class="cx">                     } else {
</span><span class="cx">                         push(@arguments, $shouldPassByReference ? &quot;*nativeValue&quot; : &quot;WTFMove(nativeValue)&quot;);
</span><span class="cx">                     }
</span><del>-                    if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ImplementedBy&quot;}) {
-                        my $implementedBy = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ImplementedBy&quot;};
-                        AddToImplIncludes(&quot;${implementedBy}.h&quot;, $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;});
</del><ins>+                    my $implementedBy = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{ImplementedBy};
+                    if ($implementedBy) {
+                        AddToImplIncludes(&quot;${implementedBy}.h&quot;, $attribute-&gt;signature-&gt;extendedAttributes-&gt;{Conditional});
</ins><span class="cx">                         unshift(@arguments, &quot;impl&quot;) if !$attribute-&gt;isStatic;
</span><span class="cx">                         $functionName = &quot;WebCore::${implementedBy}::${functionName}&quot;;
</span><span class="cx">                     } elsif ($attribute-&gt;isStatic) {
</span><span class="lines">@@ -3330,12 +3243,12 @@
</span><span class="cx">                         $functionName = &quot;impl.${functionName}&quot;;
</span><span class="cx">                     }
</span><span class="cx"> 
</span><del>-                    unshift(@arguments, GenerateCallWith($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;SetterCallWith&quot;}, \@implContent, &quot;false&quot;));
-                    unshift(@arguments, GenerateCallWith($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;CallWith&quot;}, \@implContent, &quot;false&quot;));
</del><ins>+                    unshift(@arguments, GenerateCallWith($attribute-&gt;signature-&gt;extendedAttributes-&gt;{SetterCallWith}, \@implContent, &quot;false&quot;));
+                    unshift(@arguments, GenerateCallWith($attribute-&gt;signature-&gt;extendedAttributes-&gt;{CallWith}, \@implContent, &quot;false&quot;));
</ins><span class="cx"> 
</span><del>-                    push(@arguments, &quot;ec&quot;) if $setterRaisesException;
</del><ins>+                    push(@arguments, &quot;ec&quot;) if $setterMayThrowLegacyException;
</ins><span class="cx">                     push(@implContent, &quot;    ${functionName}(&quot; . join(&quot;, &quot;, @arguments) . &quot;);\n&quot;);
</span><del>-                    push(@implContent, &quot;    setDOMException(state, throwScope, ec);\n&quot;) if $setterRaisesException;
</del><ins>+                    push(@implContent, &quot;    setDOMException(state, throwScope, ec);\n&quot;) if $setterMayThrowLegacyException;
</ins><span class="cx">                     push(@implContent, &quot;    return true;\n&quot;);
</span><span class="cx">                 }
</span><span class="cx">             }
</span><span class="lines">@@ -3346,7 +3259,7 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (($indexedGetterFunction || $namedGetterFunction) &amp;&amp; !$interface-&gt;extendedAttributes-&gt;{&quot;CustomEnumerateProperty&quot;}) {
</del><ins>+    if (($indexedGetterFunction || $namedGetterFunction) &amp;&amp; !$interface-&gt;extendedAttributes-&gt;{CustomEnumerateProperty}) {
</ins><span class="cx">         push(@implContent, &quot;void ${className}::getOwnPropertyNames(JSObject* object, ExecState* state, PropertyNameArray&amp; propertyNames, EnumerationMode mode)\n&quot;);
</span><span class="cx">         push(@implContent, &quot;{\n&quot;);
</span><span class="cx">         push(@implContent, &quot;    auto* thisObject = jsCast&lt;${className}*&gt;(object);\n&quot;);
</span><span class="lines">@@ -3366,11 +3279,11 @@
</span><span class="cx">         push(@implContent, &quot;}\n\n&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (!$interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;}) {
</del><ins>+    if (!$interface-&gt;extendedAttributes-&gt;{NoInterfaceObject}) {
</ins><span class="cx">         push(@implContent, &quot;JSValue ${className}::getConstructor(VM&amp; vm, const JSGlobalObject* globalObject)\n{\n&quot;);
</span><span class="cx">         push(@implContent, &quot;    return getDOMConstructor&lt;${className}Constructor&gt;(vm, *jsCast&lt;const JSDOMGlobalObject*&gt;(globalObject));\n&quot;);
</span><span class="cx">         push(@implContent, &quot;}\n\n&quot;);
</span><del>-        if ($interface-&gt;extendedAttributes-&gt;{&quot;NamedConstructor&quot;}) {
</del><ins>+        if ($interface-&gt;extendedAttributes-&gt;{NamedConstructor}) {
</ins><span class="cx">             push(@implContent, &quot;JSValue ${className}::getNamedConstructor(VM&amp; vm, JSGlobalObject* globalObject)\n{\n&quot;);
</span><span class="cx">             push(@implContent, &quot;    return getDOMConstructor&lt;${className}NamedConstructor&gt;(vm, *jsCast&lt;JSDOMGlobalObject*&gt;(globalObject));\n&quot;);
</span><span class="cx">             push(@implContent, &quot;}\n\n&quot;);
</span><span class="lines">@@ -3382,8 +3295,7 @@
</span><span class="cx">         my $inAppleCopyright = 0;
</span><span class="cx">         foreach my $function (@{$interface-&gt;functions}) {
</span><span class="cx">             next if IsJSBuiltin($interface, $function);
</span><del>-            my $needsAppleCopyright = $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;AppleCopyright&quot;};
-            if ($needsAppleCopyright) {
</del><ins>+            if ($function-&gt;signature-&gt;extendedAttributes-&gt;{AppleCopyright}) {
</ins><span class="cx">                 if (!$inAppleCopyright) {
</span><span class="cx">                     push(@implContent, $beginAppleCopyrightForSourceFiles);
</span><span class="cx">                     $inAppleCopyright = 1;
</span><span class="lines">@@ -3396,10 +3308,10 @@
</span><span class="cx">             my $isCustom = HasCustomMethod($function-&gt;signature-&gt;extendedAttributes);
</span><span class="cx">             my $isOverloaded = $function-&gt;{overloads} &amp;&amp; @{$function-&gt;{overloads}} &gt; 1;
</span><span class="cx"> 
</span><del>-            die &quot;RaisesException and RaisesExceptionWithMessage are mutually exclusive&quot; if $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;RaisesException&quot;} &amp;&amp; $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;RaisesExceptionWithMessage&quot;};
</del><ins>+            die &quot;MayThrowLegacyException and MayThrowLegacyExceptionWithMessage are mutually exclusive&quot; if $function-&gt;signature-&gt;extendedAttributes-&gt;{MayThrowLegacyException} &amp;&amp; $function-&gt;signature-&gt;extendedAttributes-&gt;{MayThrowLegacyExceptionWithMessage};
</ins><span class="cx"> 
</span><del>-            my $raisesExceptionWithMessage = $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;RaisesExceptionWithMessage&quot;};
-            my $raisesException = $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;RaisesException&quot;} || $raisesExceptionWithMessage;
</del><ins>+            my $mayThrowLegacyExceptionWithMessage = $function-&gt;signature-&gt;extendedAttributes-&gt;{MayThrowLegacyExceptionWithMessage};
+            my $mayThrowLegacyException = $function-&gt;signature-&gt;extendedAttributes-&gt;{MayThrowLegacyException} || $mayThrowLegacyExceptionWithMessage;
</ins><span class="cx"> 
</span><span class="cx">             next if $isCustom &amp;&amp; $isOverloaded &amp;&amp; $function-&gt;{overloadIndex} &gt; 1;
</span><span class="cx"> 
</span><span class="lines">@@ -3407,7 +3319,7 @@
</span><span class="cx"> 
</span><span class="cx">             my $functionName = GetFunctionName($interface, $className, $function);
</span><span class="cx"> 
</span><del>-            my $conditional = $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;};
</del><ins>+            my $conditional = $function-&gt;signature-&gt;extendedAttributes-&gt;{Conditional};
</ins><span class="cx">             if ($conditional) {
</span><span class="cx">                 my $conditionalString = $codeGenerator-&gt;GenerateConditionalStringFromAttributeValue($conditional);
</span><span class="cx">                 push(@implContent, &quot;#if ${conditionalString}\n&quot;);
</span><span class="lines">@@ -3421,14 +3333,12 @@
</span><span class="cx">                 $functionReturn = &quot;static inline EncodedJSValue&quot;;
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            my $functionImplementationName = $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ImplementedAs&quot;} || $codeGenerator-&gt;WK_lcfirst($function-&gt;signature-&gt;name);
</del><ins>+            my $functionImplementationName = $function-&gt;signature-&gt;extendedAttributes-&gt;{ImplementedAs} || $codeGenerator-&gt;WK_lcfirst($function-&gt;signature-&gt;name);
</ins><span class="cx"> 
</span><del>-            if (IsReturningPromise($function)) {
-                AddToImplIncludes(&quot;JSDOMPromise.h&quot;);
-            }
</del><ins>+            AddToImplIncludes(&quot;JSDOMPromise.h&quot;) if IsReturningPromise($function);
+
</ins><span class="cx">             if (IsReturningPromise($function) &amp;&amp; !$isCustom) {
</span><del>-
-                my $scope = $interface-&gt;extendedAttributes-&gt;{&quot;Exposed&quot;} ? &quot;WindowOrWorker&quot; : &quot;WindowOnly&quot;;
</del><ins>+                my $scope = $interface-&gt;extendedAttributes-&gt;{Exposed} ? &quot;WindowOrWorker&quot; : &quot;WindowOnly&quot;;
</ins><span class="cx">                 push(@implContent, &lt;&lt;END);
</span><span class="cx"> static EncodedJSValue ${functionName}Promise(ExecState*, Ref&lt;DeferredPromise&gt;&amp;&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -3440,8 +3350,7 @@
</span><span class="cx"> 
</span><span class="cx"> static inline EncodedJSValue ${functionName}Promise(ExecState* state, Ref&lt;DeferredPromise&gt;&amp;&amp; promise)
</span><span class="cx"> END
</span><del>-            }
-            else {
</del><ins>+            } else {
</ins><span class="cx">                 push(@implContent, &quot;${functionReturn} ${functionName}(ExecState* state)\n&quot;);
</span><span class="cx">             }
</span><span class="cx"> 
</span><span class="lines">@@ -3453,7 +3362,7 @@
</span><span class="cx">             push(@implContent, &quot;    auto throwScope = DECLARE_THROW_SCOPE(vm);\n&quot;);
</span><span class="cx">             push(@implContent, &quot;    UNUSED_PARAM(throwScope);\n&quot;);
</span><span class="cx"> 
</span><del>-            if ($function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;CEReactions&quot;}) {
</del><ins>+            if ($function-&gt;signature-&gt;extendedAttributes-&gt;{CEReactions}) {
</ins><span class="cx">                 push(@implContent, &quot;#if ENABLE(CUSTOM_ELEMENTS)\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    CustomElementReactionStack customElementReactionStack;\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;#endif\n&quot;);
</span><span class="lines">@@ -3467,9 +3376,9 @@
</span><span class="cx">                 } else {
</span><span class="cx">                     GenerateArgumentsCountCheck(\@implContent, $function, $interface);
</span><span class="cx"> 
</span><del>-                    if ($raisesExceptionWithMessage) {
</del><ins>+                    if ($mayThrowLegacyExceptionWithMessage) {
</ins><span class="cx">                         push(@implContent, &quot;    ExceptionCodeWithMessage ec;\n&quot;);
</span><del>-                    } elsif ($raisesException) {
</del><ins>+                    } elsif ($mayThrowLegacyException) {
</ins><span class="cx">                         push(@implContent, &quot;    ExceptionCode ec = 0;\n&quot;);
</span><span class="cx">                     }
</span><span class="cx"> 
</span><span class="lines">@@ -3480,7 +3389,7 @@
</span><span class="cx">                 my $shouldRejectCastedThis = $isCustom &amp;&amp; IsReturningPromise($function);
</span><span class="cx">                 GenerateFunctionCastedThis($interface, $className, $function, $shouldRejectCastedThis);
</span><span class="cx"> 
</span><del>-                if ($interface-&gt;extendedAttributes-&gt;{&quot;CheckSecurity&quot;} and !$function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;DoNotCheckSecurity&quot;}) {
</del><ins>+                if ($interface-&gt;extendedAttributes-&gt;{CheckSecurity} and !$function-&gt;signature-&gt;extendedAttributes-&gt;{DoNotCheckSecurity}) {
</ins><span class="cx">                     if ($interfaceName eq &quot;DOMWindow&quot;) {
</span><span class="cx">                         push(@implContent, &quot;    if (!BindingSecurity::shouldAllowAccessToDOMWindow(state, castedThis-&gt;wrapped(), ThrowSecurityError))\n&quot;);
</span><span class="cx">                     } else {
</span><span class="lines">@@ -3513,14 +3422,14 @@
</span><span class="cx"> 
</span><span class="cx">                     GenerateArgumentsCountCheck(\@implContent, $function, $interface);
</span><span class="cx"> 
</span><del>-                    if ($raisesExceptionWithMessage) {
</del><ins>+                    if ($mayThrowLegacyExceptionWithMessage) {
</ins><span class="cx">                         push(@implContent, &quot;    ExceptionCodeWithMessage ec;\n&quot;);
</span><del>-                    } elsif ($raisesException) {
</del><ins>+                    } elsif ($mayThrowLegacyException) {
</ins><span class="cx">                         push(@implContent, &quot;    ExceptionCode ec = 0;\n&quot;);
</span><span class="cx">                     }
</span><span class="cx"> 
</span><del>-                    if ($function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;CheckSecurityForNode&quot;}) {
-                        push(@implContent, &quot;    if (!shouldAllowAccessToNode(state, impl.&quot; . $function-&gt;signature-&gt;name . &quot;(&quot; . ($raisesException ? &quot;ec&quot; : &quot;&quot;) .&quot;)))\n&quot;);
</del><ins>+                    if ($function-&gt;signature-&gt;extendedAttributes-&gt;{CheckSecurityForNode}) {
+                        push(@implContent, &quot;    if (!shouldAllowAccessToNode(state, impl.&quot; . $function-&gt;signature-&gt;name . &quot;(&quot; . ($mayThrowLegacyException ? &quot;ec&quot; : &quot;&quot;) .&quot;)))\n&quot;);
</ins><span class="cx">                         push(@implContent, &quot;        return JSValue::encode(jsNull());\n&quot;);
</span><span class="cx">                         $implIncludes{&quot;JSDOMBinding.h&quot;} = 1;
</span><span class="cx">                     }
</span><span class="lines">@@ -3554,10 +3463,10 @@
</span><span class="cx">         if ($codeGenerator-&gt;InheritsInterface($interface, &quot;EventTarget&quot;)) {
</span><span class="cx">             push(@implContent, &quot;    thisObject-&gt;wrapped().visitJSEventListeners(visitor);\n&quot;);
</span><span class="cx">         }
</span><del>-        push(@implContent, &quot;    thisObject-&gt;visitAdditionalChildren(visitor);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomMarkFunction&quot;};
-        if ($interface-&gt;extendedAttributes-&gt;{&quot;ReportExtraMemoryCost&quot;}) {
</del><ins>+        push(@implContent, &quot;    thisObject-&gt;visitAdditionalChildren(visitor);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{JSCustomMarkFunction};
+        if ($interface-&gt;extendedAttributes-&gt;{ReportExtraMemoryCost}) {
</ins><span class="cx">             push(@implContent, &quot;    visitor.reportExtraMemoryVisited(thisObject-&gt;wrapped().memoryCost());\n&quot;);
</span><del>-            if ($interface-&gt;extendedAttributes-&gt;{&quot;ReportExternalMemoryCost&quot;}) {;
</del><ins>+            if ($interface-&gt;extendedAttributes-&gt;{ReportExternalMemoryCost}) {;
</ins><span class="cx">                 push(@implContent, &quot;#if ENABLE(RESOURCE_USAGE)\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    visitor.reportExternalMemoryVisited(thisObject-&gt;wrapped().externalMemoryCost());\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;#endif\n&quot;);
</span><span class="lines">@@ -3566,7 +3475,7 @@
</span><span class="cx">         if ($numCachedAttributes &gt; 0) {
</span><span class="cx">             foreach (@{$interface-&gt;attributes}) {
</span><span class="cx">                 my $attribute = $_;
</span><del>-                if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;CachedAttribute&quot;}) {
</del><ins>+                if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{CachedAttribute}) {
</ins><span class="cx">                     push(@implContent, &quot;    visitor.append(&amp;thisObject-&gt;m_&quot; . $attribute-&gt;signature-&gt;name . &quot;);\n&quot;);
</span><span class="cx">                 }
</span><span class="cx">             }
</span><span class="lines">@@ -3585,12 +3494,10 @@
</span><span class="cx">     # Cached attributes are indeed allowed when there is a custom mark/visitChildren function.
</span><span class="cx">     # The custom function must make sure to account for the cached attribute.
</span><span class="cx">     # Uncomment the below line to temporarily enforce generated mark functions when cached attributes are present.
</span><del>-    # die &quot;Can't generate binding for class with cached attribute and custom mark.&quot; if (($numCachedAttributes &gt; 0) and ($interface-&gt;extendedAttributes-&gt;{&quot;JSCustomMarkFunction&quot;}));
</del><ins>+    # die &quot;Can't generate binding for class with cached attribute and custom mark.&quot; if $numCachedAttributes &gt; 0 and $interface-&gt;extendedAttributes-&gt;{JSCustomMarkFunction};
</ins><span class="cx"> 
</span><span class="cx">     if ($indexedGetterFunction) {
</span><del>-        if ($indexedGetterFunction-&gt;signature-&gt;type eq &quot;DOMString&quot;) {
-            $implIncludes{&quot;URL.h&quot;} = 1;
-        }
</del><ins>+        $implIncludes{&quot;URL.h&quot;} = 1 if $indexedGetterFunction-&gt;signature-&gt;type eq &quot;DOMString&quot;;
</ins><span class="cx">         if ($interfaceName =~ /^HTML\w*Collection$/ or $interfaceName eq &quot;RadioNodeList&quot;) {
</span><span class="cx">             $implIncludes{&quot;JSNode.h&quot;} = 1;
</span><span class="cx">             $implIncludes{&quot;Node.h&quot;} = 1;
</span><span class="lines">@@ -3680,7 +3587,7 @@
</span><span class="cx">         push(@implContent, &quot;}\n\n&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (ShouldGenerateWrapperOwnerCode($hasParent, $interface) &amp;&amp; !$interface-&gt;extendedAttributes-&gt;{&quot;JSCustomFinalize&quot;}) {
</del><ins>+    if (ShouldGenerateWrapperOwnerCode($hasParent, $interface) &amp;&amp; !$interface-&gt;extendedAttributes-&gt;{JSCustomFinalize}) {
</ins><span class="cx">         push(@implContent, &quot;void JS${interfaceName}Owner::finalize(JSC::Handle&lt;JSC::Unknown&gt; handle, void* context)\n&quot;);
</span><span class="cx">         push(@implContent, &quot;{\n&quot;);
</span><span class="cx">         push(@implContent, &quot;    auto* js${interfaceName} = jsCast&lt;JS${interfaceName}*&gt;(handle.slot()-&gt;asCell());\n&quot;);
</span><span class="lines">@@ -3729,7 +3636,7 @@
</span><span class="cx">     RELEASE_ASSERT(actualVTablePointer == expectedVTablePointer);
</span><span class="cx"> #endif
</span><span class="cx"> END
</span><del>-        push(@implContent, &lt;&lt;END) if $interface-&gt;extendedAttributes-&gt;{&quot;ImplementationLacksVTable&quot;};
</del><ins>+        push(@implContent, &lt;&lt;END) if $interface-&gt;extendedAttributes-&gt;{ImplementationLacksVTable};
</ins><span class="cx"> #if COMPILER(CLANG)
</span><span class="cx">     // If you hit this failure the interface definition has the ImplementationLacksVTable
</span><span class="cx">     // attribute. You should remove that attribute. If the class has subclasses
</span><span class="lines">@@ -3738,7 +3645,7 @@
</span><span class="cx">     static_assert(!__is_polymorphic($implType), &quot;${implType} is polymorphic but the IDL claims it is not&quot;);
</span><span class="cx"> #endif
</span><span class="cx"> END
</span><del>-        push(@implContent, &lt;&lt;END) if $interface-&gt;extendedAttributes-&gt;{&quot;ReportExtraMemoryCost&quot;};
</del><ins>+        push(@implContent, &lt;&lt;END) if $interface-&gt;extendedAttributes-&gt;{ReportExtraMemoryCost};
</ins><span class="cx">     globalObject-&gt;vm().heap.reportExtraMemoryAllocated(impl-&gt;memoryCost());
</span><span class="cx"> END
</span><span class="cx"> 
</span><span class="lines">@@ -3751,7 +3658,7 @@
</span><span class="cx">         push(@implContent, &quot;}\n\n&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (ShouldGenerateToWrapped($hasParent, $interface) and !$interface-&gt;extendedAttributes-&gt;{&quot;JSCustomToNativeObject&quot;}) {
</del><ins>+    if (ShouldGenerateToWrapped($hasParent, $interface) and !$interface-&gt;extendedAttributes-&gt;{JSCustomToNativeObject}) {
</ins><span class="cx">         push(@implContent, &quot;$implType* ${className}::toWrapped(JSC::JSValue value)\n&quot;);
</span><span class="cx">         push(@implContent, &quot;{\n&quot;);
</span><span class="cx">         push(@implContent, &quot;    if (auto* wrapper = &quot; . GetCastingHelperForThisObject($interface) . &quot;(value))\n&quot;);
</span><span class="lines">@@ -3802,7 +3709,7 @@
</span><span class="cx"> {
</span><span class="cx">     my ($interface, $className, $function, $shouldRejectPromise) = @_;
</span><span class="cx"> 
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;CustomProxyToJSObject&quot;}) {
</del><ins>+    if ($interface-&gt;extendedAttributes-&gt;{CustomProxyToJSObject}) {
</ins><span class="cx">         push(@implContent, &quot;    $className* castedThis = to${className}(state-&gt;thisValue().toThis(state, NotStrictMode));\n&quot;);
</span><span class="cx">         push(@implContent, &quot;    if (UNLIKELY(!castedThis))\n&quot;);
</span><span class="cx">         push(@implContent, &quot;        return throwVMTypeError(state, throwScope);\n&quot;);
</span><span class="lines">@@ -3949,11 +3856,11 @@
</span><span class="cx">     my $visibleInterfaceName = $codeGenerator-&gt;GetVisibleInterfaceName($interface);
</span><span class="cx">     my @arguments;
</span><span class="cx">     my $functionName;
</span><del>-    my $implementedBy = $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ImplementedBy&quot;};
</del><ins>+    my $implementedBy = $function-&gt;signature-&gt;extendedAttributes-&gt;{ImplementedBy};
</ins><span class="cx">     my $numParameters = @{$function-&gt;parameters};
</span><span class="cx"> 
</span><span class="cx">     if ($implementedBy) {
</span><del>-        AddToImplIncludes(&quot;${implementedBy}.h&quot;, $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;});
</del><ins>+        AddToImplIncludes(&quot;${implementedBy}.h&quot;, $function-&gt;signature-&gt;extendedAttributes-&gt;{Conditional});
</ins><span class="cx">         unshift(@arguments, &quot;impl&quot;) if !$function-&gt;isStatic;
</span><span class="cx">         $functionName = &quot;WebCore::${implementedBy}::${functionImplementationName}&quot;;
</span><span class="cx">     } elsif ($function-&gt;isStatic) {
</span><span class="lines">@@ -3965,10 +3872,10 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     my $quotedFunctionName;
</span><del>-    if (!$function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Constructor&quot;}) {
</del><ins>+    if (!$function-&gt;signature-&gt;extendedAttributes-&gt;{Constructor}) {
</ins><span class="cx">         my $name = $function-&gt;signature-&gt;name;
</span><span class="cx">         $quotedFunctionName = &quot;\&quot;$name\&quot;&quot;;
</span><del>-        push(@arguments, GenerateCallWith($function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;CallWith&quot;}, \@$outputArray, &quot;JSValue::encode(jsUndefined())&quot;, $function));
</del><ins>+        push(@arguments, GenerateCallWith($function-&gt;signature-&gt;extendedAttributes-&gt;{CallWith}, \@$outputArray, &quot;JSValue::encode(jsUndefined())&quot;, $function));
</ins><span class="cx">     } else {
</span><span class="cx">         $quotedFunctionName = &quot;nullptr&quot;;
</span><span class="cx">     }
</span><span class="lines">@@ -4040,7 +3947,7 @@
</span><span class="cx">             }
</span><span class="cx">             $value = &quot;WTFMove($name)&quot;;
</span><span class="cx">         } elsif ($parameter-&gt;isVariadic) {
</span><del>-            AddToImplIncludes(&quot;JS${type}.h&quot;, $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;}) unless $codeGenerator-&gt;SkipIncludeHeader($type) or !$codeGenerator-&gt;IsWrapperType($type);
</del><ins>+            AddToImplIncludes(&quot;JS${type}.h&quot;, $function-&gt;signature-&gt;extendedAttributes-&gt;{Conditional}) unless $codeGenerator-&gt;SkipIncludeHeader($type) or !$codeGenerator-&gt;IsWrapperType($type);
</ins><span class="cx">             my ($wrapperType, $wrappedType) = GetVariadicType($interface, $type);
</span><span class="cx">             push(@$outputArray, &quot;    auto $name = toArguments&lt;VariadicHelper&lt;$wrapperType, $wrappedType&gt;&gt;(*state, $argumentIndex);\n&quot;);
</span><span class="cx"> 
</span><span class="lines">@@ -4107,13 +4014,11 @@
</span><span class="cx">                 $implIncludes{&quot;&lt;runtime/Error.h&gt;&quot;} = 1;
</span><span class="cx">                 my $checkedArgument = &quot;state-&gt;$argumentLookupMethod($argumentIndex)&quot;;
</span><span class="cx">                 my $uncheckedArgument = &quot;state-&gt;uncheckedArgument($argumentIndex)&quot;;
</span><del>-                my ($nativeValue, $mayThrowException) = JSValueToNative($interface, $parameter, $uncheckedArgument, $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;});
</del><ins>+                my ($nativeValue, $mayThrowException) = JSValueToNative($interface, $parameter, $uncheckedArgument, $function-&gt;signature-&gt;extendedAttributes-&gt;{Conditional});
</ins><span class="cx">                 push(@$outputArray, &quot;    $nativeType $name = nullptr;\n&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;    if (!$checkedArgument.isUndefinedOrNull()) {\n&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;        $name = $nativeValue;\n&quot;);
</span><del>-                if ($mayThrowException) {
-                    push(@$outputArray, &quot;        RETURN_IF_EXCEPTION(throwScope, encodedJSValue());\n&quot;);
-                }
</del><ins>+                push(@$outputArray, &quot;        RETURN_IF_EXCEPTION(throwScope, encodedJSValue());\n&quot;) if $mayThrowException;
</ins><span class="cx">                 push(@$outputArray, &quot;        if (UNLIKELY(!$name))\n&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;            return throwArgumentTypeError(*state, throwScope, $argumentIndex, \&quot;$name\&quot;, \&quot;$visibleInterfaceName\&quot;, $quotedFunctionName, \&quot;$type\&quot;);\n&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;    }\n&quot;);
</span><span class="lines">@@ -4124,7 +4029,7 @@
</span><span class="cx"> 
</span><span class="cx">                     # String-related optimizations.
</span><span class="cx">                     if ($codeGenerator-&gt;IsStringType($type)) {
</span><del>-                        my $useAtomicString = $parameter-&gt;extendedAttributes-&gt;{&quot;AtomicString&quot;};
</del><ins>+                        my $useAtomicString = $parameter-&gt;extendedAttributes-&gt;{AtomicString};
</ins><span class="cx">                         if ($defaultValue eq &quot;null&quot;) {
</span><span class="cx">                             $defaultValue = $useAtomicString ? &quot;nullAtom&quot; : &quot;String()&quot;;
</span><span class="cx">                         } elsif ($defaultValue eq &quot;\&quot;\&quot;&quot;) {
</span><span class="lines">@@ -4150,12 +4055,10 @@
</span><span class="cx">                     $inner = &quot;state-&gt;$argumentLookupMethod($argumentIndex)&quot;;
</span><span class="cx">                 }
</span><span class="cx"> 
</span><del>-                my ($nativeValue, $mayThrowException) = JSValueToNative($interface, $parameter, $inner, $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;});
</del><ins>+                my ($nativeValue, $mayThrowException) = JSValueToNative($interface, $parameter, $inner, $function-&gt;signature-&gt;extendedAttributes-&gt;{Conditional});
</ins><span class="cx">                 push(@$outputArray, &quot;    auto $name = ${outer}${nativeValue};\n&quot;);
</span><span class="cx">                 $value = &quot;WTFMove($name)&quot;;
</span><del>-                if ($mayThrowException) {
-                    push(@$outputArray, &quot;    RETURN_IF_EXCEPTION(throwScope, encodedJSValue());\n&quot;);
-                }
</del><ins>+                push(@$outputArray, &quot;    RETURN_IF_EXCEPTION(throwScope, encodedJSValue());\n&quot;) if $mayThrowException;
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             if ($shouldPassByReference) {
</span><span class="lines">@@ -4188,7 +4091,7 @@
</span><span class="cx">     if (IsReturningPromise($function)) {
</span><span class="cx">         push(@arguments, &quot;WTFMove(promise)&quot;);
</span><span class="cx">     }
</span><del>-    push(@arguments, &quot;ec&quot;) if $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;RaisesException&quot;} || $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;RaisesExceptionWithMessage&quot;};
</del><ins>+    push(@arguments, &quot;ec&quot;) if $function-&gt;signature-&gt;extendedAttributes-&gt;{MayThrowLegacyException} || $function-&gt;signature-&gt;extendedAttributes-&gt;{MayThrowLegacyExceptionWithMessage};
</ins><span class="cx">     return @arguments;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -4217,22 +4120,15 @@
</span><span class="cx">     push(@headerContent, &quot;        return adoptRef(*new $className(callback, globalObject));\n&quot;);
</span><span class="cx">     push(@headerContent, &quot;    }\n\n&quot;);
</span><span class="cx"> 
</span><del>-    # ScriptExecutionContext
</del><span class="cx">     push(@headerContent, &quot;    virtual ScriptExecutionContext* scriptExecutionContext() const { return ContextDestructionObserver::scriptExecutionContext(); }\n\n&quot;);
</span><span class="cx"> 
</span><del>-    # Destructor
</del><span class="cx">     push(@headerContent, &quot;    virtual ~$className();\n&quot;);
</span><span class="cx"> 
</span><span class="cx">     push(@headerContent, &quot;    &quot; . GetJSCallbackDataType($interface) . &quot;* callbackData() { return m_data; }\n&quot;);
</span><span class="cx"> 
</span><del>-    # Constructor object getter.
-    if (@{$interface-&gt;constants}) {
-        push(@headerContent, &quot;    static JSC::JSValue getConstructor(JSC::VM&amp;, const JSC::JSGlobalObject*);\n&quot;);
-    }
</del><ins>+    push(@headerContent, &quot;    static JSC::JSValue getConstructor(JSC::VM&amp;, const JSC::JSGlobalObject*);\n&quot;) if @{$interface-&gt;constants};
</ins><span class="cx"> 
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;CallbackNeedsOperatorEqual&quot;}) {
-        push(@headerContent, &quot;    virtual bool operator==(const $interfaceName&amp;) const;\n\n&quot;)
-    }
</del><ins>+    push(@headerContent, &quot;    virtual bool operator==(const $interfaceName&amp;) const;\n\n&quot;) if $interface-&gt;extendedAttributes-&gt;{CallbackNeedsOperatorEqual};
</ins><span class="cx"> 
</span><span class="cx">     # Functions
</span><span class="cx">     my $numFunctions = @{$interface-&gt;functions};
</span><span class="lines">@@ -4289,7 +4185,7 @@
</span><span class="cx"> 
</span><span class="cx">     # Constructor
</span><span class="cx">     push(@implContent, &quot;${className}::${className}(JSObject* callback, JSDOMGlobalObject* globalObject)\n&quot;);
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;CallbackNeedsOperatorEqual&quot;}) {
</del><ins>+    if ($interface-&gt;extendedAttributes-&gt;{CallbackNeedsOperatorEqual}) {
</ins><span class="cx">         push(@implContent, &quot;    : ${interfaceName}(${className}Type)\n&quot;);
</span><span class="cx">     } else {
</span><span class="cx">         push(@implContent, &quot;    : ${interfaceName}()\n&quot;);
</span><span class="lines">@@ -4314,7 +4210,7 @@
</span><span class="cx">     push(@implContent, &quot;#endif\n&quot;);
</span><span class="cx">     push(@implContent, &quot;}\n\n&quot;);
</span><span class="cx"> 
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;CallbackNeedsOperatorEqual&quot;}) {
</del><ins>+    if ($interface-&gt;extendedAttributes-&gt;{CallbackNeedsOperatorEqual}) {
</ins><span class="cx">         push(@implContent, &quot;bool ${className}::operator==(const ${interfaceName}&amp; other) const\n&quot;);
</span><span class="cx">         push(@implContent, &quot;{\n&quot;);
</span><span class="cx">         push(@implContent, &quot;    if (other.type() != type())\n&quot;);
</span><span class="lines">@@ -4344,29 +4240,23 @@
</span><span class="cx">             push(@hashValue2, &quot;0&quot;);
</span><span class="cx">             push(@hashSpecials, &quot;DontDelete | ReadOnly | ConstantInteger&quot;);
</span><span class="cx"> 
</span><del>-            my $implementedBy = $constant-&gt;extendedAttributes-&gt;{&quot;ImplementedBy&quot;};
-            if ($implementedBy) {
-                $implIncludes{&quot;${implementedBy}.h&quot;} = 1;
-            }
-            my $conditional = $constant-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;};
-            if ($conditional) {
-                $conditionals{$name} = $conditional;
-            }
</del><ins>+            my $implementedBy = $constant-&gt;extendedAttributes-&gt;{ImplementedBy};
+            $implIncludes{&quot;${implementedBy}.h&quot;} = 1 if $implementedBy;
</ins><span class="cx"> 
</span><ins>+            my $conditional = $constant-&gt;extendedAttributes-&gt;{Conditional};
+            $conditionals{$name} = $conditional if $conditional;
+
</ins><span class="cx">             $hashSize++;
</span><span class="cx">         }
</span><del>-        $object-&gt;GenerateHashTable($hashName, $hashSize,
-                                   \@hashKeys, \@hashSpecials,
-                                   \@hashValue1, \@hashValue2,
-                                   \%conditionals, 1) if $hashSize &gt; 0;
</del><ins>+        $object-&gt;GenerateHashTable($hashName, $hashSize, \@hashKeys, \@hashSpecials, \@hashValue1, \@hashValue2, \%conditionals, 1) if $hashSize &gt; 0;
</ins><span class="cx"> 
</span><del>-       push(@implContent, $codeGenerator-&gt;GenerateCompileTimeCheckForEnumsIfNeeded($interface));
</del><ins>+        push(@implContent, $codeGenerator-&gt;GenerateCompileTimeCheckForEnumsIfNeeded($interface));
</ins><span class="cx"> 
</span><del>-       GenerateConstructorDefinitions(\@implContent, $className, &quot;&quot;, $visibleInterfaceName, $interface);
</del><ins>+        GenerateConstructorDefinitions(\@implContent, $className, &quot;&quot;, $visibleInterfaceName, $interface);
</ins><span class="cx"> 
</span><del>-       push(@implContent, &quot;JSValue ${className}::getConstructor(VM&amp; vm, const JSGlobalObject* globalObject)\n{\n&quot;);
-       push(@implContent, &quot;    return getDOMConstructor&lt;${className}Constructor&gt;(vm, *jsCast&lt;const JSDOMGlobalObject*&gt;(globalObject));\n&quot;);
-       push(@implContent, &quot;}\n\n&quot;);
</del><ins>+        push(@implContent, &quot;JSValue ${className}::getConstructor(VM&amp; vm, const JSGlobalObject* globalObject)\n{\n&quot;);
+        push(@implContent, &quot;    return getDOMConstructor&lt;${className}Constructor&gt;(vm, *jsCast&lt;const JSDOMGlobalObject*&gt;(globalObject));\n&quot;);
+        push(@implContent, &quot;}\n\n&quot;);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     # Functions.
</span><span class="lines">@@ -4375,7 +4265,7 @@
</span><span class="cx">         push(@implContent, &quot;\n// Functions\n&quot;);
</span><span class="cx">         foreach my $function (@{$interface-&gt;functions}) {
</span><span class="cx">             my @params = @{$function-&gt;parameters};
</span><del>-            if ($function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Custom&quot;} || GetNativeType($interface, $function-&gt;signature-&gt;type) ne &quot;bool&quot;) {
</del><ins>+            if ($function-&gt;signature-&gt;extendedAttributes-&gt;{Custom} || GetNativeType($interface, $function-&gt;signature-&gt;type) ne &quot;bool&quot;) {
</ins><span class="cx">                 next;
</span><span class="cx">             }
</span><span class="cx"> 
</span><span class="lines">@@ -4411,7 +4301,7 @@
</span><span class="cx"> 
</span><span class="cx">             my $propertyToLookup = &quot;Identifier::fromString(state, \&quot;${functionName}\&quot;)&quot;;
</span><span class="cx">             my $invokeMethod = &quot;JSCallbackData::CallbackType::FunctionOrObject&quot;;
</span><del>-            if ($codeGenerator-&gt;ExtendedAttributeContains($interface-&gt;extendedAttributes-&gt;{&quot;Callback&quot;}, &quot;FunctionOnly&quot;)) {
</del><ins>+            if ($codeGenerator-&gt;ExtendedAttributeContains($interface-&gt;extendedAttributes-&gt;{Callback}, &quot;FunctionOnly&quot;)) {
</ins><span class="cx">                 # For callback functions, do not look up callable property on the user object.
</span><span class="cx">                 # https://heycam.github.io/webidl/#es-callback-function
</span><span class="cx">                 $invokeMethod = &quot;JSCallbackData::CallbackType::Function&quot;;
</span><span class="lines">@@ -4446,9 +4336,7 @@
</span><span class="cx">     my $conditionalString = $codeGenerator-&gt;GenerateConditionalString($interface);
</span><span class="cx">     push(@implContent, &quot;\n#endif // ${conditionalString}\n&quot;) if $conditionalString;
</span><span class="cx"> 
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;AppleCopyright&quot;}) {
-        push(@implContent, split(&quot;\r&quot;, $endAppleCopyright));
-    }
</del><ins>+    push(@implContent, split(&quot;\r&quot;, $endAppleCopyright)) if $interface-&gt;extendedAttributes-&gt;{AppleCopyright};
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub GenerateImplementationFunctionCall()
</span><span class="lines">@@ -4455,9 +4343,9 @@
</span><span class="cx"> {
</span><span class="cx">     my ($function, $functionString, $indent, $svgPropertyType, $interface) = @_;
</span><span class="cx"> 
</span><del>-    my $nondeterministic = $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Nondeterministic&quot;};
-    my $raisesExceptionWithMessage = $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;RaisesExceptionWithMessage&quot;};
-    my $raisesException = $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;RaisesException&quot;} || $raisesExceptionWithMessage;
</del><ins>+    my $nondeterministic = $function-&gt;signature-&gt;extendedAttributes-&gt;{Nondeterministic};
+    my $mayThrowLegacyExceptionWithMessage = $function-&gt;signature-&gt;extendedAttributes-&gt;{MayThrowLegacyExceptionWithMessage};
+    my $mayThrowLegacyException = $function-&gt;signature-&gt;extendedAttributes-&gt;{MayThrowLegacyException} || $mayThrowLegacyExceptionWithMessage;
</ins><span class="cx"> 
</span><span class="cx">     if ($function-&gt;signature-&gt;type eq &quot;void&quot; || IsReturningPromise($function)) {
</span><span class="cx">         if ($nondeterministic) {
</span><span class="lines">@@ -4466,22 +4354,22 @@
</span><span class="cx">             push(@implContent, $indent . &quot;InputCursor&amp; cursor = state-&gt;lexicalGlobalObject()-&gt;inputCursor();\n&quot;);
</span><span class="cx">             push(@implContent, $indent . &quot;if (!cursor.isReplaying()) {\n&quot;);
</span><span class="cx">             push(@implContent, $indent . &quot;    $functionString;\n&quot;);
</span><del>-            push(@implContent, $indent . &quot;    setDOMException(state, throwScope, ec);\n&quot;) if $raisesException;
</del><ins>+            push(@implContent, $indent . &quot;    setDOMException(state, throwScope, ec);\n&quot;) if $mayThrowLegacyException;
</ins><span class="cx">             push(@implContent, $indent . &quot;}\n&quot;);
</span><span class="cx">             push(@implContent, &quot;#else\n&quot;);
</span><span class="cx">             push(@implContent, $indent . &quot;$functionString;\n&quot;);
</span><del>-            push(@implContent, $indent . &quot;setDOMException(state, throwScope, ec);\n&quot;) if $raisesException;
</del><ins>+            push(@implContent, $indent . &quot;setDOMException(state, throwScope, ec);\n&quot;) if $mayThrowLegacyException;
</ins><span class="cx">             push(@implContent, &quot;#endif\n&quot;);
</span><span class="cx">         } else {
</span><span class="cx">             push(@implContent, $indent . &quot;$functionString;\n&quot;);
</span><del>-            push(@implContent, $indent . &quot;setDOMException(state, throwScope, ec);\n&quot;) if $raisesException;
</del><ins>+            push(@implContent, $indent . &quot;setDOMException(state, throwScope, ec);\n&quot;) if $mayThrowLegacyException;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if ($svgPropertyType and !$function-&gt;isStatic) {
</span><del>-            if ($raisesExceptionWithMessage) {
</del><ins>+            if ($mayThrowLegacyExceptionWithMessage) {
</ins><span class="cx">                 push(@implContent, $indent . &quot;if (LIKELY(!ec.code))\n&quot;);
</span><span class="cx">                 push(@implContent, $indent . &quot;    impl.commitChange();\n&quot;);
</span><del>-            } elsif ($raisesException) {
</del><ins>+            } elsif ($mayThrowLegacyException) {
</ins><span class="cx">                 push(@implContent, $indent . &quot;if (LIKELY(!ec))\n&quot;);
</span><span class="cx">                 push(@implContent, $indent . &quot;    impl.commitChange();\n&quot;);
</span><span class="cx">             } else {
</span><span class="lines">@@ -4506,7 +4394,7 @@
</span><span class="cx">             push(@implContent, $indent . &quot;static NeverDestroyed&lt;const AtomicString&gt; bindingName(\&quot;$bindingName\&quot;, AtomicString::ConstructFromLiteral);\n&quot;);
</span><span class="cx">             push(@implContent, $indent . &quot;if (cursor.isCapturing()) {\n&quot;);
</span><span class="cx">             push(@implContent, $indent . &quot;    $nativeType memoizedResult = $functionString;\n&quot;);
</span><del>-            my $exceptionCode = $raisesExceptionWithMessage ? &quot;ec.code&quot; : ($raisesException ? &quot;ec&quot; : &quot;0&quot;);
</del><ins>+            my $exceptionCode = $mayThrowLegacyExceptionWithMessage ? &quot;ec.code&quot; : ($mayThrowLegacyException ? &quot;ec&quot; : &quot;0&quot;);
</ins><span class="cx">             push(@implContent, $indent . &quot;    cursor.appendInput&lt;MemoizedDOMResult&lt;$memoizedType&gt;&gt;(bindingName.get().string(), memoizedResult, $exceptionCode);\n&quot;);
</span><span class="cx">             push(@implContent, $indent . &quot;    result = &quot; . NativeToJSValue($function-&gt;signature, 1, $interface, &quot;memoizedResult&quot;, $thisObject) . &quot;;\n&quot;);
</span><span class="cx">             push(@implContent, $indent . &quot;} else if (cursor.isReplaying()) {\n&quot;);
</span><span class="lines">@@ -4515,8 +4403,8 @@
</span><span class="cx">             # FIXME: the generated code should report an error if an input cannot be fetched or converted.
</span><span class="cx">             push(@implContent, $indent . &quot;    if (input &amp;&amp; input-&gt;convertTo&lt;$memoizedType&gt;(memoizedResult)) {\n&quot;);
</span><span class="cx">             push(@implContent, $indent . &quot;        result = &quot; . NativeToJSValue($function-&gt;signature, 1, $interface, &quot;memoizedResult&quot;, $thisObject) . &quot;;\n&quot;);
</span><del>-            push(@implContent, $indent . &quot;        ec.code = input-&gt;exceptionCode();\n&quot;) if $raisesExceptionWithMessage;
-            push(@implContent, $indent . &quot;        ec = input-&gt;exceptionCode();\n&quot;) if $raisesException &amp;&amp; !$raisesExceptionWithMessage;
</del><ins>+            push(@implContent, $indent . &quot;        ec.code = input-&gt;exceptionCode();\n&quot;) if $mayThrowLegacyExceptionWithMessage;
+            push(@implContent, $indent . &quot;        ec = input-&gt;exceptionCode();\n&quot;) if $mayThrowLegacyException &amp;&amp; !$mayThrowLegacyExceptionWithMessage;
</ins><span class="cx">             push(@implContent, $indent . &quot;    } else\n&quot;);
</span><span class="cx">             push(@implContent, $indent . &quot;        result = &quot; . NativeToJSValue($function-&gt;signature, 1, $interface, $functionString, $thisObject) . &quot;;\n&quot;);
</span><span class="cx">             push(@implContent, $indent . &quot;} else\n&quot;);
</span><span class="lines">@@ -4527,9 +4415,9 @@
</span><span class="cx">         } else {
</span><span class="cx">             push(@implContent, $indent . &quot;JSValue result = &quot; . NativeToJSValue($function-&gt;signature, 1, $interface, $functionString, $thisObject) . &quot;;\n&quot;);
</span><span class="cx">         }
</span><del>-        push(@implContent, &quot;\n&quot; . $indent . &quot;setDOMException(state, throwScope, ec);\n&quot;) if $raisesException;
</del><ins>+        push(@implContent, &quot;\n&quot; . $indent . &quot;setDOMException(state, throwScope, ec);\n&quot;) if $mayThrowLegacyException;
</ins><span class="cx"> 
</span><del>-        if ($codeGenerator-&gt;ExtendedAttributeContains($function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;CallWith&quot;}, &quot;ScriptState&quot;)) {
</del><ins>+        if ($codeGenerator-&gt;ExtendedAttributeContains($function-&gt;signature-&gt;extendedAttributes-&gt;{CallWith}, &quot;ScriptState&quot;)) {
</ins><span class="cx">             push(@implContent, $indent . &quot;RETURN_IF_EXCEPTION(throwScope, encodedJSValue());\n&quot;);
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -4612,7 +4500,7 @@
</span><span class="cx">     my $interface = shift;
</span><span class="cx">     my $className = shift;
</span><span class="cx"> 
</span><del>-    if ($interface-&gt;iterable-&gt;extendedAttributes-&gt;{&quot;EnabledAtRuntime&quot;}) {
</del><ins>+    if ($interface-&gt;iterable-&gt;extendedAttributes-&gt;{EnabledAtRuntime}) {
</ins><span class="cx">         AddToImplIncludes(&quot;RuntimeEnabledFeatures.h&quot;);
</span><span class="cx">         my $enable_function = GetRuntimeEnableFunctionName($interface-&gt;iterable);
</span><span class="cx">         push(@implContent, &quot;    if (${enable_function}()) {\n    &quot;);
</span><span class="lines">@@ -4625,7 +4513,7 @@
</span><span class="cx">         push(@implContent, &quot;    addValueIterableMethods(*globalObject(), *this);\n&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if ($interface-&gt;iterable-&gt;extendedAttributes-&gt;{&quot;EnabledAtRuntime&quot;}) {
</del><ins>+    if ($interface-&gt;iterable-&gt;extendedAttributes-&gt;{EnabledAtRuntime}) {
</ins><span class="cx">         push(@implContent, &quot;    }\n&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -4772,8 +4660,8 @@
</span><span class="cx"> {
</span><span class="cx">     my $signature = shift;
</span><span class="cx"> 
</span><del>-    return &quot;EnforceRange&quot; if $signature-&gt;extendedAttributes-&gt;{&quot;EnforceRange&quot;};
-    return &quot;Clamp&quot; if $signature-&gt;extendedAttributes-&gt;{&quot;Clamp&quot;};
</del><ins>+    return &quot;EnforceRange&quot; if $signature-&gt;extendedAttributes-&gt;{EnforceRange};
+    return &quot;Clamp&quot; if $signature-&gt;extendedAttributes-&gt;{Clamp};
</ins><span class="cx">     return &quot;NormalConversion&quot;;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -4792,16 +4680,16 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if ($type eq &quot;DOMString&quot;) {
</span><del>-        return (&quot;AtomicString($value.toString(state)-&gt;toExistingAtomicString(state))&quot;, 1) if $signature-&gt;extendedAttributes-&gt;{&quot;RequiresExistingAtomicString&quot;};
</del><ins>+        return (&quot;AtomicString($value.toString(state)-&gt;toExistingAtomicString(state))&quot;, 1) if $signature-&gt;extendedAttributes-&gt;{RequiresExistingAtomicString};
</ins><span class="cx"> 
</span><del>-        my $treatNullAs = $signature-&gt;extendedAttributes-&gt;{&quot;TreatNullAs&quot;};
</del><ins>+        my $treatNullAs = $signature-&gt;extendedAttributes-&gt;{TreatNullAs};
</ins><span class="cx">         return (&quot;valueToStringTreatingNullAsEmptyString(state, $value)&quot;, 1) if $treatNullAs &amp;&amp; $treatNullAs eq &quot;EmptyString&quot;;
</span><span class="cx">         return (&quot;valueToStringWithUndefinedOrNullCheck(state, $value)&quot;, 1) if $signature-&gt;isNullable;
</span><del>-        return (&quot;$value.toString(state)-&gt;toAtomicString(state)&quot;, 1) if $signature-&gt;extendedAttributes-&gt;{&quot;AtomicString&quot;};
</del><ins>+        return (&quot;$value.toString(state)-&gt;toAtomicString(state)&quot;, 1) if $signature-&gt;extendedAttributes-&gt;{AtomicString};
</ins><span class="cx">         return (&quot;$value.toWTFString(state)&quot;, 1);
</span><span class="cx">     }
</span><span class="cx">     if ($type eq &quot;USVString&quot;) {
</span><del>-        my $treatNullAs = $signature-&gt;extendedAttributes-&gt;{&quot;TreatNullAs&quot;};
</del><ins>+        my $treatNullAs = $signature-&gt;extendedAttributes-&gt;{TreatNullAs};
</ins><span class="cx">         return (&quot;valueToUSVStringTreatingNullAsEmptyString(state, $value)&quot;, 1) if $treatNullAs &amp;&amp; $treatNullAs eq &quot;EmptyString&quot;;
</span><span class="cx">         return (&quot;valueToUSVStringWithUndefinedOrNullCheck(state, $value)&quot;, 1) if $signature-&gt;isNullable;
</span><span class="cx">         return (&quot;valueToUSVString(state, $value)&quot;, 1);
</span><span class="lines">@@ -4857,7 +4745,7 @@
</span><span class="cx"> {
</span><span class="cx">     my ($signature, $inFunctionCall, $interface, $value, $thisValue) = @_;
</span><span class="cx"> 
</span><del>-    my $conditional = $signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;};
</del><ins>+    my $conditional = $signature-&gt;extendedAttributes-&gt;{Conditional};
</ins><span class="cx">     my $type = $signature-&gt;type;
</span><span class="cx"> 
</span><span class="cx">     my $globalObject = $thisValue ? &quot;$thisValue-&gt;globalObject()&quot; : &quot;jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())&quot;;
</span><span class="lines">@@ -4873,7 +4761,7 @@
</span><span class="cx">         # We could instead overload a function to work with optional as well as non-optional numbers, but this
</span><span class="cx">         # is slightly better because it guarantees we will fail to compile if the IDL file doesn't match the C++.
</span><span class="cx">         my $function = $signature-&gt;isNullable ? &quot;toNullableJSNumber&quot; : &quot;jsNumber&quot;;
</span><del>-        if ($signature-&gt;extendedAttributes-&gt;{&quot;Reflect&quot;} and ($type eq &quot;unsigned long&quot; or $type eq &quot;unsigned short&quot;)) {
</del><ins>+        if ($signature-&gt;extendedAttributes-&gt;{Reflect} and ($type eq &quot;unsigned long&quot; or $type eq &quot;unsigned short&quot;)) {
</ins><span class="cx">             $value =~ s/getUnsignedIntegralAttribute/getIntegralAttribute/g;
</span><span class="cx">             $value = &quot;std::max(0, $value)&quot;;
</span><span class="cx">         }
</span><span class="lines">@@ -4903,7 +4791,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if ($type eq &quot;any&quot;) {
</span><del>-        my $returnType = $signature-&gt;extendedAttributes-&gt;{&quot;ImplementationReturnType&quot;};
</del><ins>+        my $returnType = $signature-&gt;extendedAttributes-&gt;{ImplementationReturnType};
</ins><span class="cx">         if (defined $returnType and ($returnType eq &quot;IDBKeyPath&quot; or $returnType eq &quot;IDBKey&quot;)) {
</span><span class="cx">             AddToImplIncludes(&quot;IDBBindingUtilities.h&quot;, $conditional);
</span><span class="cx">             return &quot;toJS(*state, *$globalObject, $value)&quot;;
</span><span class="lines">@@ -4930,7 +4818,7 @@
</span><span class="cx">         $value = &quot;static_cast&lt;&quot; . GetNativeType($interface, $type) . &quot;&gt;($value)&quot;;
</span><span class="cx">     } elsif ($codeGenerator-&gt;IsSVGTypeNeedingTearOff($type) and not $interface-&gt;name =~ /List$/) {
</span><span class="cx">         my $tearOffType = $codeGenerator-&gt;GetSVGTypeNeedingTearOff($type);
</span><del>-        if ($codeGenerator-&gt;IsSVGTypeWithWritablePropertiesNeedingTearOff($type) and !$inFunctionCall and not defined $signature-&gt;extendedAttributes-&gt;{&quot;Immutable&quot;}) {
</del><ins>+        if ($codeGenerator-&gt;IsSVGTypeWithWritablePropertiesNeedingTearOff($type) and !$inFunctionCall and not defined $signature-&gt;extendedAttributes-&gt;{Immutable}) {
</ins><span class="cx">             my $getter = $value;
</span><span class="cx">             $getter =~ s/impl\.//;
</span><span class="cx">             $getter =~ s/impl-&gt;//;
</span><span class="lines">@@ -4955,7 +4843,7 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    my $function = $signature-&gt;extendedAttributes-&gt;{&quot;NewObject&quot;} ? &quot;toJSNewlyCreated&quot; : &quot;toJS&quot;;
</del><ins>+    my $function = $signature-&gt;extendedAttributes-&gt;{NewObject} ? &quot;toJSNewlyCreated&quot; : &quot;toJS&quot;;
</ins><span class="cx">     return &quot;$function(state, $globalObject, $value)&quot;;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -5140,7 +5028,11 @@
</span><span class="cx">     my @includes = ();
</span><span class="cx">     my %implIncludeConditions = ();
</span><span class="cx">     foreach my $include (keys %implIncludes) {
</span><ins>+        next if $headerIncludes{$include};
+        next if $headerTrailingIncludes{$include};
+
</ins><span class="cx">         my $condition = $implIncludes{$include};
</span><ins>+
</ins><span class="cx">         my $checkType = $include;
</span><span class="cx">         $checkType =~ s/\.h//;
</span><span class="cx">         next if $codeGenerator-&gt;IsSVGAnimatedType($checkType);
</span><span class="lines">@@ -5220,7 +5112,7 @@
</span><span class="cx">     my %structureFlags = ();
</span><span class="cx">     push(@$outputArray, &quot;class ${prototypeClassName} : public JSC::JSNonFinalObject {\n&quot;);
</span><span class="cx">     push(@$outputArray, &quot;public:\n&quot;);
</span><del>-    push(@$outputArray, &quot;    typedef JSC::JSNonFinalObject Base;\n&quot;);
</del><ins>+    push(@$outputArray, &quot;    using Base = JSC::JSNonFinalObject;\n&quot;);
</ins><span class="cx"> 
</span><span class="cx">     push(@$outputArray, &quot;    static ${prototypeClassName}* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)\n&quot;);
</span><span class="cx">     push(@$outputArray, &quot;    {\n&quot;);
</span><span class="lines">@@ -5252,7 +5144,7 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;JSCustomNamedGetterOnPrototype&quot;}) {
</del><ins>+    if ($interface-&gt;extendedAttributes-&gt;{JSCustomNamedGetterOnPrototype}) {
</ins><span class="cx">         push(@$outputArray, &quot;\n&quot;);
</span><span class="cx">         push(@$outputArray, &quot;    static bool put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;);\n&quot;);
</span><span class="cx">         push(@$outputArray, &quot;    bool putDelegate(JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;, bool&amp; putResult);\n&quot;);
</span><span class="lines">@@ -5259,7 +5151,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     # Custom defineOwnProperty function
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;JSCustomDefineOwnPropertyOnPrototype&quot;}) {
</del><ins>+    if ($interface-&gt;extendedAttributes-&gt;{JSCustomDefineOwnPropertyOnPrototype}) {
</ins><span class="cx">         push(@$outputArray, &quot;\n&quot;);
</span><span class="cx">         push(@$outputArray, &quot;    static bool defineOwnProperty(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, const JSC::PropertyDescriptor&amp;, bool shouldThrow);\n&quot;);
</span><span class="cx">     }
</span><span class="lines">@@ -5280,7 +5172,7 @@
</span><span class="cx"> sub GetConstructorTemplateClassName
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-    return &quot;JSDOMConstructorNotConstructable&quot; if ($interface-&gt;extendedAttributes-&gt;{&quot;NamedConstructor&quot;});
</del><ins>+    return &quot;JSDOMConstructorNotConstructable&quot; if $interface-&gt;extendedAttributes-&gt;{NamedConstructor};
</ins><span class="cx">     return &quot;JSDOMConstructorNotConstructable&quot; unless IsConstructable($interface);
</span><span class="cx">     return &quot;JSBuiltinConstructor&quot; if IsJSBuiltinConstructor($interface);
</span><span class="cx">     return &quot;JSDOMConstructor&quot;;
</span><span class="lines">@@ -5296,8 +5188,8 @@
</span><span class="cx"> 
</span><span class="cx">     $implIncludes{&quot;JSDOMConstructor.h&quot;} = 1;
</span><span class="cx"> 
</span><del>-    push(@$outputArray, &quot;typedef $templateClassName&lt;$className&gt; ${constructorClassName};\n&quot;);
-    push(@$outputArray, &quot;typedef JSDOMNamedConstructor&lt;$className&gt; JS${interfaceName}NamedConstructor;\n&quot;) if $interface-&gt;extendedAttributes-&gt;{&quot;NamedConstructor&quot;};
</del><ins>+    push(@$outputArray, &quot;using $constructorClassName = $templateClassName&lt;$className&gt;;\n&quot;);
+    push(@$outputArray, &quot;using JS${interfaceName}NamedConstructor = JSDOMNamedConstructor&lt;$className&gt;;\n&quot;) if $interface-&gt;extendedAttributes-&gt;{NamedConstructor};
</ins><span class="cx">     push(@$outputArray, &quot;\n&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -5388,9 +5280,9 @@
</span><span class="cx"> 
</span><span class="cx">             for (my $index = 0; $index &lt; @{$interface-&gt;attributes}; $index++) {
</span><span class="cx">                 my $attribute = @{$interface-&gt;attributes}[$index];
</span><del>-                if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;InitializedByEventConstructor&quot;}) {
</del><ins>+                if ($attribute-&gt;signature-&gt;extendedAttributes-&gt;{InitializedByEventConstructor}) {
</ins><span class="cx">                     my $attributeName = $attribute-&gt;signature-&gt;name;
</span><del>-                    my $attributeImplName = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ImplementedAs&quot;} || $attributeName;
</del><ins>+                    my $attributeImplName = $attribute-&gt;signature-&gt;extendedAttributes-&gt;{ImplementedAs} || $attributeName;
</ins><span class="cx">                     my $conditionalString = $codeGenerator-&gt;GenerateConditionalString($attribute-&gt;signature);
</span><span class="cx"> 
</span><span class="cx">                     push(@implContent, &quot;#if ${conditionalString}\n&quot;) if $conditionalString;
</span><span class="lines">@@ -5409,13 +5301,13 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> END
</span><del>-         } elsif ($interface-&gt;extendedAttributes-&gt;{&quot;CustomConstructor&quot;}) {
</del><ins>+         } elsif ($interface-&gt;extendedAttributes-&gt;{CustomConstructor}) {
</ins><span class="cx">             push(@$outputArray, &quot;template&lt;&gt; JSC::EncodedJSValue JSC_HOST_CALL ${constructorClassName}::construct(JSC::ExecState* exec)\n&quot;);
</span><span class="cx">             push(@$outputArray, &quot;{\n&quot;);
</span><span class="cx">             push(@$outputArray, &quot;    ASSERT(exec);\n&quot;);
</span><span class="cx">             push(@$outputArray, &quot;    return construct${className}(*exec);\n&quot;);
</span><span class="cx">             push(@$outputArray, &quot;}\n\n&quot;);
</span><del>-         } elsif (!HasCustomConstructor($interface) &amp;&amp; (!$interface-&gt;extendedAttributes-&gt;{&quot;NamedConstructor&quot;} || $generatingNamedConstructor)) {
</del><ins>+         } elsif (!HasCustomConstructor($interface) &amp;&amp; (!$interface-&gt;extendedAttributes-&gt;{NamedConstructor} || $generatingNamedConstructor)) {
</ins><span class="cx">             my $isOverloaded = $function-&gt;{overloads} &amp;&amp; @{$function-&gt;{overloads}} &gt; 1;
</span><span class="cx">             if ($isOverloaded) {
</span><span class="cx">                 push(@$outputArray, &quot;static inline EncodedJSValue construct${className}$function-&gt;{overloadIndex}(ExecState* state)\n&quot;);
</span><span class="lines">@@ -5436,9 +5328,9 @@
</span><span class="cx"> 
</span><span class="cx">             GenerateArgumentsCountCheck($outputArray, $function, $interface);
</span><span class="cx"> 
</span><del>-            if ($function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;RaisesException&quot;} || $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;RaisesExceptionWithMessage&quot;} || $interface-&gt;extendedAttributes-&gt;{&quot;ConstructorRaisesException&quot;}) {
</del><ins>+            if ($function-&gt;signature-&gt;extendedAttributes-&gt;{MayThrowLegacyException} || $function-&gt;signature-&gt;extendedAttributes-&gt;{MayThrowLegacyExceptionWithMessage} || $interface-&gt;extendedAttributes-&gt;{ConstructorMayThrowLegacyException}) {
</ins><span class="cx">                 $implIncludes{&quot;ExceptionCode.h&quot;} = 1;
</span><del>-                if ($function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;RaisesExceptionWithMessage&quot;}) {
</del><ins>+                if ($function-&gt;signature-&gt;extendedAttributes-&gt;{MayThrowLegacyExceptionWithMessage}) {
</ins><span class="cx">                     push(@$outputArray, &quot;    ExceptionCodeWithMessage ec;\n&quot;);
</span><span class="cx">                 } else {
</span><span class="cx">                     push(@$outputArray, &quot;    ExceptionCode ec = 0;\n&quot;);
</span><span class="lines">@@ -5449,16 +5341,16 @@
</span><span class="cx">             # FIXME: Currently [Constructor(...)] does not yet support optional arguments without [Default=...]
</span><span class="cx">             my ($dummy, $paramIndex) = GenerateParametersCheck($outputArray, $function, $interface, &quot;constructorCallback&quot;, undef, undef, undef);
</span><span class="cx"> 
</span><del>-            if ($codeGenerator-&gt;ExtendedAttributeContains($interface-&gt;extendedAttributes-&gt;{&quot;ConstructorCallWith&quot;}, &quot;ScriptState&quot;)) {
-                push(@constructorArgList, &quot;*state&quot;);
-            }
-            if ($codeGenerator-&gt;ExtendedAttributeContains($interface-&gt;extendedAttributes-&gt;{&quot;ConstructorCallWith&quot;}, &quot;ScriptExecutionContext&quot;)) {
</del><ins>+            push(@constructorArgList, &quot;*state&quot;) if $codeGenerator-&gt;ExtendedAttributeContains($interface-&gt;extendedAttributes-&gt;{ConstructorCallWith}, &quot;ScriptState&quot;);;
+
+            if ($codeGenerator-&gt;ExtendedAttributeContains($interface-&gt;extendedAttributes-&gt;{ConstructorCallWith}, &quot;ScriptExecutionContext&quot;)) {
</ins><span class="cx">                 push(@constructorArgList, &quot;*context&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;    ScriptExecutionContext* context = castedThis-&gt;scriptExecutionContext();\n&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;    if (UNLIKELY(!context))\n&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;        return throwConstructorScriptExecutionContextUnavailableError(*state, throwScope, \&quot;${visibleInterfaceName}\&quot;);\n&quot;);
</span><span class="cx">             }
</span><del>-            if ($codeGenerator-&gt;ExtendedAttributeContains($interface-&gt;extendedAttributes-&gt;{&quot;ConstructorCallWith&quot;}, &quot;Document&quot;)) {
</del><ins>+
+            if ($codeGenerator-&gt;ExtendedAttributeContains($interface-&gt;extendedAttributes-&gt;{ConstructorCallWith}, &quot;Document&quot;)) {
</ins><span class="cx">                 $implIncludes{&quot;Document.h&quot;} = 1;
</span><span class="cx">                 push(@constructorArgList, &quot;document&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;    ScriptExecutionContext* context = castedThis-&gt;scriptExecutionContext();\n&quot;);
</span><span class="lines">@@ -5467,10 +5359,9 @@
</span><span class="cx">                 push(@$outputArray, &quot;    ASSERT(context-&gt;isDocument());\n&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;    auto&amp; document = downcast&lt;Document&gt;(*context);\n&quot;);
</span><span class="cx">             }
</span><del>-            if ($generatingNamedConstructor) {
-                push(@constructorArgList, &quot;*castedThis-&gt;document()&quot;);
-            }
</del><span class="cx"> 
</span><ins>+            push(@constructorArgList, &quot;*castedThis-&gt;document()&quot;) if $generatingNamedConstructor;
+
</ins><span class="cx">             my $index = 0;
</span><span class="cx">             foreach my $parameter (@{$function-&gt;parameters}) {
</span><span class="cx">                 last if $index eq $paramIndex;
</span><span class="lines">@@ -5484,9 +5375,8 @@
</span><span class="cx">                 $index++;
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            if ($interface-&gt;extendedAttributes-&gt;{&quot;ConstructorRaisesException&quot;}) {
-                push(@constructorArgList, &quot;ec&quot;);
-            }
</del><ins>+            push(@constructorArgList, &quot;ec&quot;) if $interface-&gt;extendedAttributes-&gt;{ConstructorMayThrowLegacyException};
+
</ins><span class="cx">             my $constructorArg = join(&quot;, &quot;, @constructorArgList);
</span><span class="cx">             if ($generatingNamedConstructor) {
</span><span class="cx">                 push(@$outputArray, &quot;    auto object = ${interfaceName}::createForJSConstructor(${constructorArg});\n&quot;);
</span><span class="lines">@@ -5494,7 +5384,7 @@
</span><span class="cx">                 push(@$outputArray, &quot;    auto object = ${interfaceName}::create(${constructorArg});\n&quot;);
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            if ($interface-&gt;extendedAttributes-&gt;{&quot;ConstructorRaisesException&quot;}) {
</del><ins>+            if ($interface-&gt;extendedAttributes-&gt;{ConstructorMayThrowLegacyException}) {
</ins><span class="cx">                 push(@$outputArray, &quot;    if (UNLIKELY(ec)) {\n&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;        setDOMException(state, throwScope, ec);\n&quot;);
</span><span class="cx">                 push(@$outputArray, &quot;        return JSValue::encode(JSValue());\n&quot;);
</span><span class="lines">@@ -5501,10 +5391,7 @@
</span><span class="cx">                 push(@$outputArray, &quot;    }\n&quot;);
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            if ($codeGenerator-&gt;ExtendedAttributeContains($interface-&gt;extendedAttributes-&gt;{&quot;ConstructorCallWith&quot;}, &quot;ScriptState&quot;)) {
-                 push(@$outputArray, &quot;    RETURN_IF_EXCEPTION(throwScope, encodedJSValue());\n&quot;);
-            }
-
</del><ins>+            push(@$outputArray, &quot;    RETURN_IF_EXCEPTION(throwScope, encodedJSValue());\n&quot;) if $codeGenerator-&gt;ExtendedAttributeContains($interface-&gt;extendedAttributes-&gt;{ConstructorCallWith}, &quot;ScriptState&quot;);
</ins><span class="cx">             push(@$outputArray, &quot;    return JSValue::encode(toJSNewlyCreated(state, castedThis-&gt;globalObject(), WTFMove(object)));\n&quot;);
</span><span class="cx">             push(@$outputArray, &quot;}\n\n&quot;);
</span><span class="cx">         }
</span><span class="lines">@@ -5540,7 +5427,7 @@
</span><span class="cx">     my $leastConstructorLength = 0;
</span><span class="cx">     if ($codeGenerator-&gt;IsConstructorTemplate($interface, &quot;Event&quot;)) {
</span><span class="cx">         $leastConstructorLength = 1;
</span><del>-    } elsif ($interface-&gt;extendedAttributes-&gt;{&quot;Constructor&quot;} || $interface-&gt;extendedAttributes-&gt;{&quot;CustomConstructor&quot;}) {
</del><ins>+    } elsif ($interface-&gt;extendedAttributes-&gt;{Constructor} || $interface-&gt;extendedAttributes-&gt;{CustomConstructor}) {
</ins><span class="cx">         my @constructors = @{$interface-&gt;constructors};
</span><span class="cx">         my @customConstructors = @{$interface-&gt;customConstructors};
</span><span class="cx">         $leastConstructorLength = 255;
</span><span class="lines">@@ -5559,7 +5446,7 @@
</span><span class="cx">     # FIXME: IDL does not allow an interface without [NoInterfaceObject] to inherit one that is marked as [NoInterfaceObject]
</span><span class="cx">     # so we should be able to use our parent's interface object no matter what. However, some of our IDL files (e.g. CanvasRenderingContext2D)
</span><span class="cx">     # are not valid so we need this check for now.
</span><del>-    if ($interface-&gt;parent &amp;&amp; !$codeGenerator-&gt;getInterfaceExtendedAttributesFromName($interface-&gt;parent)-&gt;{&quot;NoInterfaceObject&quot;}) {
</del><ins>+    if ($interface-&gt;parent &amp;&amp; !$codeGenerator-&gt;getInterfaceExtendedAttributesFromName($interface-&gt;parent)-&gt;{NoInterfaceObject}) {
</ins><span class="cx">         my $parentClassName = &quot;JS&quot; . $interface-&gt;parent;
</span><span class="cx">         push(@$outputArray, &quot;    return ${parentClassName}::getConstructor(vm, &amp;globalObject);\n&quot;);
</span><span class="cx">     } elsif ($interface-&gt;isCallback) {
</span><span class="lines">@@ -5624,54 +5511,53 @@
</span><span class="cx"> sub HasCustomConstructor
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-
-    return $interface-&gt;extendedAttributes-&gt;{&quot;CustomConstructor&quot;};
</del><ins>+    return $interface-&gt;extendedAttributes-&gt;{CustomConstructor};
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub HasCustomGetter
</span><span class="cx"> {
</span><del>-    my $attrExt = shift;
-    return $attrExt-&gt;{&quot;Custom&quot;} || $attrExt-&gt;{&quot;CustomGetter&quot;} ;
</del><ins>+    my $extendedAttributes = shift;
+    return $extendedAttributes-&gt;{Custom} || $extendedAttributes-&gt;{CustomGetter} ;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub HasCustomSetter
</span><span class="cx"> {
</span><del>-    my $attrExt = shift;
-    return $attrExt-&gt;{&quot;Custom&quot;} || $attrExt-&gt;{&quot;CustomSetter&quot;};
</del><ins>+    my $extendedAttributes = shift;
+    return $extendedAttributes-&gt;{Custom} || $extendedAttributes-&gt;{CustomSetter};
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub HasCustomMethod
</span><span class="cx"> {
</span><del>-    my $attrExt = shift;
-    return $attrExt-&gt;{&quot;Custom&quot;};
</del><ins>+    my $extendedAttributes = shift;
+    return $extendedAttributes-&gt;{Custom};
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub NeedsConstructorProperty
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-
-    return !$interface-&gt;extendedAttributes-&gt;{&quot;NoInterfaceObject&quot;} || $interface-&gt;extendedAttributes-&gt;{&quot;CustomConstructor&quot;};
</del><ins>+    return !$interface-&gt;extendedAttributes-&gt;{NoInterfaceObject} || $interface-&gt;extendedAttributes-&gt;{CustomConstructor};
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub IsReturningPromise
</span><span class="cx"> {
</span><span class="cx">     my $function = shift;
</span><del>-
-    return $function-&gt;signature-&gt;type eq &quot;Promise&quot; if ($function-&gt;signature-&gt;type);
</del><ins>+    return $function-&gt;signature-&gt;type &amp;&amp; $function-&gt;signature-&gt;type eq &quot;Promise&quot;;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub IsConstructable
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-
-    return HasCustomConstructor($interface) || $interface-&gt;extendedAttributes-&gt;{&quot;Constructor&quot;} || $interface-&gt;extendedAttributes-&gt;{&quot;NamedConstructor&quot;} || $interface-&gt;extendedAttributes-&gt;{&quot;ConstructorTemplate&quot;} || $interface-&gt;extendedAttributes-&gt;{&quot;JSBuiltinConstructor&quot;};
</del><ins>+    return HasCustomConstructor($interface)
+        || $interface-&gt;extendedAttributes-&gt;{Constructor}
+        || $interface-&gt;extendedAttributes-&gt;{NamedConstructor}
+        || $interface-&gt;extendedAttributes-&gt;{ConstructorTemplate}
+        || $interface-&gt;extendedAttributes-&gt;{JSBuiltinConstructor};
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub HeaderNeedsPrototypeDeclaration
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><del>-
-    return IsDOMGlobalObject($interface) || $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomNamedGetterOnPrototype&quot;} || $interface-&gt;extendedAttributes-&gt;{&quot;JSCustomDefineOwnPropertyOnPrototype&quot;};
</del><ins>+    return IsDOMGlobalObject($interface) || $interface-&gt;extendedAttributes-&gt;{JSCustomNamedGetterOnPrototype} || $interface-&gt;extendedAttributes-&gt;{JSCustomDefineOwnPropertyOnPrototype};
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub IsUnforgeable
</span><span class="lines">@@ -5678,8 +5564,7 @@
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><span class="cx">     my $property = shift;
</span><del>-
-    return $property-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Unforgeable&quot;} || $interface-&gt;extendedAttributes-&gt;{&quot;Unforgeable&quot;};
</del><ins>+    return $property-&gt;signature-&gt;extendedAttributes-&gt;{Unforgeable} || $interface-&gt;extendedAttributes-&gt;{Unforgeable};
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub ComputeFunctionSpecial
</span><span class="lines">@@ -5689,7 +5574,7 @@
</span><span class="cx"> 
</span><span class="cx">     my @specials = ();
</span><span class="cx">     push(@specials, (&quot;DontDelete&quot;, &quot;ReadOnly&quot;)) if IsUnforgeable($interface, $function);
</span><del>-    push(@specials, &quot;DontEnum&quot;) if $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;NotEnumerable&quot;};
</del><ins>+    push(@specials, &quot;DontEnum&quot;) if $function-&gt;signature-&gt;extendedAttributes-&gt;{NotEnumerable};
</ins><span class="cx">     if (IsJSBuiltin($interface, $function)) {
</span><span class="cx">         push(@specials, &quot;JSC::Builtin&quot;);
</span><span class="cx">     }
</span><span class="lines">@@ -5703,12 +5588,12 @@
</span><span class="cx"> {
</span><span class="cx">     my ($interface, $object) = @_;
</span><span class="cx"> 
</span><del>-    return 0 if $object-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Custom&quot;};
-    return 0 if $object-&gt;signature-&gt;extendedAttributes-&gt;{&quot;CustomGetter&quot;};
-    return 0 if $object-&gt;signature-&gt;extendedAttributes-&gt;{&quot;CustomSetter&quot;};
</del><ins>+    return 0 if $object-&gt;signature-&gt;extendedAttributes-&gt;{Custom};
+    return 0 if $object-&gt;signature-&gt;extendedAttributes-&gt;{CustomGetter};
+    return 0 if $object-&gt;signature-&gt;extendedAttributes-&gt;{CustomSetter};
</ins><span class="cx"> 
</span><del>-    return 1 if $object-&gt;signature-&gt;extendedAttributes-&gt;{&quot;JSBuiltin&quot;};
-    return 1 if $interface-&gt;extendedAttributes-&gt;{&quot;JSBuiltin&quot;};
</del><ins>+    return 1 if $object-&gt;signature-&gt;extendedAttributes-&gt;{JSBuiltin};
+    return 1 if $interface-&gt;extendedAttributes-&gt;{JSBuiltin};
</ins><span class="cx"> 
</span><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="lines">@@ -5717,9 +5602,9 @@
</span><span class="cx"> {
</span><span class="cx">     my ($interface) = @_;
</span><span class="cx"> 
</span><del>-    return 0 if $interface-&gt;extendedAttributes-&gt;{&quot;CustomConstructor&quot;};
-    return 1 if $interface-&gt;extendedAttributes-&gt;{&quot;JSBuiltin&quot;};
-    return 1 if $interface-&gt;extendedAttributes-&gt;{&quot;JSBuiltinConstructor&quot;};
</del><ins>+    return 0 if $interface-&gt;extendedAttributes-&gt;{CustomConstructor};
+    return 1 if $interface-&gt;extendedAttributes-&gt;{JSBuiltin};
+    return 1 if $interface-&gt;extendedAttributes-&gt;{JSBuiltinConstructor};
</ins><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -5726,7 +5611,7 @@
</span><span class="cx"> sub GetJSBuiltinFunctionName
</span><span class="cx"> {
</span><span class="cx">     my ($className, $function) = @_;
</span><del>-    my $scopeName = $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ImplementedBy&quot;};
</del><ins>+    my $scopeName = $function-&gt;signature-&gt;extendedAttributes-&gt;{ImplementedBy};
</ins><span class="cx">     $scopeName = substr $className, 2 unless $scopeName;
</span><span class="cx">     return GetJSBuiltinFunctionNameFromString($scopeName, $function-&gt;signature-&gt;name);
</span><span class="cx"> }
</span><span class="lines">@@ -5739,11 +5624,8 @@
</span><span class="cx"> 
</span><span class="cx"> sub GetJSBuiltinScopeName
</span><span class="cx"> {
</span><del>-    my $interface = shift;
-    my $object = shift;
-
-    return $object-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ImplementedBy&quot;} if $object-&gt;signature-&gt;extendedAttributes-&gt;{&quot;ImplementedBy&quot;};
-    return $interface-&gt;name;
</del><ins>+    my ($interface, $object) = @_;
+    return $object-&gt;signature-&gt;extendedAttributes-&gt;{ImplementedBy} || $interface-&gt;name;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub AddJSBuiltinIncludesIfNeeded()
</span><span class="lines">@@ -5750,17 +5632,17 @@
</span><span class="cx"> {
</span><span class="cx">     my $interface = shift;
</span><span class="cx"> 
</span><del>-    if ($interface-&gt;extendedAttributes-&gt;{&quot;JSBuiltin&quot;} || $interface-&gt;extendedAttributes-&gt;{&quot;JSBuiltinConstructor&quot;}) {
</del><ins>+    if ($interface-&gt;extendedAttributes-&gt;{JSBuiltin} || $interface-&gt;extendedAttributes-&gt;{JSBuiltinConstructor}) {
</ins><span class="cx">         AddToImplIncludes($interface-&gt;name . &quot;Builtins.h&quot;);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     foreach my $function (@{$interface-&gt;functions}) {
</span><del>-        AddToImplIncludes(GetJSBuiltinScopeName($interface, $function) . &quot;Builtins.h&quot;, $function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;}) if IsJSBuiltin($interface, $function);
</del><ins>+        AddToImplIncludes(GetJSBuiltinScopeName($interface, $function) . &quot;Builtins.h&quot;, $function-&gt;signature-&gt;extendedAttributes-&gt;{Conditional}) if IsJSBuiltin($interface, $function);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     foreach my $attribute (@{$interface-&gt;attributes}) {
</span><del>-        AddToImplIncludes(GetJSBuiltinScopeName($interface, $attribute) . &quot;Builtins.h&quot;, $attribute-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Conditional&quot;}) if IsJSBuiltin($interface, $attribute);
</del><ins>+        AddToImplIncludes(GetJSBuiltinScopeName($interface, $attribute) . &quot;Builtins.h&quot;, $attribute-&gt;signature-&gt;extendedAttributes-&gt;{Conditional}) if IsJSBuiltin($interface, $attribute);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsIDLAttributestxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> Constructor
</span><span class="cx"> ConstructorCallWith=Document|ScriptExecutionContext|ScriptState
</span><span class="cx"> ConstructorConditional=*
</span><del>-ConstructorRaisesException
</del><ins>+ConstructorMayThrowLegacyException
</ins><span class="cx"> ConstructorTemplate=Event|TypedArray
</span><span class="cx"> Custom
</span><span class="cx"> CustomCall
</span><span class="lines">@@ -68,8 +68,8 @@
</span><span class="cx"> Exposed=*
</span><span class="cx"> ForwardDeclareInHeader
</span><span class="cx"> GenerateIsReachable=|Impl|ImplWebGLRenderingContext|ImplDocument|ImplElementRoot|ImplFrame|ImplOwnerNodeRoot|ImplScriptExecutionContext
</span><del>-GetterRaisesException
-GetterRaisesExceptionWithMessage
</del><ins>+GetterMayThrowLegacyException
+GetterMayThrowLegacyExceptionWithMessage
</ins><span class="cx"> Immutable
</span><span class="cx"> ImplementedAs=*
</span><span class="cx"> ImplementationLacksVTable
</span><span class="lines">@@ -95,6 +95,8 @@
</span><span class="cx"> JSLegacyParent=*
</span><span class="cx"> LenientThis
</span><span class="cx"> MasqueradesAsUndefined
</span><ins>+MayThrowLegacyException
+MayThrowLegacyExceptionWithMessage
</ins><span class="cx"> NamedConstructor=*
</span><span class="cx"> NewImpurePropertyFiresWatchpoints
</span><span class="cx"> NewObject
</span><span class="lines">@@ -106,16 +108,14 @@
</span><span class="cx"> PrivateIdentifier
</span><span class="cx"> PublicIdentifier
</span><span class="cx"> PutForwards=*
</span><del>-RaisesException
-RaisesExceptionWithMessage
</del><span class="cx"> Reflect=*
</span><span class="cx"> Replaceable
</span><span class="cx"> ReportExtraMemoryCost
</span><span class="cx"> ReportExternalMemoryCost
</span><span class="cx"> RequiresExistingAtomicString
</span><del>-SetterRaisesException
-SetterRaisesExceptionWithMessage
</del><span class="cx"> SetterCallWith=ScriptExecutionContext|ScriptState|ScriptArguments|CallStack|ActiveWindow|FirstWindow
</span><ins>+SetterMayThrowLegacyException
+SetterMayThrowLegacyExceptionWithMessage
</ins><span class="cx"> SkipVTableValidation
</span><span class="cx"> SuppressToJSObject
</span><span class="cx"> TreatNullAs=EmptyString
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSInterfaceNamecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSInterfaceNamePrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSInterfaceNamePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSInterfaceNamePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSInterfaceNamePrototype&gt;(vm.heap)) JSInterfaceNamePrototype(vm, globalObject, structure);
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructorNotConstructable&lt;JSInterfaceName&gt; JSInterfaceNameConstructor;
</del><ins>+using JSInterfaceNameConstructor = JSDOMConstructorNotConstructable&lt;JSInterfaceName&gt;;
</ins><span class="cx"> 
</span><span class="cx"> template&lt;&gt; JSValue JSInterfaceNameConstructor::prototypeForStructure(JSC::VM&amp; vm, const JSDOMGlobalObject&amp; globalObject)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSInterfaceNameh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSInterfaceName.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSInterfaceName : public JSDOMWrapper&lt;InterfaceName&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;InterfaceName&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;InterfaceName&gt;;
</ins><span class="cx">     static JSInterfaceName* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;InterfaceName&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSInterfaceName* ptr = new (NotNull, JSC::allocateCell&lt;JSInterfaceName&gt;(globalObject-&gt;vm().heap)) JSInterfaceName(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestActiveDOMObjectPrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestActiveDOMObjectPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestActiveDOMObjectPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestActiveDOMObjectPrototype&gt;(vm.heap)) JSTestActiveDOMObjectPrototype(vm, globalObject, structure);
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructorNotConstructable&lt;JSTestActiveDOMObject&gt; JSTestActiveDOMObjectConstructor;
</del><ins>+using JSTestActiveDOMObjectConstructor = JSDOMConstructorNotConstructable&lt;JSTestActiveDOMObject&gt;;
</ins><span class="cx"> 
</span><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestActiveDOMObject : public JSDOMWrapper&lt;TestActiveDOMObject&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestActiveDOMObject&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestActiveDOMObject&gt;;
</ins><span class="cx">     static JSTestActiveDOMObject* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestActiveDOMObject&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestActiveDOMObject* ptr = new (NotNull, JSC::allocateCell&lt;JSTestActiveDOMObject&gt;(globalObject-&gt;vm().heap)) JSTestActiveDOMObject(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCallbackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructorNotConstructable&lt;JSTestCallback&gt; JSTestCallbackConstructor;
</del><ins>+using JSTestCallbackConstructor = JSDOMConstructorNotConstructable&lt;JSTestCallback&gt;;
</ins><span class="cx"> 
</span><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestClassWithJSBuiltinConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestClassWithJSBuiltinConstructorPrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestClassWithJSBuiltinConstructorPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestClassWithJSBuiltinConstructorPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestClassWithJSBuiltinConstructorPrototype&gt;(vm.heap)) JSTestClassWithJSBuiltinConstructorPrototype(vm, globalObject, structure);
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSBuiltinConstructor&lt;JSTestClassWithJSBuiltinConstructor&gt; JSTestClassWithJSBuiltinConstructorConstructor;
</del><ins>+using JSTestClassWithJSBuiltinConstructorConstructor = JSBuiltinConstructor&lt;JSTestClassWithJSBuiltinConstructor&gt;;
</ins><span class="cx"> 
</span><span class="cx"> template&lt;&gt; JSValue JSTestClassWithJSBuiltinConstructorConstructor::prototypeForStructure(JSC::VM&amp; vm, const JSDOMGlobalObject&amp; globalObject)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestClassWithJSBuiltinConstructorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestClassWithJSBuiltinConstructor : public JSDOMWrapper&lt;TestClassWithJSBuiltinConstructor&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestClassWithJSBuiltinConstructor&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestClassWithJSBuiltinConstructor&gt;;
</ins><span class="cx">     static JSTestClassWithJSBuiltinConstructor* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestClassWithJSBuiltinConstructor&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestClassWithJSBuiltinConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestClassWithJSBuiltinConstructor&gt;(globalObject-&gt;vm().heap)) JSTestClassWithJSBuiltinConstructor(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCustomConstructorWithNoInterfaceObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestCustomConstructorWithNoInterfaceObjectPrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestCustomConstructorWithNoInterfaceObjectPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestCustomConstructorWithNoInterfaceObjectPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestCustomConstructorWithNoInterfaceObjectPrototype&gt;(vm.heap)) JSTestCustomConstructorWithNoInterfaceObjectPrototype(vm, globalObject, structure);
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructor&lt;JSTestCustomConstructorWithNoInterfaceObject&gt; JSTestCustomConstructorWithNoInterfaceObjectConstructor;
</del><ins>+using JSTestCustomConstructorWithNoInterfaceObjectConstructor = JSDOMConstructor&lt;JSTestCustomConstructorWithNoInterfaceObject&gt;;
</ins><span class="cx"> 
</span><span class="cx"> template&lt;&gt; JSC::EncodedJSValue JSC_HOST_CALL JSTestCustomConstructorWithNoInterfaceObjectConstructor::construct(JSC::ExecState* exec)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCustomConstructorWithNoInterfaceObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestCustomConstructorWithNoInterfaceObject : public JSDOMWrapper&lt;TestCustomConstructorWithNoInterfaceObject&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestCustomConstructorWithNoInterfaceObject&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestCustomConstructorWithNoInterfaceObject&gt;;
</ins><span class="cx">     static JSTestCustomConstructorWithNoInterfaceObject* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestCustomConstructorWithNoInterfaceObject&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestCustomConstructorWithNoInterfaceObject* ptr = new (NotNull, JSC::allocateCell&lt;JSTestCustomConstructorWithNoInterfaceObject&gt;(globalObject-&gt;vm().heap)) JSTestCustomConstructorWithNoInterfaceObject(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGettercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestCustomNamedGetterPrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestCustomNamedGetterPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestCustomNamedGetterPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestCustomNamedGetterPrototype&gt;(vm.heap)) JSTestCustomNamedGetterPrototype(vm, globalObject, structure);
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructorNotConstructable&lt;JSTestCustomNamedGetter&gt; JSTestCustomNamedGetterConstructor;
</del><ins>+using JSTestCustomNamedGetterConstructor = JSDOMConstructorNotConstructable&lt;JSTestCustomNamedGetter&gt;;
</ins><span class="cx"> 
</span><span class="cx"> template&lt;&gt; JSValue JSTestCustomNamedGetterConstructor::prototypeForStructure(JSC::VM&amp; vm, const JSDOMGlobalObject&amp; globalObject)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCustomNamedGetterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestCustomNamedGetter : public JSDOMWrapper&lt;TestCustomNamedGetter&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestCustomNamedGetter&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestCustomNamedGetter&gt;;
</ins><span class="cx">     static JSTestCustomNamedGetter* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestCustomNamedGetter&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestCustomNamedGetter* ptr = new (NotNull, JSC::allocateCell&lt;JSTestCustomNamedGetter&gt;(globalObject-&gt;vm().heap)) JSTestCustomNamedGetter(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestEventConstructorPrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestEventConstructorPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestEventConstructorPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestEventConstructorPrototype&gt;(vm.heap)) JSTestEventConstructorPrototype(vm, globalObject, structure);
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructor&lt;JSTestEventConstructor&gt; JSTestEventConstructorConstructor;
</del><ins>+using JSTestEventConstructorConstructor = JSDOMConstructor&lt;JSTestEventConstructor&gt;;
</ins><span class="cx"> 
</span><span class="cx"> template&lt;&gt; EncodedJSValue JSC_HOST_CALL JSTestEventConstructorConstructor::construct(ExecState* state)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventConstructorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestEventConstructor : public JSDOMWrapper&lt;TestEventConstructor&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestEventConstructor&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestEventConstructor&gt;;
</ins><span class="cx">     static JSTestEventConstructor* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestEventConstructor&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestEventConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestEventConstructor&gt;(globalObject-&gt;vm().heap)) JSTestEventConstructor(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventTargetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestEventTargetPrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestEventTargetPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestEventTargetPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestEventTargetPrototype&gt;(vm.heap)) JSTestEventTargetPrototype(vm, globalObject, structure);
</span><span class="lines">@@ -70,7 +70,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructorNotConstructable&lt;JSTestEventTarget&gt; JSTestEventTargetConstructor;
</del><ins>+using JSTestEventTargetConstructor = JSDOMConstructorNotConstructable&lt;JSTestEventTarget&gt;;
</ins><span class="cx"> 
</span><span class="cx"> template&lt;&gt; JSValue JSTestEventTargetConstructor::prototypeForStructure(JSC::VM&amp; vm, const JSDOMGlobalObject&amp; globalObject)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventTargeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -27,8 +27,8 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestEventTarget : public JSEventTarget {
</span><span class="cx"> public:
</span><del>-    typedef JSEventTarget Base;
-    typedef TestEventTarget DOMWrapped;
</del><ins>+    using Base = JSEventTarget;
+    using DOMWrapped = TestEventTarget;
</ins><span class="cx">     static JSTestEventTarget* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestEventTarget&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         globalObject-&gt;masqueradesAsUndefinedWatchpoint()-&gt;fireAll(globalObject-&gt;vm(), &quot;Allocated masquerading object&quot;);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestExceptioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestExceptionPrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestExceptionPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestExceptionPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestExceptionPrototype&gt;(vm.heap)) JSTestExceptionPrototype(vm, globalObject, structure);
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructorNotConstructable&lt;JSTestException&gt; JSTestExceptionConstructor;
</del><ins>+using JSTestExceptionConstructor = JSDOMConstructorNotConstructable&lt;JSTestException&gt;;
</ins><span class="cx"> 
</span><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestExceptionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestException : public JSDOMWrapper&lt;TestException&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestException&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestException&gt;;
</ins><span class="cx">     static JSTestException* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestException&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestException* ptr = new (NotNull, JSC::allocateCell&lt;JSTestException&gt;(globalObject-&gt;vm().heap)) JSTestException(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestGenerateIsReachablePrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestGenerateIsReachablePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestGenerateIsReachablePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestGenerateIsReachablePrototype&gt;(vm.heap)) JSTestGenerateIsReachablePrototype(vm, globalObject, structure);
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructorNotConstructable&lt;JSTestGenerateIsReachable&gt; JSTestGenerateIsReachableConstructor;
</del><ins>+using JSTestGenerateIsReachableConstructor = JSDOMConstructorNotConstructable&lt;JSTestGenerateIsReachable&gt;;
</ins><span class="cx"> 
</span><span class="cx"> template&lt;&gt; JSValue JSTestGenerateIsReachableConstructor::prototypeForStructure(JSC::VM&amp; vm, const JSDOMGlobalObject&amp; globalObject)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachableh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestGenerateIsReachable : public JSDOMWrapper&lt;TestGenerateIsReachable&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestGenerateIsReachable&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestGenerateIsReachable&gt;;
</ins><span class="cx">     static JSTestGenerateIsReachable* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestGenerateIsReachable&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestGenerateIsReachable* ptr = new (NotNull, JSC::allocateCell&lt;JSTestGenerateIsReachable&gt;(globalObject-&gt;vm().heap)) JSTestGenerateIsReachable(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestGlobalObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx"> JSC::EncodedJSValue jsTestGlobalObjectConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> bool setJSTestGlobalObjectConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructorNotConstructable&lt;JSTestGlobalObject&gt; JSTestGlobalObjectConstructor;
</del><ins>+using JSTestGlobalObjectConstructor = JSDOMConstructorNotConstructable&lt;JSTestGlobalObject&gt;;
</ins><span class="cx"> 
</span><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestGlobalObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestGlobalObject : public JSDOMWrapper&lt;TestGlobalObject&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestGlobalObject&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestGlobalObject&gt;;
</ins><span class="cx">     static JSTestGlobalObject* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestGlobalObject&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestGlobalObject* ptr = new (NotNull, JSC::allocateCell&lt;JSTestGlobalObject&gt;(globalObject-&gt;vm().heap)) JSTestGlobalObject(structure, *globalObject, WTFMove(impl));
</span><span class="lines">@@ -89,7 +89,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestGlobalObjectPrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestGlobalObjectPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestGlobalObjectPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestGlobalObjectPrototype&gt;(vm.heap)) JSTestGlobalObjectPrototype(vm, globalObject, structure);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -126,7 +126,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestInterfacePrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestInterfacePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestInterfacePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestInterfacePrototype&gt;(vm.heap)) JSTestInterfacePrototype(vm, globalObject, structure);
</span><span class="lines">@@ -149,7 +149,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructor&lt;JSTestInterface&gt; JSTestInterfaceConstructor;
</del><ins>+using JSTestInterfaceConstructor = JSDOMConstructor&lt;JSTestInterface&gt;;
</ins><span class="cx"> 
</span><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestInterfaceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> class WEBCORE_EXPORT JSTestInterface : public JSDOMWrapper&lt;TestInterface&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestInterface&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestInterface&gt;;
</ins><span class="cx">     static JSTestInterface* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestInterface&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestInterface* ptr = new (NotNull, JSC::allocateCell&lt;JSTestInterface&gt;(globalObject-&gt;vm().heap)) JSTestInterface(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestIterablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestIterablePrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestIterablePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestIterablePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestIterablePrototype&gt;(vm.heap)) JSTestIterablePrototype(vm, globalObject, structure);
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructorNotConstructable&lt;JSTestIterable&gt; JSTestIterableConstructor;
</del><ins>+using JSTestIterableConstructor = JSDOMConstructorNotConstructable&lt;JSTestIterable&gt;;
</ins><span class="cx"> 
</span><span class="cx"> template&lt;&gt; JSValue JSTestIterableConstructor::prototypeForStructure(JSC::VM&amp; vm, const JSDOMGlobalObject&amp; globalObject)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestIterableh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestIterable : public JSDOMWrapper&lt;TestIterable&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestIterable&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestIterable&gt;;
</ins><span class="cx">     static JSTestIterable* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestIterable&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestIterable* ptr = new (NotNull, JSC::allocateCell&lt;JSTestIterable&gt;(globalObject-&gt;vm().heap)) JSTestIterable(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestJSBuiltinConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestJSBuiltinConstructorPrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestJSBuiltinConstructorPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestJSBuiltinConstructorPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestJSBuiltinConstructorPrototype&gt;(vm.heap)) JSTestJSBuiltinConstructorPrototype(vm, globalObject, structure);
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSBuiltinConstructor&lt;JSTestJSBuiltinConstructor&gt; JSTestJSBuiltinConstructorConstructor;
</del><ins>+using JSTestJSBuiltinConstructorConstructor = JSBuiltinConstructor&lt;JSTestJSBuiltinConstructor&gt;;
</ins><span class="cx"> 
</span><span class="cx"> template&lt;&gt; JSValue JSTestJSBuiltinConstructorConstructor::prototypeForStructure(JSC::VM&amp; vm, const JSDOMGlobalObject&amp; globalObject)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestJSBuiltinConstructorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestJSBuiltinConstructor : public JSDOMObject {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMObject Base;
</del><ins>+    using Base = JSDOMObject;
</ins><span class="cx">     static JSTestJSBuiltinConstructor* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="cx">     {
</span><span class="cx">         JSTestJSBuiltinConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestJSBuiltinConstructor&gt;(globalObject-&gt;vm().heap)) JSTestJSBuiltinConstructor(structure, *globalObject);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestMediaQueryListListenerPrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestMediaQueryListListenerPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestMediaQueryListListenerPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestMediaQueryListListenerPrototype&gt;(vm.heap)) JSTestMediaQueryListListenerPrototype(vm, globalObject, structure);
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructorNotConstructable&lt;JSTestMediaQueryListListener&gt; JSTestMediaQueryListListenerConstructor;
</del><ins>+using JSTestMediaQueryListListenerConstructor = JSDOMConstructorNotConstructable&lt;JSTestMediaQueryListListener&gt;;
</ins><span class="cx"> 
</span><span class="cx"> template&lt;&gt; JSValue JSTestMediaQueryListListenerConstructor::prototypeForStructure(JSC::VM&amp; vm, const JSDOMGlobalObject&amp; globalObject)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestMediaQueryListListener : public JSDOMWrapper&lt;TestMediaQueryListListener&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestMediaQueryListListener&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestMediaQueryListListener&gt;;
</ins><span class="cx">     static JSTestMediaQueryListListener* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestMediaQueryListListener&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestMediaQueryListListener* ptr = new (NotNull, JSC::allocateCell&lt;JSTestMediaQueryListListener&gt;(globalObject-&gt;vm().heap)) JSTestMediaQueryListListener(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestNamedConstructorPrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestNamedConstructorPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestNamedConstructorPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNamedConstructorPrototype&gt;(vm.heap)) JSTestNamedConstructorPrototype(vm, globalObject, structure);
</span><span class="lines">@@ -62,8 +62,8 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructorNotConstructable&lt;JSTestNamedConstructor&gt; JSTestNamedConstructorConstructor;
-typedef JSDOMNamedConstructor&lt;JSTestNamedConstructor&gt; JSTestNamedConstructorNamedConstructor;
</del><ins>+using JSTestNamedConstructorConstructor = JSDOMConstructorNotConstructable&lt;JSTestNamedConstructor&gt;;
+using JSTestNamedConstructorNamedConstructor = JSDOMNamedConstructor&lt;JSTestNamedConstructor&gt;;
</ins><span class="cx"> 
</span><span class="cx"> template&lt;&gt; JSValue JSTestNamedConstructorConstructor::prototypeForStructure(JSC::VM&amp; vm, const JSDOMGlobalObject&amp; globalObject)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestNamedConstructor : public JSDOMWrapper&lt;TestNamedConstructor&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestNamedConstructor&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestNamedConstructor&gt;;
</ins><span class="cx">     static JSTestNamedConstructor* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestNamedConstructor&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestNamedConstructor* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNamedConstructor&gt;(globalObject-&gt;vm().heap)) JSTestNamedConstructor(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestNodePrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestNodePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestNodePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNodePrototype&gt;(vm.heap)) JSTestNodePrototype(vm, globalObject, structure);
</span><span class="lines">@@ -79,7 +79,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructor&lt;JSTestNode&gt; JSTestNodeConstructor;
</del><ins>+using JSTestNodeConstructor = JSDOMConstructor&lt;JSTestNode&gt;;
</ins><span class="cx"> 
</span><span class="cx"> template&lt;&gt; EncodedJSValue JSC_HOST_CALL JSTestNodeConstructor::construct(ExecState* state)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -27,8 +27,8 @@
</span><span class="cx"> 
</span><span class="cx"> class WEBCORE_TESTSUPPORT_EXPORT JSTestNode : public JSNode {
</span><span class="cx"> public:
</span><del>-    typedef JSNode Base;
-    typedef TestNode DOMWrapped;
</del><ins>+    using Base = JSNode;
+    using DOMWrapped = TestNode;
</ins><span class="cx">     static JSTestNode* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestNode&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestNode* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNode&gt;(globalObject-&gt;vm().heap)) JSTestNode(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministiccpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><span class="cx"> #include &quot;MemoizedDOMResult.h&quot;
</span><span class="cx"> #include &lt;replay/InputCursor.h&gt;
</span><del>-#include &lt;wtf/NeverDestroyed.h&gt;
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="lines">@@ -60,7 +59,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestNondeterministicPrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestNondeterministicPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestNondeterministicPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNondeterministicPrototype&gt;(vm.heap)) JSTestNondeterministicPrototype(vm, globalObject, structure);
</span><span class="lines">@@ -83,7 +82,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructorNotConstructable&lt;JSTestNondeterministic&gt; JSTestNondeterministicConstructor;
</del><ins>+using JSTestNondeterministicConstructor = JSDOMConstructorNotConstructable&lt;JSTestNondeterministic&gt;;
</ins><span class="cx"> 
</span><span class="cx"> template&lt;&gt; JSValue JSTestNondeterministicConstructor::prototypeForStructure(JSC::VM&amp; vm, const JSDOMGlobalObject&amp; globalObject)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministich"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestNondeterministic : public JSDOMWrapper&lt;TestNondeterministic&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestNondeterministic&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestNondeterministic&gt;;
</ins><span class="cx">     static JSTestNondeterministic* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestNondeterministic&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestNondeterministic* ptr = new (NotNull, JSC::allocateCell&lt;JSTestNondeterministic&gt;(globalObject-&gt;vm().heap)) JSTestNondeterministic(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -60,7 +60,6 @@
</span><span class="cx"> #include &quot;SVGStaticPropertyTearOff.h&quot;
</span><span class="cx"> #include &quot;SerializedScriptValue.h&quot;
</span><span class="cx"> #include &quot;Settings.h&quot;
</span><del>-#include &quot;TestObj.h&quot;
</del><span class="cx"> #include &quot;URL.h&quot;
</span><span class="cx"> #include &quot;WebCoreJSClientData.h&quot;
</span><span class="cx"> #include &lt;inspector/ScriptArguments.h&gt;
</span><span class="lines">@@ -970,7 +969,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestObjPrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestObjPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestObjPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestObjPrototype&gt;(vm.heap)) JSTestObjPrototype(vm, globalObject, structure);
</span><span class="lines">@@ -993,7 +992,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructor&lt;JSTestObj&gt; JSTestObjConstructor;
</del><ins>+using JSTestObjConstructor = JSDOMConstructor&lt;JSTestObj&gt;;
</ins><span class="cx"> 
</span><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestObj : public JSDOMWrapper&lt;TestObj&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestObj&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestObj&gt;;
</ins><span class="cx">     static JSTestObj* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestObj&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestObj* ptr = new (NotNull, JSC::allocateCell&lt;JSTestObj&gt;(globalObject-&gt;vm().heap)) JSTestObj(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestOverloadedConstructorsPrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestOverloadedConstructorsPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestOverloadedConstructorsPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestOverloadedConstructorsPrototype&gt;(vm.heap)) JSTestOverloadedConstructorsPrototype(vm, globalObject, structure);
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructor&lt;JSTestOverloadedConstructors&gt; JSTestOverloadedConstructorsConstructor;
</del><ins>+using JSTestOverloadedConstructorsConstructor = JSDOMConstructor&lt;JSTestOverloadedConstructors&gt;;
</ins><span class="cx"> 
</span><span class="cx"> static inline EncodedJSValue constructJSTestOverloadedConstructors1(ExecState* state)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestOverloadedConstructors : public JSDOMWrapper&lt;TestOverloadedConstructors&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestOverloadedConstructors&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestOverloadedConstructors&gt;;
</ins><span class="cx">     static JSTestOverloadedConstructors* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestOverloadedConstructors&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestOverloadedConstructors* ptr = new (NotNull, JSC::allocateCell&lt;JSTestOverloadedConstructors&gt;(globalObject-&gt;vm().heap)) JSTestOverloadedConstructors(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorsWithSequencecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestOverloadedConstructorsWithSequencePrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestOverloadedConstructorsWithSequencePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestOverloadedConstructorsWithSequencePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestOverloadedConstructorsWithSequencePrototype&gt;(vm.heap)) JSTestOverloadedConstructorsWithSequencePrototype(vm, globalObject, structure);
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructor&lt;JSTestOverloadedConstructorsWithSequence&gt; JSTestOverloadedConstructorsWithSequenceConstructor;
</del><ins>+using JSTestOverloadedConstructorsWithSequenceConstructor = JSDOMConstructor&lt;JSTestOverloadedConstructorsWithSequence&gt;;
</ins><span class="cx"> 
</span><span class="cx"> static inline EncodedJSValue constructJSTestOverloadedConstructorsWithSequence1(ExecState* state)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorsWithSequenceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestOverloadedConstructorsWithSequence : public JSDOMWrapper&lt;TestOverloadedConstructorsWithSequence&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestOverloadedConstructorsWithSequence&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestOverloadedConstructorsWithSequence&gt;;
</ins><span class="cx">     static JSTestOverloadedConstructorsWithSequence* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestOverloadedConstructorsWithSequence&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestOverloadedConstructorsWithSequence* ptr = new (NotNull, JSC::allocateCell&lt;JSTestOverloadedConstructorsWithSequence&gt;(globalObject-&gt;vm().heap)) JSTestOverloadedConstructorsWithSequence(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverrideBuiltinscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestOverrideBuiltinsPrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestOverrideBuiltinsPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestOverrideBuiltinsPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestOverrideBuiltinsPrototype&gt;(vm.heap)) JSTestOverrideBuiltinsPrototype(vm, globalObject, structure);
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructorNotConstructable&lt;JSTestOverrideBuiltins&gt; JSTestOverrideBuiltinsConstructor;
</del><ins>+using JSTestOverrideBuiltinsConstructor = JSDOMConstructorNotConstructable&lt;JSTestOverrideBuiltins&gt;;
</ins><span class="cx"> 
</span><span class="cx"> template&lt;&gt; JSValue JSTestOverrideBuiltinsConstructor::prototypeForStructure(JSC::VM&amp; vm, const JSDOMGlobalObject&amp; globalObject)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverrideBuiltinsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestOverrideBuiltins : public JSDOMWrapper&lt;TestOverrideBuiltins&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestOverrideBuiltins&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestOverrideBuiltins&gt;;
</ins><span class="cx">     static JSTestOverrideBuiltins* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestOverrideBuiltins&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestOverrideBuiltins* ptr = new (NotNull, JSC::allocateCell&lt;JSTestOverrideBuiltins&gt;(globalObject-&gt;vm().heap)) JSTestOverrideBuiltins(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestSerializedScriptValueInterfacePrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestSerializedScriptValueInterfacePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestSerializedScriptValueInterfacePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestSerializedScriptValueInterfacePrototype&gt;(vm.heap)) JSTestSerializedScriptValueInterfacePrototype(vm, globalObject, structure);
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructorNotConstructable&lt;JSTestSerializedScriptValueInterface&gt; JSTestSerializedScriptValueInterfaceConstructor;
</del><ins>+using JSTestSerializedScriptValueInterfaceConstructor = JSDOMConstructorNotConstructable&lt;JSTestSerializedScriptValueInterface&gt;;
</ins><span class="cx"> 
</span><span class="cx"> template&lt;&gt; JSValue JSTestSerializedScriptValueInterfaceConstructor::prototypeForStructure(JSC::VM&amp; vm, const JSDOMGlobalObject&amp; globalObject)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfaceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestSerializedScriptValueInterface : public JSDOMWrapper&lt;TestSerializedScriptValueInterface&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestSerializedScriptValueInterface&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestSerializedScriptValueInterface&gt;;
</ins><span class="cx">     static JSTestSerializedScriptValueInterface* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestSerializedScriptValueInterface&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestSerializedScriptValueInterface* ptr = new (NotNull, JSC::allocateCell&lt;JSTestSerializedScriptValueInterface&gt;(globalObject-&gt;vm().heap)) JSTestSerializedScriptValueInterface(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestTypedefscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestTypedefsPrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSTestTypedefsPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSTestTypedefsPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSTestTypedefsPrototype&gt;(vm.heap)) JSTestTypedefsPrototype(vm, globalObject, structure);
</span><span class="lines">@@ -99,7 +99,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructor&lt;JSTestTypedefs&gt; JSTestTypedefsConstructor;
</del><ins>+using JSTestTypedefsConstructor = JSDOMConstructor&lt;JSTestTypedefs&gt;;
</ins><span class="cx"> 
</span><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestTypedefsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSTestTypedefs : public JSDOMWrapper&lt;TestTypedefs&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;TestTypedefs&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;TestTypedefs&gt;;
</ins><span class="cx">     static JSTestTypedefs* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;TestTypedefs&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSTestTypedefs* ptr = new (NotNull, JSC::allocateCell&lt;JSTestTypedefs&gt;(globalObject-&gt;vm().heap)) JSTestTypedefs(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSattributecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSattributePrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSattributePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSattributePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSattributePrototype&gt;(vm.heap)) JSattributePrototype(vm, globalObject, structure);
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructorNotConstructable&lt;JSattribute&gt; JSattributeConstructor;
</del><ins>+using JSattributeConstructor = JSDOMConstructorNotConstructable&lt;JSattribute&gt;;
</ins><span class="cx"> 
</span><span class="cx"> /* Hash table */
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSattributeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSattribute : public JSDOMWrapper&lt;attribute&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;attribute&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;attribute&gt;;
</ins><span class="cx">     static JSattribute* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;attribute&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSattribute* ptr = new (NotNull, JSC::allocateCell&lt;JSattribute&gt;(globalObject-&gt;vm().heap)) JSattribute(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSreadonlycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSreadonlyPrototype : public JSC::JSNonFinalObject {
</span><span class="cx"> public:
</span><del>-    typedef JSC::JSNonFinalObject Base;
</del><ins>+    using Base = JSC::JSNonFinalObject;
</ins><span class="cx">     static JSreadonlyPrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
</span><span class="cx">     {
</span><span class="cx">         JSreadonlyPrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSreadonlyPrototype&gt;(vm.heap)) JSreadonlyPrototype(vm, globalObject, structure);
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-typedef JSDOMConstructorNotConstructable&lt;JSreadonly&gt; JSreadonlyConstructor;
</del><ins>+using JSreadonlyConstructor = JSDOMConstructorNotConstructable&lt;JSreadonly&gt;;
</ins><span class="cx"> 
</span><span class="cx"> template&lt;&gt; JSValue JSreadonlyConstructor::prototypeForStructure(JSC::VM&amp; vm, const JSDOMGlobalObject&amp; globalObject)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSreadonlyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSreadonly.h        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class JSreadonly : public JSDOMWrapper&lt;readonly&gt; {
</span><span class="cx"> public:
</span><del>-    typedef JSDOMWrapper&lt;readonly&gt; Base;
</del><ins>+    using Base = JSDOMWrapper&lt;readonly&gt;;
</ins><span class="cx">     static JSreadonly* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, Ref&lt;readonly&gt;&amp;&amp; impl)
</span><span class="cx">     {
</span><span class="cx">         JSreadonly* ptr = new (NotNull, JSC::allocateCell&lt;JSreadonly&gt;(globalObject-&gt;vm().heap)) JSreadonly(structure, *globalObject, WTFMove(impl));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestImplementsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestImplements.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestImplements.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/TestImplements.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx">     attribute Node implementsNode;
</span><span class="cx"> 
</span><span class="cx">     void implementsMethod1();
</span><del>-    [CallWith=ScriptExecutionContext, RaisesException] TestObj implementsMethod2(DOMString strArg, TestObj objArg);
</del><ins>+    [CallWith=ScriptExecutionContext, MayThrowLegacyException] TestObj implementsMethod2(DOMString strArg, TestObj objArg);
</ins><span class="cx">     [Custom] void implementsMethod3();
</span><span class="cx">     static void implementsMethod4();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestInterfaceidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestInterface.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestInterface.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/TestInterface.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx">     Conditional=Condition1|Condition2,
</span><span class="cx">     ConstructorCallWith=ScriptExecutionContext,
</span><span class="cx">     Constructor(DOMString str1, optional DOMString str2 = &quot;defaultString&quot;),
</span><del>-    ConstructorRaisesException,
</del><ins>+    ConstructorMayThrowLegacyException,
</ins><span class="cx">     ConstructorConditional=TEST_INTERFACE,
</span><span class="cx">     ExportMacro=WEBCORE_EXPORT,
</span><span class="cx">     ImplementationLacksVTable
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestNamedConstructoridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestNamedConstructor.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestNamedConstructor.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/TestNamedConstructor.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -31,6 +31,6 @@
</span><span class="cx"> [
</span><span class="cx">     ActiveDOMObject,
</span><span class="cx">     NamedConstructor=Audio(DOMString str1, optional DOMString str2 = &quot;defaultString&quot;, optional DOMString str3),
</span><del>-    ConstructorRaisesException
</del><ins>+    ConstructorMayThrowLegacyException
</ins><span class="cx"> ] interface TestNamedConstructor {
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestNondeterministicidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestNondeterministic.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestNondeterministic.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/TestNondeterministic.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -32,9 +32,9 @@
</span><span class="cx"> interface TestNondeterministic {
</span><span class="cx">     [Nondeterministic] readonly attribute long nondeterministicReadonlyAttr;
</span><span class="cx">     [Nondeterministic] attribute DOMString nondeterministicWriteableAttr;
</span><del>-    [Nondeterministic, RaisesException] attribute DOMString nondeterministicExceptionAttr;
-    [Nondeterministic, GetterRaisesException] attribute DOMString nondeterministicGetterExceptionAttr;
-    [Nondeterministic, SetterRaisesException] attribute DOMString nondeterministicSetterExceptionAttr;
</del><ins>+    [Nondeterministic, MayThrowLegacyException] attribute DOMString nondeterministicExceptionAttr;
+    [Nondeterministic, GetterMayThrowLegacyException] attribute DOMString nondeterministicGetterExceptionAttr;
+    [Nondeterministic, SetterMayThrowLegacyException] attribute DOMString nondeterministicSetterExceptionAttr;
</ins><span class="cx"> 
</span><span class="cx">     [Nondeterministic] boolean nondeterministicZeroArgFunction();
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestObjidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestObj.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestObj.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/TestObj.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -137,7 +137,7 @@
</span><span class="cx">     void methodWithEnumArg(TestEnumType enumArg);
</span><span class="cx">     void methodWithOptionalEnumArg(optional TestEnumType enumArg);
</span><span class="cx">     void methodWithOptionalEnumArgAndDefaultValue(optional TestEnumType enumArg = &quot;EnumValue1&quot;);
</span><del>-    [RaisesException] TestObj methodThatRequiresAllArgsAndThrows(DOMString strArg, TestObj objArg);
</del><ins>+    [MayThrowLegacyException] TestObj methodThatRequiresAllArgsAndThrows(DOMString strArg, TestObj objArg);
</ins><span class="cx"> 
</span><span class="cx"> #if defined(TESTING_JS)
</span><span class="cx">     void methodWithUSVStringArg(USVString str);
</span><span class="lines">@@ -149,14 +149,14 @@
</span><span class="cx">     void optionsObject(Dictionary oo, optional Dictionary ooo);
</span><span class="cx"> 
</span><span class="cx">     // Exceptions
</span><del>-    [RaisesException] void methodWithException();
-    [RaisesExceptionWithMessage] void methodWithExceptionWithMessage();
-    [GetterRaisesException] attribute long attrWithGetterException;
-    [GetterRaisesExceptionWithMessage] attribute long attrWithGetterExceptionWithMessage;
-    [SetterRaisesException] attribute long attrWithSetterException;
-    [SetterRaisesExceptionWithMessage] attribute long attrWithSetterExceptionWithMessage;
-    [GetterRaisesException] attribute DOMString stringAttrWithGetterException;
-    [SetterRaisesException] attribute DOMString stringAttrWithSetterException;
</del><ins>+    [MayThrowLegacyException] void methodWithException();
+    [MayThrowLegacyExceptionWithMessage] void methodWithExceptionWithMessage();
+    [GetterMayThrowLegacyException] attribute long attrWithGetterException;
+    [GetterMayThrowLegacyExceptionWithMessage] attribute long attrWithGetterExceptionWithMessage;
+    [SetterMayThrowLegacyException] attribute long attrWithSetterException;
+    [SetterMayThrowLegacyExceptionWithMessage] attribute long attrWithSetterExceptionWithMessage;
+    [GetterMayThrowLegacyException] attribute DOMString stringAttrWithGetterException;
+    [SetterMayThrowLegacyException] attribute DOMString stringAttrWithSetterException;
</ins><span class="cx"> 
</span><span class="cx">     // 'Custom' extended attribute
</span><span class="cx">     [Custom] attribute long            customAttr;
</span><span class="lines">@@ -181,11 +181,11 @@
</span><span class="cx">     // 'CallWith' extended attribute
</span><span class="cx">     [CallWith=ScriptState] void withScriptStateVoid();
</span><span class="cx">     [CallWith=ScriptState] TestObj withScriptStateObj();
</span><del>-    [CallWith=ScriptState, RaisesException] void withScriptStateVoidException();
-    [CallWith=ScriptState, RaisesException] TestObj withScriptStateObjException();
</del><ins>+    [CallWith=ScriptState, MayThrowLegacyException] void withScriptStateVoidException();
+    [CallWith=ScriptState, MayThrowLegacyException] TestObj withScriptStateObjException();
</ins><span class="cx">     [CallWith=ScriptExecutionContext] void withScriptExecutionContext();
</span><span class="cx">     [CallWith=ScriptExecutionContext&amp;ScriptState] void withScriptExecutionContextAndScriptState();
</span><del>-    [CallWith=ScriptExecutionContext&amp;ScriptState, RaisesException] TestObj withScriptExecutionContextAndScriptStateObjException();
</del><ins>+    [CallWith=ScriptExecutionContext&amp;ScriptState, MayThrowLegacyException] TestObj withScriptExecutionContextAndScriptStateObjException();
</ins><span class="cx">     [CallWith=  ScriptExecutionContext  &amp;  ScriptState  ] TestObj withScriptExecutionContextAndScriptStateWithSpaces();
</span><span class="cx">     [CallWith=ScriptArguments&amp;CallStack] void withScriptArgumentsAndCallStack();
</span><span class="cx">     [CallWith=Document] void withDocumentArgument();
</span><span class="lines">@@ -195,10 +195,10 @@
</span><span class="cx">     [CallWith=ScriptState] attribute long withScriptStateAttribute;
</span><span class="cx">     [CallWith=ScriptState, SetterCallWith=ActiveWindow&amp;FirstWindow] attribute long withCallWithAndSetterCallWithAttribute;
</span><span class="cx">     [CallWith=ScriptExecutionContext] attribute TestObj withScriptExecutionContextAttribute;
</span><del>-    [CallWith=ScriptState, GetterRaisesException] attribute TestObj withScriptStateAttributeRaises;
-    [CallWith=ScriptExecutionContext, GetterRaisesException] attribute TestObj withScriptExecutionContextAttributeRaises;
</del><ins>+    [CallWith=ScriptState, GetterMayThrowLegacyException] attribute TestObj withScriptStateAttributeRaises;
+    [CallWith=ScriptExecutionContext, GetterMayThrowLegacyException] attribute TestObj withScriptExecutionContextAttributeRaises;
</ins><span class="cx">     [CallWith=ScriptExecutionContext&amp;ScriptState] attribute TestObj withScriptExecutionContextAndScriptStateAttribute;
</span><del>-    [CallWith=ScriptExecutionContext&amp;ScriptState,GetterRaisesException] attribute TestObj withScriptExecutionContextAndScriptStateAttributeRaises;
</del><ins>+    [CallWith=ScriptExecutionContext&amp;ScriptState,GetterMayThrowLegacyException] attribute TestObj withScriptExecutionContextAndScriptStateAttributeRaises;
</ins><span class="cx">     [CallWith=  ScriptExecutionContext  &amp;  ScriptState  ] attribute TestObj withScriptExecutionContextAndScriptStateWithSpacesAttribute;
</span><span class="cx">     [CallWith=ScriptArguments&amp;CallStack] attribute TestObj withScriptArgumentsAndCallStackAttribute;
</span><span class="cx"> 
</span><span class="lines">@@ -312,8 +312,8 @@
</span><span class="cx"> 
</span><span class="cx"> #if defined(TESTING_JS)
</span><span class="cx">     void methodWithUnsignedLongSequence(sequence&lt;unsigned long&gt; unsignedLongSequence);
</span><del>-    [RaisesException] sequence&lt;DOMString&gt; stringArrayFunction(sequence&lt;DOMString&gt; values);
-    [RaisesException] DOMStringList domStringListFunction(DOMStringList values);
</del><ins>+    [MayThrowLegacyException] sequence&lt;DOMString&gt; stringArrayFunction(sequence&lt;DOMString&gt; values);
+    [MayThrowLegacyException] DOMStringList domStringListFunction(DOMStringList values);
</ins><span class="cx"> 
</span><span class="cx">     void methodWithAndWithoutNullableSequence(sequence&lt;unsigned long&gt; arrayArg, sequence&lt;unsigned long&gt;? nullableArrayArg);
</span><span class="cx"> 
</span><span class="lines">@@ -321,7 +321,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     [CheckSecurityForNode] readonly attribute Document contentDocument;
</span><del>-    [CheckSecurityForNode, RaisesException] SVGDocument getSVGDocument();
</del><ins>+    [CheckSecurityForNode, MayThrowLegacyException] SVGDocument getSVGDocument();
</ins><span class="cx"> 
</span><span class="cx">     void convert1(TestNode value);
</span><span class="cx">     void convert2(TestNode? value);
</span><span class="lines">@@ -372,7 +372,7 @@
</span><span class="cx">     attribute USVString? nullableUSVStringSettableAttribute;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    [GetterRaisesException] attribute long? nullableStringValue;
</del><ins>+    [GetterMayThrowLegacyException] attribute long? nullableStringValue;
</ins><span class="cx"> 
</span><span class="cx">     // Identifiers with a leading underscore, which should be removed.
</span><span class="cx">     const unsigned short               _readonly = 0;
</span><span class="lines">@@ -383,12 +383,12 @@
</span><span class="cx">     // Promise function
</span><span class="cx">     Promise testPromiseFunction();
</span><span class="cx">     Promise testPromiseFunctionWithFloatArgument(float a);
</span><del>-    [RaisesException] Promise testPromiseFunctionWithException();
</del><ins>+    [MayThrowLegacyException] Promise testPromiseFunctionWithException();
</ins><span class="cx">     Promise testPromiseFunctionWithOptionalIntArgument(optional long a);
</span><span class="cx">     Promise testPromiseOverloadedFunction(float a);
</span><span class="cx">     Promise testPromiseOverloadedFunction(FetchRequest request);
</span><span class="cx">     static Promise testStaticPromiseFunction();
</span><del>-    [RaisesException] static Promise testStaticPromiseFunctionWithException();
</del><ins>+    [MayThrowLegacyException] static Promise testStaticPromiseFunctionWithException();
</ins><span class="cx">     [Custom] Promise testCustomPromiseFunction();
</span><span class="cx"> 
</span><span class="cx">     // PutForwards
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestSupplementalidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestSupplemental.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestSupplemental.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/TestSupplemental.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx">     attribute Node supplementalNode;
</span><span class="cx"> 
</span><span class="cx">     void supplementalMethod1();
</span><del>-    [CallWith=ScriptExecutionContext, RaisesException] TestObj supplementalMethod2(DOMString strArg, TestObj objArg);
</del><ins>+    [CallWith=ScriptExecutionContext, MayThrowLegacyException] TestObj supplementalMethod2(DOMString strArg, TestObj objArg);
</ins><span class="cx">     [Custom] void supplementalMethod3();
</span><span class="cx">     static void supplementalMethod4();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestTypedefsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestTypedefs.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestTypedefs.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/bindings/scripts/test/TestTypedefs.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -52,17 +52,17 @@
</span><span class="cx"> 
</span><span class="cx">     [Immutable] SVGPOINT immutablePointFunction();
</span><span class="cx"> 
</span><del>-    [RaisesException] SEQUENCE_OF_STRINGS stringSequenceFunction(SEQUENCE_OF_STRINGS values);
-    [RaisesException] sequence&lt;STRING&gt; stringSequenceFunction2(sequence&lt;STRING&gt; values);
</del><ins>+    [MayThrowLegacyException] SEQUENCE_OF_STRINGS stringSequenceFunction(SEQUENCE_OF_STRINGS values);
+    [MayThrowLegacyException] sequence&lt;STRING&gt; stringSequenceFunction2(sequence&lt;STRING&gt; values);
</ins><span class="cx"> 
</span><span class="cx">     boolean callWithSequenceThatRequiresInclude(sequence&lt;TestEventTarget&gt; sequenceArg);
</span><span class="cx"> 
</span><span class="cx">     // Exceptions
</span><del>-    [RaisesException] void methodWithException();
-    [GetterRaisesException] attribute long attrWithGetterException;
-    [SetterRaisesException] attribute long attrWithSetterException;
-    [GetterRaisesException] attribute DOMString stringAttrWithGetterException;
-    [SetterRaisesException] attribute DOMString stringAttrWithSetterException;
</del><ins>+    [MayThrowLegacyException] void methodWithException();
+    [GetterMayThrowLegacyException] attribute long attrWithGetterException;
+    [SetterMayThrowLegacyException] attribute long attrWithSetterException;
+    [GetterMayThrowLegacyException] attribute DOMString stringAttrWithGetterException;
+    [SetterMayThrowLegacyException] attribute DOMString stringAttrWithSetterException;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> typedef unrestricted float         DOUBLE;
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSCharsetRuleidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSCharsetRule.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSCharsetRule.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/css/CSSCharsetRule.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -20,6 +20,6 @@
</span><span class="cx"> 
</span><span class="cx"> // Introduced in DOM Level 2:
</span><span class="cx"> interface CSSCharsetRule : CSSRule {
</span><del>-    [SetterRaisesException] attribute DOMString? encoding;
</del><ins>+    [SetterMayThrowLegacyException] attribute DOMString? encoding;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSMediaRuleidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSMediaRule.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSMediaRule.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/css/CSSMediaRule.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -22,6 +22,6 @@
</span><span class="cx">     readonly attribute MediaList media;
</span><span class="cx">     readonly attribute CSSRuleList cssRules;
</span><span class="cx"> 
</span><del>-    [RaisesException] unsigned long insertRule(optional DOMString rule = &quot;undefined&quot;, optional unsigned long index = 0);
-    [RaisesException] void deleteRule(optional unsigned long index = 0);
</del><ins>+    [MayThrowLegacyException] unsigned long insertRule(optional DOMString rule = &quot;undefined&quot;, optional unsigned long index = 0);
+    [MayThrowLegacyException] void deleteRule(optional unsigned long index = 0);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSPrimitiveValueidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSPrimitiveValue.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSPrimitiveValue.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/css/CSSPrimitiveValue.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -55,13 +55,13 @@
</span><span class="cx">     
</span><span class="cx">     readonly attribute unsigned short primitiveType;
</span><span class="cx"> 
</span><del>-    [RaisesException] void setFloatValue(optional unsigned short unitType = 0, optional unrestricted float floatValue = NaN);
-    [RaisesException] unrestricted float getFloatValue(optional unsigned short unitType = 0);
</del><ins>+    [MayThrowLegacyException] void setFloatValue(optional unsigned short unitType = 0, optional unrestricted float floatValue = NaN);
+    [MayThrowLegacyException] unrestricted float getFloatValue(optional unsigned short unitType = 0);
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: Using &quot;undefined&quot; as default parameter value is wrong.
</span><del>-    [RaisesException] void setStringValue(optional unsigned short stringType = 0, optional DOMString stringValue = &quot;undefined&quot;);
-    [RaisesException] DOMString getStringValue();
-    [RaisesException] Counter getCounterValue();
-    [RaisesException] Rect getRectValue();
-    [RaisesException] RGBColor getRGBColorValue();
</del><ins>+    [MayThrowLegacyException] void setStringValue(optional unsigned short stringType = 0, optional DOMString stringValue = &quot;undefined&quot;);
+    [MayThrowLegacyException] DOMString getStringValue();
+    [MayThrowLegacyException] Counter getCounterValue();
+    [MayThrowLegacyException] Rect getRectValue();
+    [MayThrowLegacyException] RGBColor getRGBColorValue();
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSRuleidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSRule.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSRule.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/css/CSSRule.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx"> 
</span><span class="cx">     readonly attribute unsigned short type;
</span><span class="cx"> 
</span><del>-    [SetterRaisesException] attribute DOMString? cssText;
</del><ins>+    [SetterMayThrowLegacyException] attribute DOMString? cssText;
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute CSSStyleSheet? parentStyleSheet;
</span><span class="cx">     readonly attribute CSSRule? parentRule;
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSStyleDeclarationidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSStyleDeclaration.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSStyleDeclaration.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/css/CSSStyleDeclaration.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,15 +28,15 @@
</span><span class="cx">     JSCustomMarkFunction,
</span><span class="cx">     SkipVTableValidation,
</span><span class="cx"> ] interface CSSStyleDeclaration {
</span><del>-    [SetterRaisesException] attribute DOMString cssText;
</del><ins>+    [SetterMayThrowLegacyException] attribute DOMString cssText;
</ins><span class="cx"> 
</span><span class="cx">     DOMString getPropertyValue(DOMString propertyName);
</span><span class="cx">     [Custom] CSSValue? getPropertyCSSValue(DOMString propertyName);
</span><span class="cx"> 
</span><del>-    [RaisesException] DOMString removeProperty(DOMString propertyName);
</del><ins>+    [MayThrowLegacyException] DOMString removeProperty(DOMString propertyName);
</ins><span class="cx">     DOMString? getPropertyPriority(DOMString propertyName);
</span><span class="cx"> 
</span><del>-    [RaisesException] void setProperty(DOMString propertyName, [TreatNullAs=EmptyString] DOMString value, [TreatNullAs=EmptyString] optional DOMString priority = &quot;&quot;);
</del><ins>+    [MayThrowLegacyException] void setProperty(DOMString propertyName, [TreatNullAs=EmptyString] DOMString value, [TreatNullAs=EmptyString] optional DOMString priority = &quot;&quot;);
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute unsigned long length;
</span><span class="cx">     getter DOMString item(unsigned long index);
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSStyleSheetidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSStyleSheet.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSStyleSheet.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/css/CSSStyleSheet.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -22,14 +22,14 @@
</span><span class="cx">     readonly attribute CSSRule ownerRule;
</span><span class="cx">     readonly attribute CSSRuleList cssRules;
</span><span class="cx"> 
</span><del>-    [RaisesException] unsigned long insertRule(DOMString rule, unsigned long index);
-    [RaisesException, ImplementedAs=deprecatedInsertRule] unsigned long insertRule(DOMString rule); // Deprecated.
</del><ins>+    [MayThrowLegacyException] unsigned long insertRule(DOMString rule, unsigned long index);
+    [MayThrowLegacyException, ImplementedAs=deprecatedInsertRule] unsigned long insertRule(DOMString rule); // Deprecated.
</ins><span class="cx"> 
</span><del>-    [RaisesException] void deleteRule(unsigned long index);
</del><ins>+    [MayThrowLegacyException] void deleteRule(unsigned long index);
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute CSSRuleList rules;
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Those operations are WebKit-specific.
</span><del>-    [RaisesException] long addRule(optional DOMString selector = &quot;undefined&quot;, optional DOMString style = &quot;undefined&quot;, optional unsigned long index);
-    [RaisesException] void removeRule(optional unsigned long index = 0);
</del><ins>+    [MayThrowLegacyException] long addRule(optional DOMString selector = &quot;undefined&quot;, optional DOMString style = &quot;undefined&quot;, optional unsigned long index);
+    [MayThrowLegacyException] void removeRule(optional unsigned long index = 0);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSSupportsRuleidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSSupportsRule.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSSupportsRule.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/css/CSSSupportsRule.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx">     readonly attribute CSSRuleList cssRules;
</span><span class="cx">     readonly attribute DOMString conditionText;
</span><span class="cx"> 
</span><del>-    [RaisesException] unsigned long insertRule(DOMString rule, unsigned long index);
-    [RaisesException] void deleteRule(unsigned long index);
</del><ins>+    [MayThrowLegacyException] unsigned long insertRule(DOMString rule, unsigned long index);
+    [MayThrowLegacyException] void deleteRule(unsigned long index);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSValueidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSValue.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSValue.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/css/CSSValue.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx">     const unsigned short CSS_VALUE_LIST = 2;
</span><span class="cx">     const unsigned short CSS_CUSTOM = 3;
</span><span class="cx"> 
</span><del>-    [SetterRaisesException] attribute DOMString? cssText;
</del><ins>+    [SetterMayThrowLegacyException] attribute DOMString? cssText;
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute unsigned short cssValueType;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorecssFontFaceidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/FontFace.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/FontFace.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/css/FontFace.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -41,16 +41,16 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     ConstructorCallWith=Document&amp;ScriptState,
</span><del>-    ConstructorRaisesException,
</del><ins>+    ConstructorMayThrowLegacyException,
</ins><span class="cx">     Constructor(DOMString family, any source, optional FontFaceDescriptors descriptors)
</span><span class="cx"> ] interface FontFace {
</span><del>-    [SetterRaisesException] attribute DOMString family;
-    [SetterRaisesException] attribute DOMString style;
-    [SetterRaisesException] attribute DOMString weight;
-    [SetterRaisesException] attribute DOMString stretch;
-    [SetterRaisesException] attribute DOMString unicodeRange;
-    [SetterRaisesException] attribute DOMString variant;
-    [SetterRaisesException] attribute DOMString featureSettings;
</del><ins>+    [SetterMayThrowLegacyException] attribute DOMString family;
+    [SetterMayThrowLegacyException] attribute DOMString style;
+    [SetterMayThrowLegacyException] attribute DOMString weight;
+    [SetterMayThrowLegacyException] attribute DOMString stretch;
+    [SetterMayThrowLegacyException] attribute DOMString unicodeRange;
+    [SetterMayThrowLegacyException] attribute DOMString variant;
+    [SetterMayThrowLegacyException] attribute DOMString featureSettings;
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute FontFaceLoadStatus status;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorecssFontFaceSetidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/FontFaceSet.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/FontFaceSet.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/css/FontFaceSet.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx">     attribute EventHandler onloadingerror;
</span><span class="cx"> 
</span><span class="cx">     Promise load(DOMString font, optional DOMString text = &quot; &quot;);
</span><del>-    [RaisesException] boolean check(DOMString font, optional DOMString text = &quot; &quot;);
</del><ins>+    [MayThrowLegacyException] boolean check(DOMString font, optional DOMString text = &quot; &quot;);
</ins><span class="cx"> 
</span><span class="cx">     [CustomGetter, CachedAttribute] readonly attribute Promise ready;
</span><span class="cx">     readonly attribute FontFaceSetLoadStatus status;
</span></span></pre></div>
<a id="trunkSourceWebCorecssMediaListidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/MediaList.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/MediaList.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/css/MediaList.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -29,11 +29,11 @@
</span><span class="cx">     ImplementationLacksVTable,
</span><span class="cx">     JSCustomHeader,
</span><span class="cx"> ] interface MediaList {
</span><del>-    [SetterRaisesException, TreatNullAs=EmptyString] attribute DOMString mediaText;
</del><ins>+    [SetterMayThrowLegacyException, TreatNullAs=EmptyString] attribute DOMString mediaText;
</ins><span class="cx">     readonly attribute unsigned long length;
</span><span class="cx"> 
</span><span class="cx">     getter DOMString? item(unsigned long index);
</span><span class="cx"> 
</span><del>-    [RaisesException] void deleteMedium(DOMString oldMedium);
-    [RaisesException] void appendMedium(DOMString newMedium);
</del><ins>+    [MayThrowLegacyException] void deleteMedium(DOMString oldMedium);
+    [MayThrowLegacyException] void appendMedium(DOMString newMedium);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorecssWebKitCSSMatrixidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/WebKitCSSMatrix.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/WebKitCSSMatrix.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/css/WebKitCSSMatrix.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> // Introduced in DOM Level ?:
</span><span class="cx"> [
</span><span class="cx">     Constructor(optional DOMString cssValue),
</span><del>-    ConstructorRaisesException,
</del><ins>+    ConstructorMayThrowLegacyException,
</ins><span class="cx">     ImplementationLacksVTable,
</span><span class="cx"> ] interface WebKitCSSMatrix {
</span><span class="cx"> 
</span><span class="lines">@@ -57,13 +57,13 @@
</span><span class="cx">     attribute unrestricted double m44;
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Using &quot;undefined&quot; as default parameter value is wrong.
</span><del>-    [RaisesException] void setMatrixValue(optional DOMString string = &quot;undefined&quot;);
</del><ins>+    [MayThrowLegacyException] void setMatrixValue(optional DOMString string = &quot;undefined&quot;);
</ins><span class="cx">     
</span><span class="cx">     // Multiply this matrix by secondMatrix, on the right (result = this * secondMatrix)
</span><span class="cx">     [Immutable] WebKitCSSMatrix multiply(optional WebKitCSSMatrix? secondMatrix = null);
</span><span class="cx">     
</span><span class="cx">     // Return the inverse of this matrix. Throw an exception if the matrix is not invertible
</span><del>-    [Immutable, RaisesException] WebKitCSSMatrix inverse();
</del><ins>+    [Immutable, MayThrowLegacyException] WebKitCSSMatrix inverse();
</ins><span class="cx">     
</span><span class="cx">     // Return this matrix translated by the passed values.
</span><span class="cx">     // Passing a NaN will use a value of 0. This allows the 3D form to used for 2D operations
</span></span></pre></div>
<a id="trunkSourceWebCoredomCharacterDataidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/CharacterData.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/CharacterData.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/dom/CharacterData.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -21,12 +21,12 @@
</span><span class="cx">     [TreatNullAs=EmptyString] attribute DOMString data;
</span><span class="cx">     readonly attribute unsigned long length;
</span><span class="cx"> 
</span><del>-    [RaisesException] DOMString? substringData(unsigned long offset, unsigned long length);
</del><ins>+    [MayThrowLegacyException] DOMString? substringData(unsigned long offset, unsigned long length);
</ins><span class="cx"> 
</span><span class="cx">     void appendData(DOMString data);
</span><del>-    [RaisesException] void insertData(unsigned long offset, DOMString data);
-    [RaisesException] void deleteData(unsigned long offset, unsigned long length);
-    [RaisesException] void replaceData(unsigned long offset, unsigned long length, DOMString data);
</del><ins>+    [MayThrowLegacyException] void insertData(unsigned long offset, DOMString data);
+    [MayThrowLegacyException] void deleteData(unsigned long offset, unsigned long length);
+    [MayThrowLegacyException] void replaceData(unsigned long offset, unsigned long length, DOMString data);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> CharacterData implements ChildNode;
</span></span></pre></div>
<a id="trunkSourceWebCoredomChildNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ChildNode.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ChildNode.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/dom/ChildNode.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -22,8 +22,8 @@
</span><span class="cx"> [
</span><span class="cx">     NoInterfaceObject,
</span><span class="cx"> ] interface ChildNode {
</span><del>-    [Unscopable, RaisesException, Custom] void before((Node or DOMString)... nodes);
-    [Unscopable, RaisesException, Custom] void after((Node or DOMString)... nodes);
-    [Unscopable, RaisesException, Custom] void replaceWith((Node or DOMString)... nodes);
-    [Unscopable, RaisesException] void remove();
</del><ins>+    [Unscopable, MayThrowLegacyException, Custom] void before((Node or DOMString)... nodes);
+    [Unscopable, MayThrowLegacyException, Custom] void after((Node or DOMString)... nodes);
+    [Unscopable, MayThrowLegacyException, Custom] void replaceWith((Node or DOMString)... nodes);
+    [Unscopable, MayThrowLegacyException] void remove();
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoredomCustomElementRegistryidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/CustomElementRegistry.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/CustomElementRegistry.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/dom/CustomElementRegistry.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -32,6 +32,6 @@
</span><span class="cx"> 
</span><span class="cx">     [CEReactions, Custom] void define(DOMString name, Function constructor);
</span><span class="cx">     any get(DOMString name);
</span><del>-    [RaisesExceptionWithMessage, Custom] Promise whenDefined(DOMString name);
</del><ins>+    [MayThrowLegacyExceptionWithMessage, Custom] Promise whenDefined(DOMString name);
</ins><span class="cx"> 
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoredomDataTransferItemListidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DataTransferItemList.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DataTransferItemList.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/dom/DataTransferItemList.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -41,6 +41,6 @@
</span><span class="cx">     void add(File? file);
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Using &quot;undefined&quot; as default parameter value is wrong.
</span><del>-    [RaisesException] void add(optional DOMString data = &quot;undefined&quot;, optional DOMString type = &quot;undefined&quot;);
</del><ins>+    [MayThrowLegacyException] void add(optional DOMString data = &quot;undefined&quot;, optional DOMString type = &quot;undefined&quot;);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/dom/Document.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -31,21 +31,21 @@
</span><span class="cx">     readonly attribute DOMImplementation implementation;
</span><span class="cx">     readonly attribute Element? documentElement;
</span><span class="cx"> 
</span><del>-    [NewObject, RaisesException, ImplementedAs=createElementForBindings] Element createElement(DOMString tagName);
</del><ins>+    [NewObject, MayThrowLegacyException, ImplementedAs=createElementForBindings] Element createElement(DOMString tagName);
</ins><span class="cx">     [NewObject] DocumentFragment   createDocumentFragment();
</span><span class="cx"> 
</span><span class="cx">     [NewObject] Text createTextNode(DOMString data);
</span><span class="cx">     [NewObject] Comment createComment(DOMString data);
</span><del>-    [NewObject, RaisesException] CDATASection createCDATASection(DOMString data);
-    [NewObject, RaisesException] ProcessingInstruction createProcessingInstruction(DOMString target, DOMString data);
-    [NewObject, RaisesException] Attr createAttribute(DOMString name);
</del><ins>+    [NewObject, MayThrowLegacyException] CDATASection createCDATASection(DOMString data);
+    [NewObject, MayThrowLegacyException] ProcessingInstruction createProcessingInstruction(DOMString target, DOMString data);
+    [NewObject, MayThrowLegacyException] Attr createAttribute(DOMString name);
</ins><span class="cx"> 
</span><span class="cx">     HTMLCollection getElementsByTagName(DOMString tagname);
</span><span class="cx"> 
</span><del>-    [NewObject, RaisesException] Node importNode(Node importedNode, optional boolean deep = false);
</del><ins>+    [NewObject, MayThrowLegacyException] Node importNode(Node importedNode, optional boolean deep = false);
</ins><span class="cx"> 
</span><del>-    [NewObject, RaisesException] Element createElementNS(DOMString? namespaceURI, DOMString qualifiedName);
-    [NewObject, RaisesException] Attr createAttributeNS(DOMString? namespaceURI, DOMString qualifiedName);
</del><ins>+    [NewObject, MayThrowLegacyException] Element createElementNS(DOMString? namespaceURI, DOMString qualifiedName);
+    [NewObject, MayThrowLegacyException] Attr createAttributeNS(DOMString? namespaceURI, DOMString qualifiedName);
</ins><span class="cx"> 
</span><span class="cx">     HTMLCollection getElementsByTagNameNS(DOMString? namespaceURI, DOMString localName);
</span><span class="cx"> 
</span><span class="lines">@@ -52,14 +52,14 @@
</span><span class="cx">     [ImplementedAs=characterSetWithUTF8Fallback] readonly attribute DOMString inputEncoding;
</span><span class="cx"> 
</span><span class="cx">     readonly attribute DOMString? xmlEncoding;
</span><del>-    [SetterRaisesException] attribute DOMString? xmlVersion;
</del><ins>+    [SetterMayThrowLegacyException] attribute DOMString? xmlVersion;
</ins><span class="cx">     attribute boolean xmlStandalone;
</span><span class="cx"> 
</span><del>-    [RaisesException] Node adoptNode(Node source);
</del><ins>+    [MayThrowLegacyException] Node adoptNode(Node source);
</ins><span class="cx"> 
</span><span class="cx">     [ImplementedAs=urlForBindings] readonly attribute USVString documentURI;
</span><span class="cx"> 
</span><del>-    [RaisesException, NewObject] Event createEvent(DOMString eventType);
</del><ins>+    [MayThrowLegacyException, NewObject] Event createEvent(DOMString eventType);
</ins><span class="cx"> 
</span><span class="cx">     [NewObject] Range createRange();
</span><span class="cx"> 
</span><span class="lines">@@ -80,11 +80,11 @@
</span><span class="cx">     readonly attribute DOMString contentType;
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Using &quot;undefined&quot; as default parameter value is wrong.
</span><del>-    [RaisesException] XPathExpression createExpression(optional DOMString expression = &quot;undefined&quot;, optional XPathNSResolver? resolver);
</del><ins>+    [MayThrowLegacyException] XPathExpression createExpression(optional DOMString expression = &quot;undefined&quot;, optional XPathNSResolver? resolver);
</ins><span class="cx">     XPathNSResolver createNSResolver(Node? nodeResolver);
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Using &quot;undefined&quot; as default parameter value is wrong.
</span><del>-    [RaisesException] XPathResult evaluate(optional DOMString expression = &quot;undefined&quot;, optional Node? contextNode, optional XPathNSResolver? resolver,
</del><ins>+    [MayThrowLegacyException] XPathResult evaluate(optional DOMString expression = &quot;undefined&quot;, optional Node? contextNode, optional XPathNSResolver? resolver,
</ins><span class="cx">         optional unsigned short type = 0, optional XPathResult? inResult);
</span><span class="cx"> 
</span><span class="cx">     // FIXME: The default value for the last parameter should be the empty string.
</span><span class="lines">@@ -101,12 +101,12 @@
</span><span class="cx">     attribute DOMString designMode;
</span><span class="cx"> 
</span><span class="cx">     readonly attribute USVString referrer;
</span><del>-    [SetterRaisesException] attribute USVString domain;
</del><ins>+    [SetterMayThrowLegacyException] attribute USVString domain;
</ins><span class="cx">     [ImplementedAs=urlForBindings] readonly attribute USVString URL;
</span><span class="cx"> 
</span><del>-    [GetterRaisesException, SetterRaisesException] attribute USVString cookie;
</del><ins>+    [GetterMayThrowLegacyException, SetterMayThrowLegacyException] attribute USVString cookie;
</ins><span class="cx"> 
</span><del>-    [SetterRaisesException, ImplementedAs=bodyOrFrameset] attribute HTMLElement? body;
</del><ins>+    [SetterMayThrowLegacyException, ImplementedAs=bodyOrFrameset] attribute HTMLElement? body;
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute HTMLHeadElement? head;
</span><span class="cx">     readonly attribute HTMLCollection images;
</span><span class="lines">@@ -169,7 +169,7 @@
</span><span class="cx"> #if defined(ENABLE_IOS_TOUCH_EVENTS) &amp;&amp; ENABLE_IOS_TOUCH_EVENTS
</span><span class="cx"> #include &lt;WebKitAdditions/DocumentIOS.idl&gt;
</span><span class="cx"> #elif defined(ENABLE_TOUCH_EVENTS) &amp;&amp; ENABLE_TOUCH_EVENTS
</span><del>-    [NewObject, RaisesException] Touch createTouch(optional DOMWindow? window = null, optional EventTarget? target = null,
</del><ins>+    [NewObject, MayThrowLegacyException] Touch createTouch(optional DOMWindow? window = null, optional EventTarget? target = null,
</ins><span class="cx">         optional long identifier = 0,
</span><span class="cx">         optional long pageX = 0, optional long pageY = 0, optional long screenX = 0, optional long screenY = 0,
</span><span class="cx">         optional long webkitRadiusX = 0, optional long webkitRadiusY = 0,
</span></span></pre></div>
<a id="trunkSourceWebCoredomElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Element.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Element.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/dom/Element.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -28,13 +28,13 @@
</span><span class="cx"> 
</span><span class="cx">     DOMString? getAttribute(DOMString name);
</span><span class="cx"> 
</span><del>-    [RaisesException, CEReactions] void setAttribute(DOMString name, DOMString value);
</del><ins>+    [MayThrowLegacyException, CEReactions] void setAttribute(DOMString name, DOMString value);
</ins><span class="cx"> 
</span><span class="cx">     [CEReactions] void removeAttribute(DOMString name);
</span><span class="cx">     Attr? getAttributeNode(DOMString name);
</span><span class="cx"> 
</span><del>-    [RaisesException, CEReactions] Attr? setAttributeNode(Attr newAttr);
-    [RaisesException, CEReactions] Attr removeAttributeNode(Attr oldAttr);
</del><ins>+    [MayThrowLegacyException, CEReactions] Attr? setAttributeNode(Attr newAttr);
+    [MayThrowLegacyException, CEReactions] Attr removeAttributeNode(Attr oldAttr);
</ins><span class="cx"> 
</span><span class="cx">     HTMLCollection getElementsByTagName(DOMString name);
</span><span class="cx"> 
</span><span class="lines">@@ -43,13 +43,13 @@
</span><span class="cx"> 
</span><span class="cx">     DOMString? getAttributeNS(DOMString? namespaceURI, DOMString localName);
</span><span class="cx"> 
</span><del>-    [RaisesException, CEReactions] void setAttributeNS(DOMString? namespaceURI, DOMString qualifiedName, DOMString value);
</del><ins>+    [MayThrowLegacyException, CEReactions] void setAttributeNS(DOMString? namespaceURI, DOMString qualifiedName, DOMString value);
</ins><span class="cx">     [CEReactions] void removeAttributeNS(DOMString? namespaceURI, DOMString localName);
</span><span class="cx"> 
</span><span class="cx">     HTMLCollection getElementsByTagNameNS(DOMString? namespaceURI, DOMString localName);
</span><span class="cx"> 
</span><span class="cx">     Attr? getAttributeNodeNS(DOMString? namespaceURI, DOMString localName);
</span><del>-    [RaisesException, CEReactions] Attr? setAttributeNodeNS(Attr newAttr);
</del><ins>+    [MayThrowLegacyException, CEReactions] Attr? setAttributeNodeNS(Attr newAttr);
</ins><span class="cx">     boolean hasAttribute(DOMString name);
</span><span class="cx"> 
</span><span class="cx">     boolean hasAttributeNS(DOMString? namespaceURI, DOMString localName);
</span><span class="lines">@@ -97,15 +97,15 @@
</span><span class="cx">     sequence&lt;DOMString&gt; getAttributeNames();
</span><span class="cx"> 
</span><span class="cx">     HTMLCollection getElementsByClassName(DOMString name);
</span><del>-    [TreatNullAs=EmptyString, SetterRaisesException] attribute DOMString innerHTML;
-    [TreatNullAs=EmptyString, SetterRaisesException] attribute DOMString outerHTML;
</del><ins>+    [TreatNullAs=EmptyString, SetterMayThrowLegacyException] attribute DOMString innerHTML;
+    [TreatNullAs=EmptyString, SetterMayThrowLegacyException] attribute DOMString outerHTML;
</ins><span class="cx"> 
</span><span class="cx">     [Reflect=class] attribute DOMString className;
</span><span class="cx">     [PutForwards=value] readonly attribute DOMTokenList classList;
</span><span class="cx"> 
</span><del>-    [RaisesException] boolean matches(DOMString selectors);
-    [RaisesException] Element closest(DOMString selectors);    
-    [ImplementedAs=matches, RaisesException] boolean webkitMatchesSelector(DOMString selectors);
</del><ins>+    [MayThrowLegacyException] boolean matches(DOMString selectors);
+    [MayThrowLegacyException] Element closest(DOMString selectors);    
+    [ImplementedAs=matches, MayThrowLegacyException] boolean webkitMatchesSelector(DOMString selectors);
</ins><span class="cx"> 
</span><span class="cx">     // CSSOM View Module API
</span><span class="cx">     ClientRectList getClientRects();
</span><span class="lines">@@ -124,9 +124,9 @@
</span><span class="cx">     [Reflect] attribute DOMString uiactions;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    [RaisesException] Element insertAdjacentElement(DOMString where, Element element);
-    [RaisesException] void insertAdjacentHTML(DOMString where, DOMString html);
-    [RaisesException] void insertAdjacentText(DOMString where, DOMString text);
</del><ins>+    [MayThrowLegacyException] Element insertAdjacentElement(DOMString where, Element element);
+    [MayThrowLegacyException] void insertAdjacentHTML(DOMString where, DOMString html);
+    [MayThrowLegacyException] void insertAdjacentText(DOMString where, DOMString text);
</ins><span class="cx"> 
</span><span class="cx">     [Conditional=POINTER_LOCK] void requestPointerLock();
</span><span class="cx"> 
</span><span class="lines">@@ -135,7 +135,7 @@
</span><span class="cx">     [Conditional=CSS_REGIONS] sequence&lt;Range&gt; webkitGetRegionFlowRanges();
</span><span class="cx"> 
</span><span class="cx">     // Shadow DOM API
</span><del>-    [EnabledAtRuntime=ShadowDOM, RaisesException] ShadowRoot attachShadow(ShadowRootInit init);
</del><ins>+    [EnabledAtRuntime=ShadowDOM, MayThrowLegacyException] ShadowRoot attachShadow(ShadowRootInit init);
</ins><span class="cx">     [EnabledAtRuntime=ShadowDOM, ImplementedAs=shadowRootForBindings, CallWith=ScriptState] readonly attribute ShadowRoot shadowRoot;
</span><span class="cx">     [EnabledAtRuntime=ShadowDOM, Reflect] attribute DOMString slot;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomEventTargetidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/EventTarget.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/EventTarget.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/dom/EventTarget.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx">     [ImplementedAs=addEventListenerForBindings] void addEventListener([AtomicString] DOMString type, EventListener? listener, boolean useCapture);
</span><span class="cx">     [ImplementedAs=removeEventListenerForBindings] void removeEventListener([AtomicString] DOMString type, EventListener? listener, boolean useCapture);
</span><span class="cx"> 
</span><del>-    [ImplementedAs=dispatchEventForBindings, RaisesException] boolean dispatchEvent(Event event);
</del><ins>+    [ImplementedAs=dispatchEventForBindings, MayThrowLegacyException] boolean dispatchEvent(Event event);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> dictionary EventListenerOptions {
</span></span></pre></div>
<a id="trunkSourceWebCoredomMessagePortidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MessagePort.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MessagePort.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/dom/MessagePort.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx">     GenerateIsReachable=Impl,
</span><span class="cx">     JSCustomMarkFunction,
</span><span class="cx"> ] interface MessagePort : EventTarget {
</span><del>-    [Custom, RaisesException] void postMessage(any message, optional Array messagePorts);
</del><ins>+    [Custom, MayThrowLegacyException] void postMessage(any message, optional Array messagePorts);
</ins><span class="cx"> 
</span><span class="cx">     void start();
</span><span class="cx">     void close();
</span></span></pre></div>
<a id="trunkSourceWebCoredomMutationObserveridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/MutationObserver.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/MutationObserver.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/dom/MutationObserver.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx">     CustomIsReachable,
</span><span class="cx">     ImplementationLacksVTable,
</span><span class="cx"> ] interface MutationObserver {
</span><del>-    [RaisesException] void observe(Node target, optional MutationObserverInit options);
</del><ins>+    [MayThrowLegacyException] void observe(Node target, optional MutationObserverInit options);
</ins><span class="cx">     sequence&lt;MutationRecord&gt; takeRecords();
</span><span class="cx">     void disconnect();
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoredomNamedNodeMapidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/NamedNodeMap.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/NamedNodeMap.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/dom/NamedNodeMap.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,10 +26,10 @@
</span><span class="cx">     readonly attribute unsigned long length;
</span><span class="cx"> 
</span><span class="cx">     getter Attr? getNamedItem(DOMString name);
</span><del>-    [RaisesException] Attr? setNamedItem(Attr attr);
-    [RaisesException] Attr removeNamedItem(DOMString name);
</del><ins>+    [MayThrowLegacyException] Attr? setNamedItem(Attr attr);
+    [MayThrowLegacyException] Attr removeNamedItem(DOMString name);
</ins><span class="cx">     getter Attr? item(unsigned long index);
</span><span class="cx">     Attr? getNamedItemNS(DOMString? namespaceURI, DOMString localName);
</span><del>-    [RaisesException, ImplementedAs=setNamedItem] Attr? setNamedItemNS(Attr attr);
-    [RaisesException] Attr removeNamedItemNS(DOMString? namespaceURI, DOMString localName);
</del><ins>+    [MayThrowLegacyException, ImplementedAs=setNamedItem] Attr? setNamedItemNS(Attr attr);
+    [MayThrowLegacyException] Attr removeNamedItemNS(DOMString? namespaceURI, DOMString localName);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Node.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Node.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/dom/Node.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx">     readonly attribute DOMString nodeName;
</span><span class="cx"> 
</span><span class="cx">     // FIXME: the spec says this can also raise on retrieval.
</span><del>-    [SetterRaisesException] attribute DOMString? nodeValue;
</del><ins>+    [SetterMayThrowLegacyException] attribute DOMString? nodeValue;
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute unsigned short nodeType;
</span><span class="cx">     readonly attribute Node? parentNode;
</span><span class="lines">@@ -55,14 +55,14 @@
</span><span class="cx">     readonly attribute Node? nextSibling;
</span><span class="cx">     readonly attribute Document? ownerDocument;
</span><span class="cx"> 
</span><del>-    [Custom, RaisesException] Node insertBefore([CustomReturn] Node newChild, Node? refChild);
-    [Custom, RaisesException] Node replaceChild(Node newChild, [CustomReturn] Node oldChild);
-    [Custom, RaisesException, CEReactions] Node removeChild([CustomReturn] Node oldChild);
-    [Custom, RaisesException, CEReactions] Node appendChild([CustomReturn] Node newChild);
</del><ins>+    [Custom, MayThrowLegacyException] Node insertBefore([CustomReturn] Node newChild, Node? refChild);
+    [Custom, MayThrowLegacyException] Node replaceChild(Node newChild, [CustomReturn] Node oldChild);
+    [Custom, MayThrowLegacyException, CEReactions] Node removeChild([CustomReturn] Node oldChild);
+    [Custom, MayThrowLegacyException, CEReactions] Node appendChild([CustomReturn] Node newChild);
</ins><span class="cx"> 
</span><span class="cx">     boolean hasChildNodes();
</span><span class="cx"> 
</span><del>-    [NewObject, RaisesException, ImplementedAs=cloneNodeForBindings, CEReactions] Node cloneNode(optional boolean deep = false);
</del><ins>+    [NewObject, MayThrowLegacyException, ImplementedAs=cloneNodeForBindings, CEReactions] Node cloneNode(optional boolean deep = false);
</ins><span class="cx"> 
</span><span class="cx">     void normalize();
</span><span class="cx"> 
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx">     readonly attribute USVString baseURI;
</span><span class="cx"> 
</span><span class="cx">     // FIXME: the spec says this can also raise on retrieval.
</span><del>-    [SetterRaisesException] attribute DOMString? textContent;
</del><ins>+    [SetterMayThrowLegacyException] attribute DOMString? textContent;
</ins><span class="cx"> 
</span><span class="cx">     boolean isSameNode(Node? other);
</span><span class="cx">     boolean isEqualNode(Node? other);
</span></span></pre></div>
<a id="trunkSourceWebCoredomParentNodeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ParentNode.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ParentNode.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/dom/ParentNode.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -33,11 +33,11 @@
</span><span class="cx">     readonly attribute Element lastElementChild;
</span><span class="cx">     readonly attribute unsigned long childElementCount;
</span><span class="cx"> 
</span><del>-    [Unscopable, RaisesException, Custom] void prepend((Node or DOMString)... nodes);
-    [Unscopable, RaisesException, Custom] void append((Node or DOMString)... nodes);
</del><ins>+    [Unscopable, MayThrowLegacyException, Custom] void prepend((Node or DOMString)... nodes);
+    [Unscopable, MayThrowLegacyException, Custom] void append((Node or DOMString)... nodes);
</ins><span class="cx"> 
</span><span class="cx">     // [Unscopable] Element? query(DOMString relativeSelectors);
</span><span class="cx">     // [NewObject, Unscopable] Elements queryAll(DOMString relativeSelectors);
</span><del>-    [RaisesException] Element querySelector(DOMString selectors);
-    [RaisesException, NewObject] NodeList querySelectorAll(DOMString selectors);
</del><ins>+    [MayThrowLegacyException] Element querySelector(DOMString selectors);
+    [MayThrowLegacyException, NewObject] NodeList querySelectorAll(DOMString selectors);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoredomRangeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Range.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Range.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/dom/Range.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -33,16 +33,16 @@
</span><span class="cx">     readonly attribute boolean collapsed;
</span><span class="cx">     readonly attribute Node commonAncestorContainer;
</span><span class="cx"> 
</span><del>-    [RaisesException] void setStart(Node refNode, unsigned long offset);
-    [RaisesException] void setEnd(Node refNode, unsigned long offset);
</del><ins>+    [MayThrowLegacyException] void setStart(Node refNode, unsigned long offset);
+    [MayThrowLegacyException] void setEnd(Node refNode, unsigned long offset);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void setStartBefore(Node refNode);
-    [RaisesException] void setStartAfter(Node refNode);
-    [RaisesException] void setEndBefore(Node refNode);
-    [RaisesException] void setEndAfter(Node refNode);
</del><ins>+    [MayThrowLegacyException] void setStartBefore(Node refNode);
+    [MayThrowLegacyException] void setStartAfter(Node refNode);
+    [MayThrowLegacyException] void setEndBefore(Node refNode);
+    [MayThrowLegacyException] void setEndAfter(Node refNode);
</ins><span class="cx">     void collapse(optional boolean toStart = false);
</span><del>-    [RaisesException] void selectNode(Node refNode);
-    [RaisesException] void selectNodeContents(Node refNode);
</del><ins>+    [MayThrowLegacyException] void selectNode(Node refNode);
+    [MayThrowLegacyException] void selectNodeContents(Node refNode);
</ins><span class="cx"> 
</span><span class="cx">     // CompareHow
</span><span class="cx">     const unsigned short START_TO_START = 0;
</span><span class="lines">@@ -50,13 +50,13 @@
</span><span class="cx">     const unsigned short END_TO_END = 2;
</span><span class="cx">     const unsigned short END_TO_START = 3;
</span><span class="cx"> 
</span><del>-    [RaisesException, ImplementedAs=compareBoundaryPointsForBindings] short compareBoundaryPoints(unsigned short how, Range sourceRange);
</del><ins>+    [MayThrowLegacyException, ImplementedAs=compareBoundaryPointsForBindings] short compareBoundaryPoints(unsigned short how, Range sourceRange);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void deleteContents();
-    [RaisesException, NewObject] DocumentFragment extractContents();
-    [RaisesException, NewObject] DocumentFragment cloneContents();
-    [RaisesException] void insertNode(Node newNode);
-    [RaisesException] void surroundContents(Node newParent);
</del><ins>+    [MayThrowLegacyException] void deleteContents();
+    [MayThrowLegacyException, NewObject] DocumentFragment extractContents();
+    [MayThrowLegacyException, NewObject] DocumentFragment cloneContents();
+    [MayThrowLegacyException] void insertNode(Node newNode);
+    [MayThrowLegacyException] void surroundContents(Node newParent);
</ins><span class="cx">     [NewObject] Range cloneRange();
</span><span class="cx">     DOMString toString();
</span><span class="cx"> 
</span><span class="lines">@@ -65,9 +65,9 @@
</span><span class="cx">     ClientRectList getClientRects();
</span><span class="cx">     ClientRect getBoundingClientRect();
</span><span class="cx"> 
</span><del>-    [RaisesException, NewObject] DocumentFragment createContextualFragment(DOMString html);
</del><ins>+    [MayThrowLegacyException, NewObject] DocumentFragment createContextualFragment(DOMString html);
</ins><span class="cx"> 
</span><del>-    [RaisesException] short compareNode(Node refNode);
</del><ins>+    [MayThrowLegacyException] short compareNode(Node refNode);
</ins><span class="cx"> 
</span><span class="cx">     // CompareResults
</span><span class="cx">     const unsigned short NODE_BEFORE = 0;
</span><span class="lines">@@ -75,11 +75,11 @@
</span><span class="cx">     const unsigned short NODE_BEFORE_AND_AFTER = 2;
</span><span class="cx">     const unsigned short NODE_INSIDE = 3;
</span><span class="cx"> 
</span><del>-    [RaisesException] boolean intersectsNode(Node refNode);
</del><ins>+    [MayThrowLegacyException] boolean intersectsNode(Node refNode);
</ins><span class="cx"> 
</span><del>-    [RaisesException] short comparePoint(Node refNode, unsigned long offset);
-    [RaisesException] boolean isPointInRange(Node refNode, unsigned long offset);
</del><ins>+    [MayThrowLegacyException] short comparePoint(Node refNode, unsigned long offset);
+    [MayThrowLegacyException] boolean isPointInRange(Node refNode, unsigned long offset);
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: Using &quot;undefined&quot; as default parameter value is wrong.
</span><del>-    [RaisesException] void expand(optional DOMString unit = &quot;undefined&quot;);
</del><ins>+    [MayThrowLegacyException] void expand(optional DOMString unit = &quot;undefined&quot;);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoredomShadowRootidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ShadowRoot.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ShadowRoot.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/dom/ShadowRoot.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx">     readonly attribute Element          activeElement;
</span><span class="cx">     readonly attribute Element          host;
</span><span class="cx"> 
</span><del>-    [TreatNullAs=EmptyString, SetterRaisesException] attribute DOMString innerHTML;
</del><ins>+    [TreatNullAs=EmptyString, SetterMayThrowLegacyException] attribute DOMString innerHTML;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> // &quot;user-agent&quot; is a WebKit extension that is not exposed to the Web.
</span></span></pre></div>
<a id="trunkSourceWebCoredomTextidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Text.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Text.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/dom/Text.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -24,7 +24,7 @@
</span><span class="cx"> 
</span><span class="cx">     // DOM Level 1
</span><span class="cx"> 
</span><del>-    [RaisesException] Text splitText(unsigned long offset);
</del><ins>+    [MayThrowLegacyException] Text splitText(unsigned long offset);
</ins><span class="cx"> 
</span><span class="cx">     // Introduced in DOM Level 3:
</span><span class="cx">     readonly attribute DOMString wholeText;
</span></span></pre></div>
<a id="trunkSourceWebCorefileapiFileReaderidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/fileapi/FileReader.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/fileapi/FileReader.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/fileapi/FileReader.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -43,10 +43,10 @@
</span><span class="cx"> 
</span><span class="cx">     // FIXME: In all four methods found below, the blob parameter should not be nullable.
</span><span class="cx">     // async read methods
</span><del>-    [RaisesException] void readAsArrayBuffer(Blob? blob);
-    [RaisesException] void readAsBinaryString(Blob? blob);
-    [RaisesException] void readAsText(Blob? blob, optional DOMString encoding);
-    [RaisesException] void readAsDataURL(Blob? blob);
</del><ins>+    [MayThrowLegacyException] void readAsArrayBuffer(Blob? blob);
+    [MayThrowLegacyException] void readAsBinaryString(Blob? blob);
+    [MayThrowLegacyException] void readAsText(Blob? blob, optional DOMString encoding);
+    [MayThrowLegacyException] void readAsDataURL(Blob? blob);
</ins><span class="cx"> 
</span><span class="cx">     void abort();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorefileapiFileReaderSyncidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/fileapi/FileReaderSync.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/fileapi/FileReaderSync.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/fileapi/FileReaderSync.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -32,8 +32,8 @@
</span><span class="cx">     Constructor,
</span><span class="cx">     Exposed=Worker,
</span><span class="cx"> ] interface FileReaderSync {
</span><del>-    [CallWith=ScriptExecutionContext, RaisesException] ArrayBuffer readAsArrayBuffer(Blob blob);
-    [CallWith=ScriptExecutionContext, RaisesException] DOMString readAsBinaryString(Blob blob);
-    [CallWith=ScriptExecutionContext, RaisesException] DOMString readAsText(Blob blob, optional DOMString encoding = &quot;&quot;);
-    [CallWith=ScriptExecutionContext, RaisesException] DOMString readAsDataURL(Blob blob);
</del><ins>+    [CallWith=ScriptExecutionContext, MayThrowLegacyException] ArrayBuffer readAsArrayBuffer(Blob blob);
+    [CallWith=ScriptExecutionContext, MayThrowLegacyException] DOMString readAsBinaryString(Blob blob);
+    [CallWith=ScriptExecutionContext, MayThrowLegacyException] DOMString readAsText(Blob blob, optional DOMString encoding = &quot;&quot;);
+    [CallWith=ScriptExecutionContext, MayThrowLegacyException] DOMString readAsDataURL(Blob blob);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlDOMTokenListidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/DOMTokenList.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/DOMTokenList.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/DOMTokenList.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -30,11 +30,11 @@
</span><span class="cx">     readonly attribute unsigned long length;
</span><span class="cx">     getter DOMString? item(unsigned long index);
</span><span class="cx">     boolean contains(DOMString token);
</span><del>-    [RaisesException] void add(DOMString... tokens);
-    [RaisesException] void remove(DOMString... tokens);
-    [RaisesException] boolean toggle(DOMString token, optional boolean force);
-    [RaisesException] void replace(DOMString token, DOMString newToken);
-    [RaisesException] boolean supports(DOMString token);
</del><ins>+    [MayThrowLegacyException] void add(DOMString... tokens);
+    [MayThrowLegacyException] void remove(DOMString... tokens);
+    [MayThrowLegacyException] boolean toggle(DOMString token, optional boolean force);
+    [MayThrowLegacyException] void replace(DOMString token, DOMString newToken);
+    [MayThrowLegacyException] boolean supports(DOMString token);
</ins><span class="cx"> 
</span><span class="cx">     iterable&lt;DOMString&gt;;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlDOMURLidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/DOMURL.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/DOMURL.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/DOMURL.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx">     Constructor(USVString url),
</span><span class="cx">     Constructor(USVString url, USVString base),
</span><span class="cx">     Constructor(USVString url, DOMURL base),
</span><del>-    ConstructorRaisesException,
</del><ins>+    ConstructorMayThrowLegacyException,
</ins><span class="cx">     JSGenerateToNativeObject,
</span><span class="cx">     JSGenerateToJSObject,
</span><span class="cx">     InterfaceName=URL,
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLCanvasElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLCanvasElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLCanvasElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLCanvasElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx">     attribute unsigned long width;
</span><span class="cx">     attribute unsigned long height;
</span><span class="cx"> 
</span><del>-    [Custom, RaisesException] DOMString toDataURL(optional DOMString? type);
</del><ins>+    [Custom, MayThrowLegacyException] DOMString toDataURL(optional DOMString? type);
</ins><span class="cx"> 
</span><span class="cx">     // The custom binding is needed to handle context creation attributes.
</span><span class="cx">     [Custom] any getContext(DOMString contextId, any... arguments);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -41,10 +41,10 @@
</span><span class="cx">     [Reflect] attribute boolean hidden;
</span><span class="cx">     [Reflect] attribute DOMString accessKey;
</span><span class="cx"> 
</span><del>-    [TreatNullAs=EmptyString, SetterRaisesException] attribute DOMString innerText;
-    [TreatNullAs=EmptyString, SetterRaisesException] attribute DOMString outerText;
</del><ins>+    [TreatNullAs=EmptyString, SetterMayThrowLegacyException] attribute DOMString innerText;
+    [TreatNullAs=EmptyString, SetterMayThrowLegacyException] attribute DOMString outerText;
</ins><span class="cx"> 
</span><del>-    [SetterRaisesException] attribute DOMString contentEditable;
</del><ins>+    [SetterMayThrowLegacyException] attribute DOMString contentEditable;
</ins><span class="cx">     readonly attribute boolean isContentEditable;
</span><span class="cx"> 
</span><span class="cx">     attribute boolean spellcheck;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLEmbedElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLEmbedElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLEmbedElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLEmbedElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -30,6 +30,6 @@
</span><span class="cx"> [Reflect] attribute DOMString type;
</span><span class="cx"> [Reflect] attribute DOMString width;
</span><span class="cx"> 
</span><del>-[CheckSecurityForNode, RaisesException] SVGDocument getSVGDocument();
</del><ins>+[CheckSecurityForNode, MayThrowLegacyException] SVGDocument getSVGDocument();
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFrameElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFrameElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFrameElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLFrameElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx">     // Extensions
</span><span class="cx">     readonly attribute DOMWindow contentWindow;
</span><span class="cx"> 
</span><del>-    [CheckSecurityForNode, RaisesException] SVGDocument getSVGDocument();
</del><ins>+    [CheckSecurityForNode, MayThrowLegacyException] SVGDocument getSVGDocument();
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: No other browser has this attribute.
</span><span class="cx">     [CustomSetter] attribute DOMString location;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLIFrameElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLIFrameElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLIFrameElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLIFrameElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -41,6 +41,6 @@
</span><span class="cx">     // Extensions
</span><span class="cx">     readonly attribute DOMWindow contentWindow;
</span><span class="cx"> 
</span><del>-    [CheckSecurityForNode, RaisesException] SVGDocument getSVGDocument();
</del><ins>+    [CheckSecurityForNode, MayThrowLegacyException] SVGDocument getSVGDocument();
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLInputElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLInputElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLInputElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLInputElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -44,8 +44,8 @@
</span><span class="cx">     attribute boolean indeterminate;
</span><span class="cx">     [Conditional=DATALIST_ELEMENT] readonly attribute HTMLElement list;
</span><span class="cx">     [Reflect] attribute DOMString max;
</span><del>-    [SetterRaisesException] attribute long minLength;
-    [SetterRaisesException] attribute long maxLength;
</del><ins>+    [SetterMayThrowLegacyException] attribute long minLength;
+    [SetterMayThrowLegacyException] attribute long maxLength;
</ins><span class="cx">     [Reflect] attribute DOMString min;
</span><span class="cx">     [Reflect] attribute boolean multiple;
</span><span class="cx">     [Reflect] attribute DOMString name;
</span><span class="lines">@@ -53,18 +53,18 @@
</span><span class="cx">     [Reflect] attribute DOMString placeholder;
</span><span class="cx">     [Reflect] attribute boolean readOnly;
</span><span class="cx">     [Reflect] attribute boolean required;
</span><del>-    [SetterRaisesException] attribute unsigned long size; // Changed string -&gt; long -&gt; unsigned long
</del><ins>+    [SetterMayThrowLegacyException] attribute unsigned long size; // Changed string -&gt; long -&gt; unsigned long
</ins><span class="cx">     [Reflect, URL] attribute USVString src;
</span><span class="cx">     [Reflect] attribute DOMString step;
</span><span class="cx">     attribute DOMString type; // readonly dropped as part of DOM level 2
</span><span class="cx">     attribute DOMString defaultValue;
</span><span class="cx">     // See the discussion in https://bugs.webkit.org/show_bug.cgi?id=100085
</span><del>-    [TreatNullAs=EmptyString, SetterRaisesException] attribute DOMString value;
-    [SetterRaisesException] attribute Date? valueAsDate;
-    [SetterRaisesException] attribute unrestricted double valueAsNumber;
</del><ins>+    [TreatNullAs=EmptyString, SetterMayThrowLegacyException] attribute DOMString value;
+    [SetterMayThrowLegacyException] attribute Date? valueAsDate;
+    [SetterMayThrowLegacyException] attribute unrestricted double valueAsNumber;
</ins><span class="cx"> 
</span><del>-    [RaisesException] void stepUp(optional long n = 1);
-    [RaisesException] void stepDown(optional long n = 1);
</del><ins>+    [MayThrowLegacyException] void stepUp(optional long n = 1);
+    [MayThrowLegacyException] void stepDown(optional long n = 1);
</ins><span class="cx"> 
</span><span class="cx">     attribute unsigned long width;
</span><span class="cx">     readonly attribute boolean willValidate;
</span><span class="lines">@@ -80,8 +80,8 @@
</span><span class="cx">     [Custom] attribute long selectionEnd;
</span><span class="cx">     [Custom] attribute DOMString selectionDirection;
</span><span class="cx"> 
</span><del>-    [RaisesException] void setRangeText(DOMString replacement);
-    [RaisesException] void setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional DOMString selectionMode);
</del><ins>+    [MayThrowLegacyException] void setRangeText(DOMString replacement);
+    [MayThrowLegacyException] void setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional DOMString selectionMode);
</ins><span class="cx"> 
</span><span class="cx">     [Custom] void setSelectionRange(long start, long end, optional DOMString direction);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMarqueeElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMarqueeElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMarqueeElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLMarqueeElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx">     [Reflect] attribute DOMString direction;
</span><span class="cx">     [Reflect] attribute DOMString height;
</span><span class="cx">     [Reflect] attribute unsigned long hspace;
</span><del>-    [SetterRaisesException] attribute long loop;
</del><ins>+    [SetterMayThrowLegacyException] attribute long loop;
</ins><span class="cx">     attribute unsigned long scrollAmount;
</span><span class="cx">     attribute unsigned long scrollDelay;
</span><span class="cx">     [Reflect] attribute boolean trueSpeed;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLMediaElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx">     readonly attribute boolean seeking;
</span><span class="cx"> 
</span><span class="cx">     // playback state
</span><del>-    [SetterRaisesException] attribute unrestricted double currentTime;
</del><ins>+    [SetterMayThrowLegacyException] attribute unrestricted double currentTime;
</ins><span class="cx">     readonly attribute unrestricted double duration;
</span><span class="cx">     Date getStartDate();
</span><span class="cx">     readonly attribute boolean paused;
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx"> 
</span><span class="cx">     // controls
</span><span class="cx">     attribute boolean controls;
</span><del>-    [SetterRaisesException] attribute unrestricted double volume;
</del><ins>+    [SetterMayThrowLegacyException] attribute unrestricted double volume;
</ins><span class="cx">     attribute boolean muted;
</span><span class="cx">     [Reflect=muted] attribute boolean defaultMuted;
</span><span class="cx"> 
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx">     [Conditional=ENCRYPTED_MEDIA_V2, ImplementedAs=keys] readonly attribute MediaKeys webkitKeys;
</span><span class="cx">     [Conditional=ENCRYPTED_MEDIA_V2, ImplementedAs=setMediaKeys] void webkitSetMediaKeys(MediaKeys? mediaKeys);
</span><span class="cx"> 
</span><del>-    [Conditional=VIDEO_TRACK, RaisesException] TextTrack addTextTrack(DOMString kind, optional DOMString label = &quot;&quot;, optional DOMString language = &quot;&quot;);
</del><ins>+    [Conditional=VIDEO_TRACK, MayThrowLegacyException] TextTrack addTextTrack(DOMString kind, optional DOMString label = &quot;&quot;, optional DOMString language = &quot;&quot;);
</ins><span class="cx">     [Conditional=VIDEO_TRACK] readonly attribute AudioTrackList audioTracks;
</span><span class="cx">     [Conditional=VIDEO_TRACK] readonly attribute TextTrackList textTracks;
</span><span class="cx">     [Conditional=VIDEO_TRACK] readonly attribute VideoTrackList videoTracks;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLObjectElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLObjectElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLObjectElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLObjectElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -49,6 +49,6 @@
</span><span class="cx">     // Introduced in DOM Level 2:
</span><span class="cx">     [CheckSecurityForNode] readonly attribute Document contentDocument;
</span><span class="cx"> 
</span><del>-    [CheckSecurityForNode, RaisesException] SVGDocument getSVGDocument();
</del><ins>+    [CheckSecurityForNode, MayThrowLegacyException] SVGDocument getSVGDocument();
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLOptionElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLOptionElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLOptionElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLOptionElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -19,7 +19,7 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> [
</span><del>-    ConstructorRaisesException,
</del><ins>+    ConstructorMayThrowLegacyException,
</ins><span class="cx">     JSGenerateToNativeObject,
</span><span class="cx">     NamedConstructor=Option(optional DOMString data, optional DOMString value, optional boolean defaultSelected = false, optional boolean selected = false),
</span><span class="cx"> ] interface HTMLOptionElement : HTMLElement {
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLOptionsCollectionidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLOptionsCollection.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLOptionsCollection.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLOptionsCollection.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx">     JSGenerateToNativeObject,
</span><span class="cx"> ] interface HTMLOptionsCollection : HTMLCollection {
</span><span class="cx">     attribute long selectedIndex;
</span><del>-    [CustomSetter, SetterRaisesException] attribute unsigned long length;
</del><ins>+    [CustomSetter, SetterMayThrowLegacyException] attribute unsigned long length;
</ins><span class="cx"> 
</span><span class="cx">     getter HTMLOptionElement? item(unsigned long index);
</span><span class="cx">     getter HTMLOptionElement? namedItem(DOMString name);
</span><span class="lines">@@ -32,8 +32,8 @@
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Should be:
</span><span class="cx">     // void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
</span><del>-    [RaisesException] void add(HTMLElement element, optional HTMLElement? before = null);
-    [RaisesException] void add(HTMLElement element, long index);
</del><ins>+    [MayThrowLegacyException] void add(HTMLElement element, optional HTMLElement? before = null);
+    [MayThrowLegacyException] void add(HTMLElement element, long index);
</ins><span class="cx"> 
</span><span class="cx">     void remove(long index);
</span><span class="cx">     // FIXME: This overload is not in the specification and has been dropped in Blink.
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLProgressElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLProgressElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLProgressElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLProgressElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -18,8 +18,8 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface HTMLProgressElement : HTMLElement {
</span><del>-    [SetterRaisesException] attribute  unrestricted double value;
-    [SetterRaisesException] attribute  unrestricted double max;
</del><ins>+    [SetterMayThrowLegacyException] attribute  unrestricted double value;
+    [SetterMayThrowLegacyException] attribute  unrestricted double max;
</ins><span class="cx">     readonly attribute  unrestricted double                position;
</span><span class="cx">     readonly attribute  NodeList              labels;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLSelectElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLSelectElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLSelectElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLSelectElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -35,17 +35,17 @@
</span><span class="cx">     readonly attribute DOMString type;
</span><span class="cx"> 
</span><span class="cx">     readonly attribute HTMLOptionsCollection options;
</span><del>-    [SetterRaisesException] attribute unsigned long length;
</del><ins>+    [SetterMayThrowLegacyException] attribute unsigned long length;
</ins><span class="cx"> 
</span><span class="cx">     getter HTMLOptionElement? item(unsigned long index);
</span><span class="cx">     HTMLOptionElement? namedItem(DOMString name);
</span><span class="cx"> 
</span><del>-    [RaisesException] void add(HTMLElement element, optional HTMLElement? before = null);
</del><ins>+    [MayThrowLegacyException] void add(HTMLElement element, optional HTMLElement? before = null);
</ins><span class="cx">     // FIXME: Should be:
</span><span class="cx">     // void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
</span><del>-    [RaisesException] void add(HTMLElement element, long index);
</del><ins>+    [MayThrowLegacyException] void add(HTMLElement element, long index);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void remove(); // ChildNode overload
</del><ins>+    [MayThrowLegacyException] void remove(); // ChildNode overload
</ins><span class="cx">     // FIXME: This overload is not in the specification and was dropped in Blink.
</span><span class="cx">     void remove(HTMLOptionElement option);
</span><span class="cx">     [ImplementedAs=removeByIndex] void remove(long index);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTableElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLTableElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -19,9 +19,9 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> interface HTMLTableElement : HTMLElement {
</span><del>-    [SetterRaisesException] attribute HTMLTableCaptionElement? caption;
-    [SetterRaisesException] attribute HTMLTableSectionElement? tHead;
-    [SetterRaisesException] attribute HTMLTableSectionElement? tFoot;
</del><ins>+    [SetterMayThrowLegacyException] attribute HTMLTableCaptionElement? caption;
+    [SetterMayThrowLegacyException] attribute HTMLTableSectionElement? tHead;
+    [SetterMayThrowLegacyException] attribute HTMLTableSectionElement? tFoot;
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute HTMLCollection rows;
</span><span class="cx">     readonly attribute HTMLCollection tBodies;
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx">     HTMLElement createCaption();
</span><span class="cx">     void deleteCaption();
</span><span class="cx"> 
</span><del>-    [RaisesException] HTMLElement insertRow(optional long index = -1);
-    [RaisesException] void deleteRow(long index);
</del><ins>+    [MayThrowLegacyException] HTMLElement insertRow(optional long index = -1);
+    [MayThrowLegacyException] void deleteRow(long index);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableRowElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTableRowElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableRowElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLTableRowElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx">     [Reflect=char] attribute DOMString ch;
</span><span class="cx">     [Reflect=charoff] attribute DOMString chOff;
</span><span class="cx">     [Reflect] attribute DOMString vAlign;
</span><del>-    [RaisesException] HTMLElement insertCell(optional long index = -1);
-    [RaisesException] void deleteCell(long index);
</del><ins>+    [MayThrowLegacyException] HTMLElement insertCell(optional long index = -1);
+    [MayThrowLegacyException] void deleteCell(long index);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableSectionElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTableSectionElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableSectionElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLTableSectionElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx">     [Reflect=charoff] attribute DOMString chOff;
</span><span class="cx">     [Reflect] attribute DOMString vAlign;
</span><span class="cx">     readonly attribute HTMLCollection rows;
</span><del>-    [RaisesException] HTMLElement insertRow(optional long index = -1);
-    [RaisesException] void deleteRow(long index);
</del><ins>+    [MayThrowLegacyException] HTMLElement insertRow(optional long index = -1);
+    [MayThrowLegacyException] void deleteRow(long index);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTextAreaElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTextAreaElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTextAreaElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLTextAreaElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -24,8 +24,8 @@
</span><span class="cx">     [Reflect] attribute DOMString dirName;
</span><span class="cx">     [Reflect] attribute boolean disabled;
</span><span class="cx">     readonly attribute HTMLFormElement form;
</span><del>-    [SetterRaisesException] attribute long minLength;
-    [SetterRaisesException] attribute long maxLength;
</del><ins>+    [SetterMayThrowLegacyException] attribute long minLength;
+    [SetterMayThrowLegacyException] attribute long maxLength;
</ins><span class="cx">     [Reflect] attribute DOMString name;
</span><span class="cx">     [Reflect] attribute DOMString placeholder;
</span><span class="cx">     [Reflect] attribute boolean readOnly;
</span><span class="lines">@@ -52,8 +52,8 @@
</span><span class="cx">     attribute long selectionEnd;
</span><span class="cx">     attribute DOMString selectionDirection;
</span><span class="cx"> 
</span><del>-    [RaisesException] void setRangeText(DOMString replacement);
-    [RaisesException] void setRangeText(DOMString replacement,
</del><ins>+    [MayThrowLegacyException] void setRangeText(DOMString replacement);
+    [MayThrowLegacyException] void setRangeText(DOMString replacement,
</ins><span class="cx">                         unsigned long start,
</span><span class="cx">                         unsigned long end,
</span><span class="cx">                         optional DOMString selectionMode);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLVideoElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLVideoElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLVideoElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/HTMLVideoElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -37,11 +37,11 @@
</span><span class="cx">     readonly attribute boolean webkitSupportsFullscreen;
</span><span class="cx">     readonly attribute boolean webkitDisplayingFullscreen;
</span><span class="cx"> 
</span><del>-    [RaisesException] void webkitEnterFullscreen();
</del><ins>+    [MayThrowLegacyException] void webkitEnterFullscreen();
</ins><span class="cx">     void webkitExitFullscreen();
</span><span class="cx"> 
</span><span class="cx">     // Note the different capitalization of the &quot;S&quot; in FullScreen.
</span><del>-    [RaisesException] void webkitEnterFullScreen();
</del><ins>+    [MayThrowLegacyException] void webkitEnterFullScreen();
</ins><span class="cx">     void webkitExitFullScreen();
</span><span class="cx"> 
</span><span class="cx">     [Conditional=WIRELESS_PLAYBACK_TARGET] attribute boolean webkitWirelessVideoPlaybackDisabled;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlImageDataidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/ImageData.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/ImageData.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/ImageData.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> [
</span><span class="cx">     Constructor(Uint8ClampedArray data, unsigned long sw, optional unsigned long sh = 0),
</span><span class="cx">     Constructor(unsigned long sw, unsigned long sh),
</span><del>-    ConstructorRaisesException,
</del><ins>+    ConstructorMayThrowLegacyException,
</ins><span class="cx">     CustomToJSObject,
</span><span class="cx">     Exposed=(Window,Worker),
</span><span class="cx">     ImplementationLacksVTable,
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlMediaControlleridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/MediaController.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/MediaController.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/MediaController.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -44,6 +44,6 @@
</span><span class="cx">     attribute unrestricted double defaultPlaybackRate;
</span><span class="cx">     attribute unrestricted double playbackRate;
</span><span class="cx"> 
</span><del>-    [SetterRaisesException] attribute unrestricted double volume;
</del><ins>+    [SetterMayThrowLegacyException] attribute unrestricted double volume;
</ins><span class="cx">     attribute boolean muted;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlTimeRangesidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/TimeRanges.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/TimeRanges.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/TimeRanges.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx">     ExportMacro=WEBCORE_EXPORT,
</span><span class="cx"> ] interface TimeRanges {
</span><span class="cx">     readonly attribute unsigned long length;
</span><del>-    [RaisesException] unrestricted double start(unsigned long index);
-    [RaisesException] unrestricted double end(unsigned long index);
</del><ins>+    [MayThrowLegacyException] unrestricted double start(unsigned long index);
+    [MayThrowLegacyException] unrestricted double end(unsigned long index);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlURLUtilsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/URLUtils.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/URLUtils.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/URLUtils.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -24,7 +24,7 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> [NoInterfaceObject] interface URLUtils {
</span><del>-    [SetterRaisesException, URL] attribute USVString href;
</del><ins>+    [SetterMayThrowLegacyException, URL] attribute USVString href;
</ins><span class="cx"> 
</span><span class="cx">     [NotEnumerable] DOMString toString();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasCanvasGradientidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/CanvasGradient.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/CanvasGradient.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/canvas/CanvasGradient.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -25,6 +25,6 @@
</span><span class="cx"> [
</span><span class="cx">     ImplementationLacksVTable,
</span><span class="cx"> ] interface CanvasGradient {
</span><del>-    [RaisesException] void addColorStop(float offset, DOMString color);
</del><ins>+    [MayThrowLegacyException] void addColorStop(float offset, DOMString color);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasCanvasPathidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/CanvasPath.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/CanvasPath.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/canvas/CanvasPath.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -33,9 +33,9 @@
</span><span class="cx">     void lineTo(unrestricted double x, unrestricted double y);
</span><span class="cx">     void quadraticCurveTo(unrestricted double cpx, unrestricted double cpy, unrestricted double x, unrestricted double y);
</span><span class="cx">     void bezierCurveTo(unrestricted double cp1x, unrestricted double cp1y, unrestricted double cp2x, unrestricted double cp2y, unrestricted double x, unrestricted double y);
</span><del>-    [RaisesException] void arcTo(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radius);
-    // [RaisesException] void arcTo(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation);
</del><ins>+    [MayThrowLegacyException] void arcTo(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radius);
+    // [MayThrowLegacyException] void arcTo(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation);
</ins><span class="cx">     void rect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
</span><del>-    [RaisesException] void arc(unrestricted double x, unrestricted double y, unrestricted double radius, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false);
-    [RaisesException] void ellipse(unrestricted double x, unrestricted double y, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false);
</del><ins>+    [MayThrowLegacyException] void arc(unrestricted double x, unrestricted double y, unrestricted double radius, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false);
+    [MayThrowLegacyException] void ellipse(unrestricted double x, unrestricted double y, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Didl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -53,8 +53,8 @@
</span><span class="cx"> 
</span><span class="cx">     attribute DOMString globalCompositeOperation;
</span><span class="cx"> 
</span><del>-    [RaisesException] CanvasGradient createLinearGradient(float x0, float y0, float x1, float y1);
-    [RaisesException] CanvasGradient createRadialGradient(float x0, float y0, float r0, float x1, float y1, float r1);
</del><ins>+    [MayThrowLegacyException] CanvasGradient createLinearGradient(float x0, float y0, float x1, float y1);
+    [MayThrowLegacyException] CanvasGradient createRadialGradient(float x0, float y0, float r0, float x1, float y1, float r1);
</ins><span class="cx"> 
</span><span class="cx">     attribute unrestricted float lineWidth;
</span><span class="cx">     attribute DOMString lineCap;
</span><span class="lines">@@ -132,20 +132,20 @@
</span><span class="cx"> 
</span><span class="cx">     void strokeRect(unrestricted float x, unrestricted float y, unrestricted float width, unrestricted float height);
</span><span class="cx"> 
</span><del>-    [RaisesException] void drawImage(HTMLImageElement image, unrestricted float x, unrestricted float y);
-    [RaisesException] void drawImage(HTMLImageElement image, unrestricted float x, unrestricted float y,
</del><ins>+    [MayThrowLegacyException] void drawImage(HTMLImageElement image, unrestricted float x, unrestricted float y);
+    [MayThrowLegacyException] void drawImage(HTMLImageElement image, unrestricted float x, unrestricted float y,
</ins><span class="cx">         unrestricted float width, unrestricted float height);
</span><del>-    [RaisesException] void drawImage(HTMLImageElement image, unrestricted float sx, unrestricted float sy, unrestricted float sw,
</del><ins>+    [MayThrowLegacyException] void drawImage(HTMLImageElement image, unrestricted float sx, unrestricted float sy, unrestricted float sw,
</ins><span class="cx">         unrestricted float sh, unrestricted float dx, unrestricted float dy, unrestricted float dw, unrestricted float dh);
</span><del>-    [RaisesException] void drawImage(HTMLCanvasElement canvas, unrestricted float x, unrestricted float y);
-    [RaisesException] void drawImage(HTMLCanvasElement canvas, unrestricted float x, unrestricted float y,
</del><ins>+    [MayThrowLegacyException] void drawImage(HTMLCanvasElement canvas, unrestricted float x, unrestricted float y);
+    [MayThrowLegacyException] void drawImage(HTMLCanvasElement canvas, unrestricted float x, unrestricted float y,
</ins><span class="cx">         unrestricted float width, unrestricted float height);
</span><del>-    [RaisesException] void drawImage(HTMLCanvasElement canvas, unrestricted float sx, unrestricted float sy, unrestricted float sw,
</del><ins>+    [MayThrowLegacyException] void drawImage(HTMLCanvasElement canvas, unrestricted float sx, unrestricted float sy, unrestricted float sw,
</ins><span class="cx">         unrestricted float sh, unrestricted float dx, unrestricted float dy, unrestricted float dw, unrestricted float dh);
</span><del>-    [Conditional=VIDEO, RaisesException] void drawImage(HTMLVideoElement video, unrestricted float x, unrestricted float y);
-    [Conditional=VIDEO, RaisesException] void drawImage(HTMLVideoElement video, unrestricted float x, unrestricted float y,
</del><ins>+    [Conditional=VIDEO, MayThrowLegacyException] void drawImage(HTMLVideoElement video, unrestricted float x, unrestricted float y);
+    [Conditional=VIDEO, MayThrowLegacyException] void drawImage(HTMLVideoElement video, unrestricted float x, unrestricted float y,
</ins><span class="cx">         unrestricted float width, unrestricted float height);
</span><del>-    [Conditional=VIDEO, RaisesException] void drawImage(HTMLVideoElement video, unrestricted float sx, unrestricted float sy, unrestricted float sw,
</del><ins>+    [Conditional=VIDEO, MayThrowLegacyException] void drawImage(HTMLVideoElement video, unrestricted float sx, unrestricted float sy, unrestricted float sw,
</ins><span class="cx">         unrestricted float sh, unrestricted float dx, unrestricted float dy, unrestricted float dw, unrestricted float dh);
</span><span class="cx"> 
</span><span class="cx">     void drawImageFromRect(HTMLImageElement image,
</span><span class="lines">@@ -162,25 +162,25 @@
</span><span class="cx">     void setShadow(float width, unrestricted float height, unrestricted float blur, unrestricted float c, unrestricted float m, 
</span><span class="cx">         unrestricted float y, unrestricted float k, unrestricted float a);
</span><span class="cx"> 
</span><del>-    [RaisesException] void putImageData(ImageData imagedata, float dx, float dy);
-    [RaisesException] void putImageData(ImageData imagedata, float dx, float dy, float dirtyX, float dirtyY, float dirtyWidth, float dirtyHeight);
</del><ins>+    [MayThrowLegacyException] void putImageData(ImageData imagedata, float dx, float dy);
+    [MayThrowLegacyException] void putImageData(ImageData imagedata, float dx, float dy, float dirtyX, float dirtyY, float dirtyWidth, float dirtyHeight);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void webkitPutImageDataHD(ImageData imagedata, float dx, float dy);
-    [RaisesException] void webkitPutImageDataHD(ImageData imagedata, float dx, float dy, float dirtyX, float dirtyY, float dirtyWidth, float dirtyHeight);
</del><ins>+    [MayThrowLegacyException] void webkitPutImageDataHD(ImageData imagedata, float dx, float dy);
+    [MayThrowLegacyException] void webkitPutImageDataHD(ImageData imagedata, float dx, float dy, float dirtyX, float dirtyY, float dirtyWidth, float dirtyHeight);
</ins><span class="cx"> 
</span><del>-    [RaisesException] CanvasPattern createPattern(HTMLCanvasElement canvas, [TreatNullAs=EmptyString] DOMString repetitionType);
-    [RaisesException] CanvasPattern createPattern(HTMLImageElement image, [TreatNullAs=EmptyString] DOMString repetitionType);
-    [Conditional=VIDEO, RaisesException] CanvasPattern? createPattern(HTMLVideoElement video, [TreatNullAs=EmptyString] DOMString repetitionType);
-    [RaisesException] ImageData createImageData(ImageData? imagedata);
-    [RaisesException] ImageData createImageData(float sw, float sh);
</del><ins>+    [MayThrowLegacyException] CanvasPattern createPattern(HTMLCanvasElement canvas, [TreatNullAs=EmptyString] DOMString repetitionType);
+    [MayThrowLegacyException] CanvasPattern createPattern(HTMLImageElement image, [TreatNullAs=EmptyString] DOMString repetitionType);
+    [Conditional=VIDEO, MayThrowLegacyException] CanvasPattern? createPattern(HTMLVideoElement video, [TreatNullAs=EmptyString] DOMString repetitionType);
+    [MayThrowLegacyException] ImageData createImageData(ImageData? imagedata);
+    [MayThrowLegacyException] ImageData createImageData(float sw, float sh);
</ins><span class="cx"> 
</span><span class="cx">     [Custom] attribute custom strokeStyle;
</span><span class="cx">     [Custom] attribute custom fillStyle;
</span><span class="cx"> 
</span><span class="cx">     // pixel manipulation
</span><del>-    [RaisesException] ImageData getImageData(float sx, float sy, float sw, float sh);
</del><ins>+    [MayThrowLegacyException] ImageData getImageData(float sx, float sy, float sw, float sh);
</ins><span class="cx"> 
</span><del>-    [RaisesException] ImageData webkitGetImageDataHD(float sx, float sy, float sw, float sh);
</del><ins>+    [MayThrowLegacyException] ImageData webkitGetImageDataHD(float sx, float sy, float sw, float sh);
</ins><span class="cx">     
</span><span class="cx">     // Focus rings
</span><span class="cx">     void drawFocusIfNeeded(Element? element); // FIXME: The element parameter should not be nullable.
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasOESVertexArrayObjectidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/OESVertexArrayObject.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/OESVertexArrayObject.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/canvas/OESVertexArrayObject.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -34,5 +34,5 @@
</span><span class="cx">     WebGLVertexArrayObjectOES createVertexArrayOES();
</span><span class="cx">     void deleteVertexArrayOES(optional WebGLVertexArrayObjectOES? arrayObject = null);
</span><span class="cx">     boolean isVertexArrayOES(optional WebGLVertexArrayObjectOES? arrayObject = null);
</span><del>-    [RaisesException] void bindVertexArrayOES(optional WebGLVertexArrayObjectOES? arrayObject = null);
</del><ins>+    [MayThrowLegacyException] void bindVertexArrayOES(optional WebGLVertexArrayObjectOES? arrayObject = null);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLRenderingContextBaseidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -472,23 +472,23 @@
</span><span class="cx">     readonly attribute GLsizei drawingBufferWidth;
</span><span class="cx">     readonly attribute GLsizei drawingBufferHeight;
</span><span class="cx"> 
</span><del>-    [RaisesException] void activeTexture(GLenum texture);
-    [RaisesException] void attachShader(WebGLProgram? program, WebGLShader? shader);
-    [RaisesException] void bindAttribLocation(WebGLProgram? program, GLuint index, DOMString name);
-    [RaisesException] void bindBuffer(GLenum target, WebGLBuffer? buffer);
-    [RaisesException] void bindFramebuffer(GLenum target, WebGLFramebuffer? framebuffer);
-    [RaisesException] void bindRenderbuffer(GLenum target, WebGLRenderbuffer? renderbuffer);
-    [RaisesException] void bindTexture(GLenum target, WebGLTexture? texture);
</del><ins>+    [MayThrowLegacyException] void activeTexture(GLenum texture);
+    [MayThrowLegacyException] void attachShader(WebGLProgram? program, WebGLShader? shader);
+    [MayThrowLegacyException] void bindAttribLocation(WebGLProgram? program, GLuint index, DOMString name);
+    [MayThrowLegacyException] void bindBuffer(GLenum target, WebGLBuffer? buffer);
+    [MayThrowLegacyException] void bindFramebuffer(GLenum target, WebGLFramebuffer? framebuffer);
+    [MayThrowLegacyException] void bindRenderbuffer(GLenum target, WebGLRenderbuffer? renderbuffer);
+    [MayThrowLegacyException] void bindTexture(GLenum target, WebGLTexture? texture);
</ins><span class="cx">     void blendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
</span><span class="cx">     void blendEquation(GLenum mode);
</span><span class="cx">     void blendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
</span><span class="cx">     void blendFunc(GLenum sfactor, GLenum dfactor);
</span><span class="cx">     void blendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
</span><del>-    [RaisesException] void bufferData(GLenum target, ArrayBuffer data, GLenum usage);
-    [RaisesException] void bufferData(GLenum target, ArrayBufferView data, GLenum usage);
-    [RaisesException] void bufferData(GLenum target, GLsizeiptr size, GLenum usage);
-    [RaisesException] void bufferSubData(GLenum target, GLintptr offset, ArrayBuffer? data);
-    [RaisesException] void bufferSubData(GLenum target, GLintptr offset, ArrayBufferView? data);
</del><ins>+    [MayThrowLegacyException] void bufferData(GLenum target, ArrayBuffer data, GLenum usage);
+    [MayThrowLegacyException] void bufferData(GLenum target, ArrayBufferView data, GLenum usage);
+    [MayThrowLegacyException] void bufferData(GLenum target, GLsizeiptr size, GLenum usage);
+    [MayThrowLegacyException] void bufferSubData(GLenum target, GLintptr offset, ArrayBuffer? data);
+    [MayThrowLegacyException] void bufferSubData(GLenum target, GLintptr offset, ArrayBufferView? data);
</ins><span class="cx"> 
</span><span class="cx">     GLenum checkFramebufferStatus(GLenum target);
</span><span class="cx">     void clear(GLbitfield mask);
</span><span class="lines">@@ -496,7 +496,7 @@
</span><span class="cx">     void clearDepth(GLclampf depth);
</span><span class="cx">     void clearStencil(GLint s);
</span><span class="cx">     void colorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
</span><del>-    [RaisesException] void compileShader(WebGLShader? shader);
</del><ins>+    [MayThrowLegacyException] void compileShader(WebGLShader? shader);
</ins><span class="cx"> 
</span><span class="cx">     void compressedTexImage2D(GLenum target, GLint level, GLenum internalformat,
</span><span class="cx">     GLsizei width, GLsizei height, GLint border, ArrayBufferView data);
</span><span class="lines">@@ -510,7 +510,7 @@
</span><span class="cx">     WebGLFramebuffer createFramebuffer();
</span><span class="cx">     WebGLProgram createProgram();
</span><span class="cx">     WebGLRenderbuffer createRenderbuffer();
</span><del>-    [RaisesException] WebGLShader createShader(GLenum type);
</del><ins>+    [MayThrowLegacyException] WebGLShader createShader(GLenum type);
</ins><span class="cx">     WebGLTexture createTexture();
</span><span class="cx"> 
</span><span class="cx">     void cullFace(GLenum mode);
</span><span class="lines">@@ -525,25 +525,25 @@
</span><span class="cx">     void depthFunc(GLenum func);
</span><span class="cx">     void depthMask(GLboolean flag);
</span><span class="cx">     void depthRange(GLclampf zNear, GLclampf zFar);
</span><del>-    [RaisesException] void detachShader(WebGLProgram? program, WebGLShader? shader);
</del><ins>+    [MayThrowLegacyException] void detachShader(WebGLProgram? program, WebGLShader? shader);
</ins><span class="cx">     void disable(GLenum cap);
</span><del>-    [RaisesException] void disableVertexAttribArray(GLuint index);
-    [RaisesException] void drawArrays(GLenum mode, GLint first, GLsizei count);
-    [RaisesException] void drawElements(GLenum mode, GLsizei count, GLenum type, GLintptr offset);
</del><ins>+    [MayThrowLegacyException] void disableVertexAttribArray(GLuint index);
+    [MayThrowLegacyException] void drawArrays(GLenum mode, GLint first, GLsizei count);
+    [MayThrowLegacyException] void drawElements(GLenum mode, GLsizei count, GLenum type, GLintptr offset);
</ins><span class="cx"> 
</span><span class="cx">     void enable(GLenum cap);
</span><del>-    [RaisesException] void enableVertexAttribArray(GLuint index);
</del><ins>+    [MayThrowLegacyException] void enableVertexAttribArray(GLuint index);
</ins><span class="cx">     void finish();
</span><span class="cx">     void flush();
</span><del>-    [RaisesException] void framebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, WebGLRenderbuffer? renderbuffer);
-    [RaisesException] void framebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, WebGLTexture? texture, GLint level);
</del><ins>+    [MayThrowLegacyException] void framebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, WebGLRenderbuffer? renderbuffer);
+    [MayThrowLegacyException] void framebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, WebGLTexture? texture, GLint level);
</ins><span class="cx">     void frontFace(GLenum mode);
</span><span class="cx">     void generateMipmap(GLenum target);
</span><span class="cx">     
</span><del>-    [RaisesException] WebGLActiveInfo getActiveAttrib(WebGLProgram? program, GLuint index);
-    [RaisesException] WebGLActiveInfo getActiveUniform(WebGLProgram? program, GLuint index);
</del><ins>+    [MayThrowLegacyException] WebGLActiveInfo getActiveAttrib(WebGLProgram? program, GLuint index);
+    [MayThrowLegacyException] WebGLActiveInfo getActiveUniform(WebGLProgram? program, GLuint index);
</ins><span class="cx"> 
</span><del>-    [Custom, RaisesException] void getAttachedShaders(WebGLProgram? program);
</del><ins>+    [Custom, MayThrowLegacyException] void getAttachedShaders(WebGLProgram? program);
</ins><span class="cx"> 
</span><span class="cx">     GLint getAttribLocation(WebGLProgram? program, DOMString name);
</span><span class="cx"> 
</span><span class="lines">@@ -556,28 +556,28 @@
</span><span class="cx">     // object getExtension(DOMString name);
</span><span class="cx">     [Custom] any getExtension(DOMString name);
</span><span class="cx"> 
</span><del>-    [Custom, RaisesException] any getFramebufferAttachmentParameter(GLenum target, GLenum attachment, GLenum pname);
-    [Custom, RaisesException] any getParameter(GLenum pname);
-    [Custom, RaisesException] any getProgramParameter(WebGLProgram? program, GLenum pname);
-    [RaisesException] DOMString? getProgramInfoLog(WebGLProgram? program);
-    [Custom, RaisesException] any getRenderbufferParameter(GLenum target, GLenum pname);
-    [Custom, RaisesException] any getShaderParameter(WebGLShader? shader, GLenum pname);
</del><ins>+    [Custom, MayThrowLegacyException] any getFramebufferAttachmentParameter(GLenum target, GLenum attachment, GLenum pname);
+    [Custom, MayThrowLegacyException] any getParameter(GLenum pname);
+    [Custom, MayThrowLegacyException] any getProgramParameter(WebGLProgram? program, GLenum pname);
+    [MayThrowLegacyException] DOMString? getProgramInfoLog(WebGLProgram? program);
+    [Custom, MayThrowLegacyException] any getRenderbufferParameter(GLenum target, GLenum pname);
+    [Custom, MayThrowLegacyException] any getShaderParameter(WebGLShader? shader, GLenum pname);
</ins><span class="cx"> 
</span><del>-    [RaisesException] DOMString? getShaderInfoLog(WebGLShader? shader);
</del><ins>+    [MayThrowLegacyException] DOMString? getShaderInfoLog(WebGLShader? shader);
</ins><span class="cx"> 
</span><del>-    [RaisesException] WebGLShaderPrecisionFormat getShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype);
</del><ins>+    [MayThrowLegacyException] WebGLShaderPrecisionFormat getShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype);
</ins><span class="cx"> 
</span><del>-    [RaisesException] DOMString? getShaderSource(WebGLShader? shader);
</del><ins>+    [MayThrowLegacyException] DOMString? getShaderSource(WebGLShader? shader);
</ins><span class="cx"> 
</span><span class="cx">     [Custom] sequence&lt;DOMString&gt; getSupportedExtensions();
</span><span class="cx"> 
</span><del>-    [Custom, RaisesException] any getTexParameter(GLenum target, GLenum pname);
</del><ins>+    [Custom, MayThrowLegacyException] any getTexParameter(GLenum target, GLenum pname);
</ins><span class="cx"> 
</span><del>-    [Custom, RaisesException] any getUniform(WebGLProgram? program, WebGLUniformLocation? location);
</del><ins>+    [Custom, MayThrowLegacyException] any getUniform(WebGLProgram? program, WebGLUniformLocation? location);
</ins><span class="cx"> 
</span><del>-    [RaisesException] WebGLUniformLocation getUniformLocation(WebGLProgram? program, DOMString name);
</del><ins>+    [MayThrowLegacyException] WebGLUniformLocation getUniformLocation(WebGLProgram? program, DOMString name);
</ins><span class="cx"> 
</span><del>-    [Custom, RaisesException] any getVertexAttrib(GLuint index, GLenum pname);
</del><ins>+    [Custom, MayThrowLegacyException] any getVertexAttrib(GLuint index, GLenum pname);
</ins><span class="cx"> 
</span><span class="cx">     GLsizeiptr getVertexAttribOffset(GLuint index, GLenum pname);
</span><span class="cx"> 
</span><span class="lines">@@ -591,17 +591,17 @@
</span><span class="cx">     GLboolean isShader(WebGLShader? shader);
</span><span class="cx">     GLboolean isTexture(WebGLTexture? texture);
</span><span class="cx">     void lineWidth(GLfloat width);
</span><del>-    [RaisesException] void linkProgram(WebGLProgram? program);
</del><ins>+    [MayThrowLegacyException] void linkProgram(WebGLProgram? program);
</ins><span class="cx">     void pixelStorei(GLenum pname, GLint param);
</span><span class="cx">     void polygonOffset(GLfloat factor, GLfloat units);
</span><span class="cx"> 
</span><del>-    [RaisesException] void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, ArrayBufferView pixels);
</del><ins>+    [MayThrowLegacyException] void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, ArrayBufferView pixels);
</ins><span class="cx">     
</span><span class="cx">     void releaseShaderCompiler();
</span><span class="cx">     void renderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
</span><span class="cx">     void sampleCoverage(GLclampf value, GLboolean invert);
</span><span class="cx">     void scissor(GLint x, GLint y, GLsizei width, GLsizei height);
</span><del>-    [RaisesException] void shaderSource(WebGLShader? shader, DOMString string);
</del><ins>+    [MayThrowLegacyException] void shaderSource(WebGLShader? shader, DOMString string);
</ins><span class="cx">     void stencilFunc(GLenum func, GLint ref, GLuint mask);
</span><span class="cx">     void stencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
</span><span class="cx">     void stencilMask(GLuint mask);
</span><span class="lines">@@ -613,56 +613,56 @@
</span><span class="cx">     void texParameteri(GLenum target, GLenum pname, GLint param);
</span><span class="cx"> 
</span><span class="cx">     // Supported forms:
</span><del>-    [RaisesException] void texImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height,
</del><ins>+    [MayThrowLegacyException] void texImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height,
</ins><span class="cx">   GLint border, GLenum format, GLenum type, ArrayBufferView? pixels);
</span><del>-    [RaisesException] void texImage2D(GLenum target, GLint level, GLenum internalformat,
</del><ins>+    [MayThrowLegacyException] void texImage2D(GLenum target, GLint level, GLenum internalformat,
</ins><span class="cx">   GLenum format, GLenum type, ImageData? pixels);
</span><del>-    [RaisesException] void texImage2D(GLenum target, GLint level, GLenum internalformat,
</del><ins>+    [MayThrowLegacyException] void texImage2D(GLenum target, GLint level, GLenum internalformat,
</ins><span class="cx">   GLenum format, GLenum type, HTMLImageElement? image);
</span><del>-    [RaisesException] void texImage2D(GLenum target, GLint level, GLenum internalformat,
</del><ins>+    [MayThrowLegacyException] void texImage2D(GLenum target, GLint level, GLenum internalformat,
</ins><span class="cx">   GLenum format, GLenum type, HTMLCanvasElement? canvas);
</span><span class="cx"> #if defined(ENABLE_VIDEO) &amp;&amp; ENABLE_VIDEO
</span><del>-    [RaisesException] void texImage2D(GLenum target, GLint level, GLenum internalformat,
</del><ins>+    [MayThrowLegacyException] void texImage2D(GLenum target, GLint level, GLenum internalformat,
</ins><span class="cx">   GLenum format, GLenum type, HTMLVideoElement? video);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    [RaisesException] void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
</del><ins>+    [MayThrowLegacyException] void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
</ins><span class="cx">  GLsizei width, GLsizei height,
</span><span class="cx">  GLenum format, GLenum type, ArrayBufferView? pixels);
</span><del>-    [RaisesException] void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
</del><ins>+    [MayThrowLegacyException] void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
</ins><span class="cx">  GLenum format, GLenum type, ImageData? pixels);
</span><del>-    [RaisesException] void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
</del><ins>+    [MayThrowLegacyException] void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
</ins><span class="cx">  GLenum format, GLenum type, HTMLImageElement? image);
</span><del>-    [RaisesException] void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
</del><ins>+    [MayThrowLegacyException] void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
</ins><span class="cx">  GLenum format, GLenum type, HTMLCanvasElement? canvas);
</span><span class="cx"> #if defined(ENABLE_VIDEO) &amp;&amp; ENABLE_VIDEO
</span><del>-    [RaisesException] void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
</del><ins>+    [MayThrowLegacyException] void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
</ins><span class="cx">  GLenum format, GLenum type, HTMLVideoElement? video);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    [RaisesException] void uniform1f(WebGLUniformLocation? location, GLfloat x);
-    [Custom, RaisesException] void uniform1fv(WebGLUniformLocation? location, Float32Array v);
-    [RaisesException] void uniform1i(WebGLUniformLocation? location, GLint x);
-    [Custom, RaisesException] void uniform1iv(WebGLUniformLocation? location, Int32Array v);
-    [RaisesException] void uniform2f(WebGLUniformLocation? location, GLfloat x, GLfloat y);
-    [Custom, RaisesException] void uniform2fv(WebGLUniformLocation? location, Float32Array v);
-    [RaisesException] void uniform2i(WebGLUniformLocation? location, GLint x, GLint y);
-    [Custom, RaisesException] void uniform2iv(WebGLUniformLocation? location, Int32Array v);
-    [RaisesException] void uniform3f(WebGLUniformLocation? location, GLfloat x, GLfloat y, GLfloat z);
-    [Custom, RaisesException] void uniform3fv(WebGLUniformLocation? location, Float32Array v);
-    [RaisesException] void uniform3i(WebGLUniformLocation? location, GLint x, GLint y, GLint z);
-    [Custom, RaisesException] void uniform3iv(WebGLUniformLocation? location, Int32Array v);
-    [RaisesException] void uniform4f(WebGLUniformLocation? location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-    [Custom, RaisesException] void uniform4fv(WebGLUniformLocation? location, Float32Array v);
-    [RaisesException] void uniform4i(WebGLUniformLocation? location, GLint x, GLint y, GLint z, GLint w);
-    [Custom, RaisesException] void uniform4iv(WebGLUniformLocation? location, Int32Array v);
</del><ins>+    [MayThrowLegacyException] void uniform1f(WebGLUniformLocation? location, GLfloat x);
+    [Custom, MayThrowLegacyException] void uniform1fv(WebGLUniformLocation? location, Float32Array v);
+    [MayThrowLegacyException] void uniform1i(WebGLUniformLocation? location, GLint x);
+    [Custom, MayThrowLegacyException] void uniform1iv(WebGLUniformLocation? location, Int32Array v);
+    [MayThrowLegacyException] void uniform2f(WebGLUniformLocation? location, GLfloat x, GLfloat y);
+    [Custom, MayThrowLegacyException] void uniform2fv(WebGLUniformLocation? location, Float32Array v);
+    [MayThrowLegacyException] void uniform2i(WebGLUniformLocation? location, GLint x, GLint y);
+    [Custom, MayThrowLegacyException] void uniform2iv(WebGLUniformLocation? location, Int32Array v);
+    [MayThrowLegacyException] void uniform3f(WebGLUniformLocation? location, GLfloat x, GLfloat y, GLfloat z);
+    [Custom, MayThrowLegacyException] void uniform3fv(WebGLUniformLocation? location, Float32Array v);
+    [MayThrowLegacyException] void uniform3i(WebGLUniformLocation? location, GLint x, GLint y, GLint z);
+    [Custom, MayThrowLegacyException] void uniform3iv(WebGLUniformLocation? location, Int32Array v);
+    [MayThrowLegacyException] void uniform4f(WebGLUniformLocation? location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+    [Custom, MayThrowLegacyException] void uniform4fv(WebGLUniformLocation? location, Float32Array v);
+    [MayThrowLegacyException] void uniform4i(WebGLUniformLocation? location, GLint x, GLint y, GLint z, GLint w);
+    [Custom, MayThrowLegacyException] void uniform4iv(WebGLUniformLocation? location, Int32Array v);
</ins><span class="cx"> 
</span><del>-    [Custom, RaisesException] void uniformMatrix2fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array array);
-    [Custom, RaisesException] void uniformMatrix3fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array array);
-    [Custom, RaisesException] void uniformMatrix4fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array array);
</del><ins>+    [Custom, MayThrowLegacyException] void uniformMatrix2fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array array);
+    [Custom, MayThrowLegacyException] void uniformMatrix3fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array array);
+    [Custom, MayThrowLegacyException] void uniformMatrix4fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array array);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void useProgram(WebGLProgram? program);
-    [RaisesException] void validateProgram(WebGLProgram? program);
</del><ins>+    [MayThrowLegacyException] void useProgram(WebGLProgram? program);
+    [MayThrowLegacyException] void validateProgram(WebGLProgram? program);
</ins><span class="cx"> 
</span><span class="cx">     void vertexAttrib1f(GLuint indx, GLfloat x);
</span><span class="cx">     [Custom] void vertexAttrib1fv(GLuint indx, Float32Array values);
</span><span class="lines">@@ -672,7 +672,7 @@
</span><span class="cx">     [Custom] void vertexAttrib3fv(GLuint indx, Float32Array values);
</span><span class="cx">     void vertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
</span><span class="cx">     [Custom] void vertexAttrib4fv(GLuint indx, Float32Array values);
</span><del>-    [RaisesException] void vertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset);
</del><ins>+    [MayThrowLegacyException] void vertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset);
</ins><span class="cx"> 
</span><span class="cx">     void viewport(GLint x, GLint y, GLsizei width, GLsizei height);
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackDataCueidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/DataCue.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/DataCue.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/track/DataCue.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> #else
</span><span class="cx">     CustomConstructor(unrestricted double startTime, unrestricted double endTime, ArrayBuffer data),
</span><span class="cx"> #endif
</span><del>-    ConstructorRaisesException,
</del><ins>+    ConstructorMayThrowLegacyException,
</ins><span class="cx"> ] interface DataCue : TextTrackCue {
</span><span class="cx">     attribute ArrayBuffer data;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackTextTrackidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/TextTrack.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/TextTrack.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/track/TextTrack.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -44,8 +44,8 @@
</span><span class="cx">     readonly attribute TextTrackCueList? activeCues;
</span><span class="cx"> 
</span><span class="cx">     // FIXME: cue parameter should not be nullable in addCue and removeCue.
</span><del>-    [RaisesException] void addCue(TextTrackCue? cue);
-    [RaisesException] void removeCue(TextTrackCue? cue);
</del><ins>+    [MayThrowLegacyException] void addCue(TextTrackCue? cue);
+    [MayThrowLegacyException] void removeCue(TextTrackCue? cue);
</ins><span class="cx"> 
</span><span class="cx">     attribute EventHandler oncuechange;
</span><span class="cx"> 
</span><span class="lines">@@ -52,5 +52,5 @@
</span><span class="cx">     readonly attribute VTTRegionList regions;
</span><span class="cx">     // FIXME: region parameter should not be nullable in addRegion and removeRegion.
</span><span class="cx">     void addRegion(VTTRegion? region);
</span><del>-    [RaisesException] void removeRegion(VTTRegion? region);
</del><ins>+    [MayThrowLegacyException] void removeRegion(VTTRegion? region);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackTextTrackCueidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/TextTrackCue.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/TextTrackCue.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/track/TextTrackCue.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -33,8 +33,8 @@
</span><span class="cx">     readonly attribute TextTrack track;
</span><span class="cx"> 
</span><span class="cx">     attribute DOMString id;
</span><del>-    [SetterRaisesException] attribute unrestricted double startTime;
-    [SetterRaisesException] attribute unrestricted double endTime;
</del><ins>+    [SetterMayThrowLegacyException] attribute unrestricted double startTime;
+    [SetterMayThrowLegacyException] attribute unrestricted double endTime;
</ins><span class="cx">     attribute boolean pauseOnExit;
</span><span class="cx"> 
</span><span class="cx">     attribute EventHandler onenter;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackVTTCueidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/VTTCue.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/VTTCue.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/track/VTTCue.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -29,12 +29,12 @@
</span><span class="cx">     JSGenerateToJSObject,
</span><span class="cx">     JSGenerateToNativeObject,
</span><span class="cx"> ] interface VTTCue : TextTrackCue {
</span><del>-    [SetterRaisesException] attribute DOMString vertical;
</del><ins>+    [SetterMayThrowLegacyException] attribute DOMString vertical;
</ins><span class="cx">     attribute boolean snapToLines;
</span><del>-    [SetterRaisesException] attribute unrestricted double line;
-    [SetterRaisesException] attribute unrestricted double position;
-    [SetterRaisesException] attribute unrestricted double size;
-    [SetterRaisesException] attribute DOMString align;
</del><ins>+    [SetterMayThrowLegacyException] attribute unrestricted double line;
+    [SetterMayThrowLegacyException] attribute unrestricted double position;
+    [SetterMayThrowLegacyException] attribute unrestricted double size;
+    [SetterMayThrowLegacyException] attribute DOMString align;
</ins><span class="cx">     attribute DOMString text;
</span><span class="cx">     DocumentFragment getCueAsHTML();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackVTTRegionidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/VTTRegion.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/VTTRegion.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/html/track/VTTRegion.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -33,12 +33,12 @@
</span><span class="cx">     readonly attribute TextTrack track;
</span><span class="cx"> 
</span><span class="cx">     attribute DOMString id;
</span><del>-    [SetterRaisesException] attribute unrestricted double width;
-    [SetterRaisesException] attribute long height;
-    [SetterRaisesException] attribute unrestricted double regionAnchorX;
-    [SetterRaisesException] attribute unrestricted double regionAnchorY;
-    [SetterRaisesException] attribute unrestricted double viewportAnchorX;
-    [SetterRaisesException] attribute unrestricted double viewportAnchorY;
-    [SetterRaisesException] attribute DOMString scroll;
</del><ins>+    [SetterMayThrowLegacyException] attribute unrestricted double width;
+    [SetterMayThrowLegacyException] attribute long height;
+    [SetterMayThrowLegacyException] attribute unrestricted double regionAnchorX;
+    [SetterMayThrowLegacyException] attribute unrestricted double regionAnchorY;
+    [SetterMayThrowLegacyException] attribute unrestricted double viewportAnchorX;
+    [SetterMayThrowLegacyException] attribute unrestricted double viewportAnchorY;
+    [SetterMayThrowLegacyException] attribute DOMString scroll;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderappcacheDOMApplicationCacheidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/appcache/DOMApplicationCache.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/appcache/DOMApplicationCache.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/loader/appcache/DOMApplicationCache.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -37,8 +37,8 @@
</span><span class="cx">     const unsigned short OBSOLETE = 5;
</span><span class="cx">     readonly attribute unsigned short status;
</span><span class="cx"> 
</span><del>-    [RaisesException] void update();
-    [RaisesException] void swapCache();
</del><ins>+    [MayThrowLegacyException] void update();
+    [MayThrowLegacyException] void swapCache();
</ins><span class="cx">     void abort();
</span><span class="cx"> 
</span><span class="cx">     attribute EventHandler onchecking;
</span></span></pre></div>
<a id="trunkSourceWebCorepageCryptoidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Crypto.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Crypto.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/page/Crypto.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx">     Exposed=(Window,Worker),
</span><span class="cx">     GenerateIsReachable=ImplScriptExecutionContext,
</span><span class="cx"> ] interface Crypto {
</span><del>-    [Custom, RaisesException] ArrayBufferView getRandomValues(ArrayBufferView array);
</del><ins>+    [Custom, MayThrowLegacyException] ArrayBufferView getRandomValues(ArrayBufferView array);
</ins><span class="cx"> 
</span><del>-    [Conditional=SUBTLE_CRYPTO, GetterRaisesException] readonly attribute WebKitSubtleCrypto webkitSubtle;
</del><ins>+    [Conditional=SUBTLE_CRYPTO, GetterMayThrowLegacyException] readonly attribute WebKitSubtleCrypto webkitSubtle;
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorepageDOMSelectionidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DOMSelection.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DOMSelection.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/page/DOMSelection.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -41,16 +41,16 @@
</span><span class="cx">     readonly attribute unsigned long rangeCount;
</span><span class="cx"> 
</span><span class="cx">     void collapse(Node? node, optional unsigned long offset = 0);
</span><del>-    [RaisesException] void collapseToEnd();
-    [RaisesException] void collapseToStart();
</del><ins>+    [MayThrowLegacyException] void collapseToEnd();
+    [MayThrowLegacyException] void collapseToStart();
</ins><span class="cx"> 
</span><span class="cx">     void deleteFromDocument();
</span><span class="cx">     boolean containsNode(Node node, optional boolean allowPartial = false);
</span><span class="cx">     void selectAllChildren(Node node);
</span><span class="cx"> 
</span><del>-    [RaisesException] void extend(Node node, optional unsigned long offset = 0);
</del><ins>+    [MayThrowLegacyException] void extend(Node node, optional unsigned long offset = 0);
</ins><span class="cx"> 
</span><del>-    [RaisesException] Range getRangeAt(unsigned long index);
</del><ins>+    [MayThrowLegacyException] Range getRangeAt(unsigned long index);
</ins><span class="cx">     void removeAllRanges();
</span><span class="cx">     void addRange(Range range);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageDOMWindowidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DOMWindow.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DOMWindow.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/page/DOMWindow.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -145,7 +145,7 @@
</span><span class="cx">     // DOM Level 2 Style Interface
</span><span class="cx">     [NewObject] CSSStyleDeclaration getComputedStyle(Element element, optional DOMString? pseudoElement = null);
</span><span class="cx">     // FIXME: Drop this overload once &lt;rdar://problem/28016778&gt; has been fixed.
</span><del>-    [NewObject, RaisesException] CSSStyleDeclaration getComputedStyle(Document document, optional DOMString? pseudoElement = null);
</del><ins>+    [NewObject, MayThrowLegacyException] CSSStyleDeclaration getComputedStyle(Document document, optional DOMString? pseudoElement = null);
</ins><span class="cx"> 
</span><span class="cx">     // WebKit extensions
</span><span class="cx">     CSSRuleList getMatchedCSSRules(optional Element? element = null, optional DOMString? pseudoElement = null);
</span><span class="lines">@@ -159,8 +159,8 @@
</span><span class="cx"> 
</span><span class="cx">     readonly attribute DOMApplicationCache applicationCache;
</span><span class="cx"> 
</span><del>-    [GetterRaisesException] readonly attribute Storage sessionStorage;
-    [GetterRaisesException] readonly attribute Storage localStorage;
</del><ins>+    [GetterMayThrowLegacyException] readonly attribute Storage sessionStorage;
+    [GetterMayThrowLegacyException] readonly attribute Storage localStorage;
</ins><span class="cx"> 
</span><span class="cx">     // This is the interface orientation in degrees. Some examples are:
</span><span class="cx">     //  0 is straight up; -90 is when the device is rotated 90 clockwise;
</span><span class="lines">@@ -168,7 +168,7 @@
</span><span class="cx">     [Conditional=ORIENTATION_EVENTS] readonly attribute long orientation;
</span><span class="cx"> 
</span><span class="cx">     // cross-document messaging
</span><del>-    [DoNotCheckSecurity, Custom, RaisesException, ForwardDeclareInHeader] void postMessage(SerializedScriptValue message, USVString targetOrigin, optional Array messagePorts);
</del><ins>+    [DoNotCheckSecurity, Custom, MayThrowLegacyException, ForwardDeclareInHeader] void postMessage(SerializedScriptValue message, USVString targetOrigin, optional Array messagePorts);
</ins><span class="cx"> 
</span><span class="cx">     [Conditional=WEB_TIMING, Replaceable] readonly attribute Performance performance;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageEventSourceidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/EventSource.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/EventSource.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/page/EventSource.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx">     ActiveDOMObject,
</span><span class="cx">     Constructor(USVString url, optional EventSourceInit eventSourceInitDict),
</span><span class="cx">     ConstructorCallWith=ScriptExecutionContext,
</span><del>-    ConstructorRaisesException,
</del><ins>+    ConstructorMayThrowLegacyException,
</ins><span class="cx"> ] interface EventSource : EventTarget {
</span><span class="cx">     readonly attribute USVString URL; // Lowercased .url is the one in the spec, but leaving .URL for compatibility reasons.
</span><span class="cx">     readonly attribute USVString url;
</span></span></pre></div>
<a id="trunkSourceWebCorepageHistoryidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/History.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/History.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/page/History.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -33,6 +33,6 @@
</span><span class="cx">     [CallWith=Document, ForwardDeclareInHeader] void forward();
</span><span class="cx">     [CallWith=Document, ForwardDeclareInHeader] void go(optional long distance = 0);
</span><span class="cx"> 
</span><del>-    [Custom, RaisesException] void pushState(any data, DOMString title, optional USVString? url = null);
-    [Custom, RaisesException] void replaceState(any data, DOMString title, optional USVString? url = null);
</del><ins>+    [Custom, MayThrowLegacyException] void pushState(any data, DOMString title, optional USVString? url = null);
+    [Custom, MayThrowLegacyException] void replaceState(any data, DOMString title, optional USVString? url = null);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorepageLocationidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Location.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Location.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/page/Location.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx">     [CallWith=ActiveWindow, ForwardDeclareInHeader] void reload();
</span><span class="cx"> 
</span><span class="cx">     // URI decomposition attributes
</span><del>-    [SetterCallWith=ActiveWindow&amp;FirstWindow, SetterRaisesException] attribute USVString protocol;
</del><ins>+    [SetterCallWith=ActiveWindow&amp;FirstWindow, SetterMayThrowLegacyException] attribute USVString protocol;
</ins><span class="cx">     [SetterCallWith=ActiveWindow&amp;FirstWindow] attribute USVString host;
</span><span class="cx">     [SetterCallWith=ActiveWindow&amp;FirstWindow] attribute USVString hostname;
</span><span class="cx">     [SetterCallWith=ActiveWindow&amp;FirstWindow] attribute USVString port;
</span></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Performance.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Performance.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/page/Performance.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -49,10 +49,10 @@
</span><span class="cx"> 
</span><span class="cx">     // See http://www.w3.org/TR/2012/CR-user-timing-20120726/
</span><span class="cx"> #if defined(ENABLE_USER_TIMING) &amp;&amp; ENABLE_USER_TIMING
</span><del>-    [RaisesException] void webkitMark(DOMString markName);
</del><ins>+    [MayThrowLegacyException] void webkitMark(DOMString markName);
</ins><span class="cx">     void webkitClearMarks(optional  DOMString markName);
</span><span class="cx"> 
</span><del>-    [RaisesException] void webkitMeasure(DOMString measureName, optional DOMString startMark, optional DOMString endMark);
</del><ins>+    [MayThrowLegacyException] void webkitMeasure(DOMString measureName, optional DOMString startMark, optional DOMString endMark);
</ins><span class="cx">     void webkitClearMeasures(optional DOMString measureName);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageUserMessageHandleridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/UserMessageHandler.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/UserMessageHandler.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/page/UserMessageHandler.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,5 +26,5 @@
</span><span class="cx"> [
</span><span class="cx">     Conditional=USER_MESSAGE_HANDLERS
</span><span class="cx"> ] interface UserMessageHandler {
</span><del>-    [RaisesException] void postMessage(SerializedScriptValue message);
</del><ins>+    [MayThrowLegacyException] void postMessage(SerializedScriptValue message);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorepageWindowOrWorkerGlobalScopeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/WindowOrWorkerGlobalScope.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/WindowOrWorkerGlobalScope.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/page/WindowOrWorkerGlobalScope.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx">     void clearInterval(optional long handle = 0);
</span><span class="cx"> 
</span><span class="cx">     // Base64 utility methods.
</span><del>-    [RaisesException] DOMString atob(DOMString string);
-    [RaisesException] DOMString btoa(DOMString string);
</del><ins>+    [MayThrowLegacyException] DOMString atob(DOMString string);
+    [MayThrowLegacyException] DOMString btoa(DOMString string);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorestorageStorageidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/storage/Storage.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/storage/Storage.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/storage/Storage.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -30,11 +30,11 @@
</span><span class="cx">     CustomNamedSetter,
</span><span class="cx">     SkipVTableValidation,
</span><span class="cx"> ] interface Storage {
</span><del>-    [GetterRaisesException] readonly attribute unsigned long length;
-    [RaisesException] DOMString? key(unsigned long index);
-    [RaisesException] getter DOMString? getItem(DOMString key);
-    [RaisesException] void setItem(DOMString key, DOMString data);
-    [RaisesException] void removeItem(DOMString key);
-    [RaisesException] void clear();
</del><ins>+    [GetterMayThrowLegacyException] readonly attribute unsigned long length;
+    [MayThrowLegacyException] DOMString? key(unsigned long index);
+    [MayThrowLegacyException] getter DOMString? getItem(DOMString key);
+    [MayThrowLegacyException] void setItem(DOMString key, DOMString data);
+    [MayThrowLegacyException] void removeItem(DOMString key);
+    [MayThrowLegacyException] void clear();
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAltGlyphElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAltGlyphElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAltGlyphElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGAltGlyphElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,8 +26,8 @@
</span><span class="cx"> [
</span><span class="cx">     Conditional=SVG_FONTS,
</span><span class="cx"> ] interface SVGAltGlyphElement : SVGTextPositioningElement {
</span><del>-    [SetterRaisesException] attribute DOMString glyphRef;
-    [SetterRaisesException] attribute DOMString format;
</del><ins>+    [SetterMayThrowLegacyException] attribute DOMString glyphRef;
+    [SetterMayThrowLegacyException] attribute DOMString format;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> SVGAltGlyphElement implements SVGURIReference;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAngleidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAngle.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAngle.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGAngle.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -32,10 +32,10 @@
</span><span class="cx">     attribute unrestricted float value;
</span><span class="cx">     attribute unrestricted float valueInSpecifiedUnits;
</span><span class="cx"> 
</span><del>-    [SetterRaisesException] attribute DOMString valueAsString;
</del><ins>+    [SetterMayThrowLegacyException] attribute DOMString valueAsString;
</ins><span class="cx"> 
</span><del>-    [RaisesException] void newValueSpecifiedUnits(unsigned short unitType, unrestricted float valueInSpecifiedUnits);
</del><ins>+    [MayThrowLegacyException] void newValueSpecifiedUnits(unsigned short unitType, unrestricted float valueInSpecifiedUnits);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void convertToSpecifiedUnits(unsigned short unitType);
</del><ins>+    [MayThrowLegacyException] void convertToSpecifiedUnits(unsigned short unitType);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimatedBooleanidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimatedBoolean.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimatedBoolean.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGAnimatedBoolean.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> [
</span><span class="cx">     SkipVTableValidation
</span><span class="cx"> ] interface SVGAnimatedBoolean {
</span><del>-    [SetterRaisesException] attribute boolean baseVal;
</del><ins>+    [SetterMayThrowLegacyException] attribute boolean baseVal;
</ins><span class="cx">     readonly attribute boolean animVal;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimatedEnumerationidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimatedEnumeration.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimatedEnumeration.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGAnimatedEnumeration.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> [
</span><span class="cx">     SkipVTableValidation
</span><span class="cx"> ] interface SVGAnimatedEnumeration {
</span><del>-    [SetterRaisesException] attribute unsigned short baseVal;
</del><ins>+    [SetterMayThrowLegacyException] attribute unsigned short baseVal;
</ins><span class="cx">     readonly attribute unsigned short animVal;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimatedIntegeridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimatedInteger.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimatedInteger.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGAnimatedInteger.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> [
</span><span class="cx">     SkipVTableValidation
</span><span class="cx"> ] interface SVGAnimatedInteger {
</span><del>-    [SetterRaisesException] attribute long baseVal;
</del><ins>+    [SetterMayThrowLegacyException] attribute long baseVal;
</ins><span class="cx">     readonly attribute long animVal;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimatedNumberidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimatedNumber.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimatedNumber.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGAnimatedNumber.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> [
</span><span class="cx">     SkipVTableValidation
</span><span class="cx"> ] interface SVGAnimatedNumber {
</span><del>-    [SetterRaisesException] attribute unrestricted float baseVal;
</del><ins>+    [SetterMayThrowLegacyException] attribute unrestricted float baseVal;
</ins><span class="cx">     readonly attribute unrestricted float animVal;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimatedStringidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimatedString.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimatedString.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGAnimatedString.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> [
</span><span class="cx">     SkipVTableValidation
</span><span class="cx"> ] interface SVGAnimatedString {
</span><del>-    [SetterRaisesException] attribute DOMString baseVal;
</del><ins>+    [SetterMayThrowLegacyException] attribute DOMString baseVal;
</ins><span class="cx">     readonly attribute DOMString animVal;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGAnimationElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGAnimationElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGAnimationElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGAnimationElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> 
</span><span class="cx">     unrestricted float getStartTime();
</span><span class="cx">     unrestricted float getCurrentTime();
</span><del>-    [RaisesException] unrestricted float getSimpleDuration();
</del><ins>+    [MayThrowLegacyException] unrestricted float getSimpleDuration();
</ins><span class="cx"> 
</span><span class="cx">     void beginElement();
</span><span class="cx">     void beginElementAt(optional unrestricted float offset = NaN);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGColoridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGColor.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGColor.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGColor.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -31,10 +31,10 @@
</span><span class="cx">     readonly attribute RGBColor rgbColor;
</span><span class="cx">     // FIXME: readonly attribute SVGICCColor iccColor;
</span><span class="cx"> 
</span><del>-    [RaisesException] void setRGBColor(DOMString rgbColor);
</del><ins>+    [MayThrowLegacyException] void setRGBColor(DOMString rgbColor);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void setRGBColorICCColor(DOMString rgbColor, DOMString iccColor);
</del><ins>+    [MayThrowLegacyException] void setRGBColorICCColor(DOMString rgbColor, DOMString iccColor);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void setColor(unsigned short colorType, DOMString rgbColor, DOMString iccColor);
</del><ins>+    [MayThrowLegacyException] void setColor(unsigned short colorType, DOMString rgbColor, DOMString iccColor);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGGlyphRefElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGGlyphRefElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGGlyphRefElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGGlyphRefElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -21,12 +21,12 @@
</span><span class="cx">     Conditional=SVG_FONTS
</span><span class="cx"> ] interface SVGGlyphRefElement : SVGElement {
</span><span class="cx">     // FIXME: Use [Reflect] after https://bugs.webkit.org/show_bug.cgi?id=64843 is fixed.
</span><del>-    [SetterRaisesException] attribute DOMString glyphRef;
</del><ins>+    [SetterMayThrowLegacyException] attribute DOMString glyphRef;
</ins><span class="cx">     [Reflect] attribute DOMString format;
</span><del>-    [SetterRaisesException] attribute unrestricted float x;
-    [SetterRaisesException] attribute unrestricted float y;
-    [SetterRaisesException] attribute unrestricted float dx;
-    [SetterRaisesException] attribute unrestricted float dy;
</del><ins>+    [SetterMayThrowLegacyException] attribute unrestricted float x;
+    [SetterMayThrowLegacyException] attribute unrestricted float y;
+    [SetterMayThrowLegacyException] attribute unrestricted float dx;
+    [SetterMayThrowLegacyException] attribute unrestricted float dy;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> SVGGlyphRefElement implements SVGURIReference;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGGraphicsElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGGraphicsElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGGraphicsElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGGraphicsElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx">     SVGRect getBBox();
</span><span class="cx">     SVGMatrix getCTM();
</span><span class="cx">     SVGMatrix getScreenCTM();
</span><del>-    [RaisesException] SVGMatrix getTransformToElement(optional SVGElement? element = null);
</del><ins>+    [MayThrowLegacyException] SVGMatrix getTransformToElement(optional SVGElement? element = null);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> SVGGraphicsElement implements SVGTests;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGLengthidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGLength.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGLength.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGLength.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -35,15 +35,15 @@
</span><span class="cx">     const unsigned short SVG_LENGTHTYPE_PC         = 10;
</span><span class="cx"> 
</span><span class="cx">     readonly attribute unsigned short unitType;
</span><del>-    [GetterRaisesException, SetterRaisesException, Custom] attribute unrestricted float value;
</del><ins>+    [GetterMayThrowLegacyException, SetterMayThrowLegacyException, Custom] attribute unrestricted float value;
</ins><span class="cx"> 
</span><span class="cx">     attribute unrestricted float valueInSpecifiedUnits;
</span><span class="cx"> 
</span><del>-    [SetterRaisesException] attribute DOMString valueAsString;
</del><ins>+    [SetterMayThrowLegacyException] attribute DOMString valueAsString;
</ins><span class="cx"> 
</span><del>-    [RaisesException] void newValueSpecifiedUnits(unsigned short unitType,
</del><ins>+    [MayThrowLegacyException] void newValueSpecifiedUnits(unsigned short unitType,
</ins><span class="cx">                                                      unrestricted float valueInSpecifiedUnits);
</span><span class="cx"> 
</span><del>-    [Custom, RaisesException] void convertToSpecifiedUnits(unsigned short unitType);
</del><ins>+    [Custom, MayThrowLegacyException] void convertToSpecifiedUnits(unsigned short unitType);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGLengthListidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGLengthList.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGLengthList.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGLengthList.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -27,11 +27,11 @@
</span><span class="cx"> interface SVGLengthList {
</span><span class="cx">     readonly attribute unsigned long numberOfItems;
</span><span class="cx"> 
</span><del>-    [RaisesException] void clear();
-    [RaisesException] SVGLength initialize(SVGLength item);
-    [RaisesException] SVGLength getItem(unsigned long index);
-    [RaisesException] SVGLength insertItemBefore(SVGLength item, unsigned long index);
-    [RaisesException] SVGLength replaceItem(SVGLength item, unsigned long index);
-    [RaisesException] SVGLength removeItem(unsigned long index);
-    [RaisesException] SVGLength appendItem(SVGLength item);
</del><ins>+    [MayThrowLegacyException] void clear();
+    [MayThrowLegacyException] SVGLength initialize(SVGLength item);
+    [MayThrowLegacyException] SVGLength getItem(unsigned long index);
+    [MayThrowLegacyException] SVGLength insertItemBefore(SVGLength item, unsigned long index);
+    [MayThrowLegacyException] SVGLength replaceItem(SVGLength item, unsigned long index);
+    [MayThrowLegacyException] SVGLength removeItem(unsigned long index);
+    [MayThrowLegacyException] SVGLength appendItem(SVGLength item);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGMatrixidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGMatrix.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGMatrix.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGMatrix.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -31,12 +31,12 @@
</span><span class="cx">     attribute unrestricted double f;
</span><span class="cx"> 
</span><span class="cx">     SVGMatrix multiply(SVGMatrix secondMatrix);
</span><del>-    [RaisesException] SVGMatrix inverse();
</del><ins>+    [MayThrowLegacyException] SVGMatrix inverse();
</ins><span class="cx">     [Immutable] SVGMatrix translate(unrestricted float x, unrestricted float y);
</span><span class="cx">     [Immutable] SVGMatrix scale(unrestricted float scaleFactor);
</span><span class="cx">     [Immutable] SVGMatrix scaleNonUniform(unrestricted float scaleFactorX, unrestricted float scaleFactorY);
</span><span class="cx">     [Immutable] SVGMatrix rotate(unrestricted float angle);
</span><del>-    [RaisesException] SVGMatrix rotateFromVector(unrestricted float x, unrestricted float y);
</del><ins>+    [MayThrowLegacyException] SVGMatrix rotateFromVector(unrestricted float x, unrestricted float y);
</ins><span class="cx">     [Immutable] SVGMatrix flipX();
</span><span class="cx">     [Immutable] SVGMatrix flipY();
</span><span class="cx">     [Immutable] SVGMatrix skewX(unrestricted float angle);
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGNumberListidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGNumberList.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGNumberList.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGNumberList.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -27,11 +27,11 @@
</span><span class="cx"> interface SVGNumberList {
</span><span class="cx">     readonly attribute unsigned long numberOfItems;
</span><span class="cx"> 
</span><del>-    [RaisesException] void clear();
-    [RaisesException] SVGNumber initialize(SVGNumber item);
-    [RaisesException] SVGNumber getItem(unsigned long index);
-    [RaisesException] SVGNumber insertItemBefore(SVGNumber item, unsigned long index);
-    [RaisesException] SVGNumber replaceItem(SVGNumber item, unsigned long index);
-    [RaisesException] SVGNumber removeItem(unsigned long index);
-    [RaisesException] SVGNumber appendItem(SVGNumber item);
</del><ins>+    [MayThrowLegacyException] void clear();
+    [MayThrowLegacyException] SVGNumber initialize(SVGNumber item);
+    [MayThrowLegacyException] SVGNumber getItem(unsigned long index);
+    [MayThrowLegacyException] SVGNumber insertItemBefore(SVGNumber item, unsigned long index);
+    [MayThrowLegacyException] SVGNumber replaceItem(SVGNumber item, unsigned long index);
+    [MayThrowLegacyException] SVGNumber removeItem(unsigned long index);
+    [MayThrowLegacyException] SVGNumber appendItem(SVGNumber item);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPaintidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPaint.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPaint.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGPaint.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -41,6 +41,6 @@
</span><span class="cx">     readonly attribute DOMString uri;
</span><span class="cx"> 
</span><span class="cx">     void setUri(DOMString uri);
</span><del>-    [RaisesException] void setPaint(unsigned short paintType, DOMString uri, DOMString rgbColor, DOMString iccColor);
</del><ins>+    [MayThrowLegacyException] void setPaint(unsigned short paintType, DOMString uri, DOMString rgbColor, DOMString iccColor);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPathSegListidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPathSegList.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPathSegList.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGPathSegList.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -27,11 +27,11 @@
</span><span class="cx"> interface SVGPathSegList {
</span><span class="cx">     readonly attribute unsigned long numberOfItems;
</span><span class="cx"> 
</span><del>-    [RaisesException] void clear();
-    [RaisesException] SVGPathSeg initialize(SVGPathSeg? newItem); // FIXME: Should not be nullable.
-    [RaisesException] SVGPathSeg getItem(unsigned long index);
-    [RaisesException] SVGPathSeg insertItemBefore(SVGPathSeg? newItem, unsigned long index); // FIXME: Should not be nullable.
-    [RaisesException] SVGPathSeg replaceItem(SVGPathSeg? newItem, unsigned long index); // FIXME: Should not be nullable.
-    [RaisesException] SVGPathSeg removeItem(unsigned long index);
-    [RaisesException] SVGPathSeg appendItem(SVGPathSeg? newItem); // FIXME: Should not be nullable.
</del><ins>+    [MayThrowLegacyException] void clear();
+    [MayThrowLegacyException] SVGPathSeg initialize(SVGPathSeg? newItem); // FIXME: Should not be nullable.
+    [MayThrowLegacyException] SVGPathSeg getItem(unsigned long index);
+    [MayThrowLegacyException] SVGPathSeg insertItemBefore(SVGPathSeg? newItem, unsigned long index); // FIXME: Should not be nullable.
+    [MayThrowLegacyException] SVGPathSeg replaceItem(SVGPathSeg? newItem, unsigned long index); // FIXME: Should not be nullable.
+    [MayThrowLegacyException] SVGPathSeg removeItem(unsigned long index);
+    [MayThrowLegacyException] SVGPathSeg appendItem(SVGPathSeg? newItem); // FIXME: Should not be nullable.
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPointListidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPointList.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPointList.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGPointList.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,11 +26,11 @@
</span><span class="cx"> interface SVGPointList {
</span><span class="cx">     readonly attribute unsigned long numberOfItems;
</span><span class="cx"> 
</span><del>-    [RaisesException] void clear();
-    [RaisesException] SVGPoint initialize(SVGPoint item);
-    [RaisesException] SVGPoint getItem(unsigned long index);
-    [RaisesException] SVGPoint insertItemBefore(SVGPoint item, unsigned long index);
-    [RaisesException] SVGPoint replaceItem(SVGPoint item, unsigned long index);
-    [RaisesException] SVGPoint removeItem(unsigned long index);
-    [RaisesException] SVGPoint appendItem(SVGPoint item);
</del><ins>+    [MayThrowLegacyException] void clear();
+    [MayThrowLegacyException] SVGPoint initialize(SVGPoint item);
+    [MayThrowLegacyException] SVGPoint getItem(unsigned long index);
+    [MayThrowLegacyException] SVGPoint insertItemBefore(SVGPoint item, unsigned long index);
+    [MayThrowLegacyException] SVGPoint replaceItem(SVGPoint item, unsigned long index);
+    [MayThrowLegacyException] SVGPoint removeItem(unsigned long index);
+    [MayThrowLegacyException] SVGPoint appendItem(SVGPoint item);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGPreserveAspectRatioidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGPreserveAspectRatio.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGPreserveAspectRatio.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGPreserveAspectRatio.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -42,8 +42,8 @@
</span><span class="cx">     const unsigned short SVG_MEETORSLICE_MEET = 1;
</span><span class="cx">     const unsigned short SVG_MEETORSLICE_SLICE = 2;
</span><span class="cx"> 
</span><del>-    [SetterRaisesException] attribute unsigned short align;
</del><ins>+    [SetterMayThrowLegacyException] attribute unsigned short align;
</ins><span class="cx"> 
</span><del>-    [SetterRaisesException] attribute unsigned short meetOrSlice;
</del><ins>+    [SetterMayThrowLegacyException] attribute unsigned short meetOrSlice;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGStringListidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGStringList.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGStringList.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGStringList.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,12 +26,12 @@
</span><span class="cx"> interface SVGStringList {
</span><span class="cx">     readonly attribute unsigned long numberOfItems;
</span><span class="cx"> 
</span><del>-    [RaisesException] void clear();
-    [RaisesException] DOMString initialize(DOMString item);
-    [RaisesException] DOMString getItem(unsigned long index);
-    [RaisesException] DOMString insertItemBefore(DOMString item, unsigned long index);
-    [RaisesException] DOMString replaceItem(DOMString item, unsigned long index);
-    [RaisesException] DOMString removeItem(unsigned long index);
-    [RaisesException] DOMString appendItem(DOMString item);
</del><ins>+    [MayThrowLegacyException] void clear();
+    [MayThrowLegacyException] DOMString initialize(DOMString item);
+    [MayThrowLegacyException] DOMString getItem(unsigned long index);
+    [MayThrowLegacyException] DOMString insertItemBefore(DOMString item, unsigned long index);
+    [MayThrowLegacyException] DOMString replaceItem(DOMString item, unsigned long index);
+    [MayThrowLegacyException] DOMString removeItem(unsigned long index);
+    [MayThrowLegacyException] DOMString appendItem(DOMString item);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGStyleElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGStyleElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGStyleElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGStyleElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -26,8 +26,8 @@
</span><span class="cx"> 
</span><span class="cx"> interface SVGStyleElement : SVGElement {
</span><span class="cx">              attribute boolean disabled;
</span><del>-             [SetterRaisesException] attribute DOMString type;
-             [SetterRaisesException] attribute DOMString media;
-             [SetterRaisesException] attribute DOMString title;
</del><ins>+             [SetterMayThrowLegacyException] attribute DOMString type;
+             [SetterMayThrowLegacyException] attribute DOMString media;
+             [SetterMayThrowLegacyException] attribute DOMString title;
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGTextContentElementidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGTextContentElement.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGTextContentElement.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGTextContentElement.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -34,14 +34,14 @@
</span><span class="cx"> 
</span><span class="cx">     long getNumberOfChars();
</span><span class="cx">     unrestricted float getComputedTextLength();
</span><del>-    [RaisesException] unrestricted float getSubStringLength(optional unsigned long offset = 0,
</del><ins>+    [MayThrowLegacyException] unrestricted float getSubStringLength(optional unsigned long offset = 0,
</ins><span class="cx">                              optional unsigned long length = 0);
</span><del>-    [RaisesException] SVGPoint getStartPositionOfChar(optional unsigned long offset = 0);
-    [RaisesException] SVGPoint getEndPositionOfChar(optional unsigned long offset = 0);
-    [RaisesException] SVGRect getExtentOfChar(optional unsigned long offset = 0);
-    [RaisesException] unrestricted float getRotationOfChar(optional unsigned long offset = 0);
</del><ins>+    [MayThrowLegacyException] SVGPoint getStartPositionOfChar(optional unsigned long offset = 0);
+    [MayThrowLegacyException] SVGPoint getEndPositionOfChar(optional unsigned long offset = 0);
+    [MayThrowLegacyException] SVGRect getExtentOfChar(optional unsigned long offset = 0);
+    [MayThrowLegacyException] unrestricted float getRotationOfChar(optional unsigned long offset = 0);
</ins><span class="cx">     long getCharNumAtPosition(SVGPoint point);
</span><del>-    [RaisesException] void selectSubString(optional unsigned long offset = 0, optional unsigned long length = 0);
</del><ins>+    [MayThrowLegacyException] void selectSubString(optional unsigned long offset = 0, optional unsigned long length = 0);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> // FIXME: SVGTextContentElement is not supposed to implement SVGExternalResourcesRequired.
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGTransformListidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGTransformList.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGTransformList.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGTransformList.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -27,15 +27,15 @@
</span><span class="cx"> interface SVGTransformList {
</span><span class="cx">     readonly attribute unsigned long numberOfItems;
</span><span class="cx"> 
</span><del>-    [RaisesException] void clear();
-    [RaisesException] SVGTransform initialize(SVGTransform item);
-    [RaisesException] SVGTransform getItem(unsigned long index);
-    [RaisesException] SVGTransform insertItemBefore(SVGTransform item, unsigned long index);
-    [RaisesException] SVGTransform replaceItem(SVGTransform item, unsigned long index);
-    [RaisesException] SVGTransform removeItem(unsigned long index);
-    [RaisesException] SVGTransform appendItem(SVGTransform item);
</del><ins>+    [MayThrowLegacyException] void clear();
+    [MayThrowLegacyException] SVGTransform initialize(SVGTransform item);
+    [MayThrowLegacyException] SVGTransform getItem(unsigned long index);
+    [MayThrowLegacyException] SVGTransform insertItemBefore(SVGTransform item, unsigned long index);
+    [MayThrowLegacyException] SVGTransform replaceItem(SVGTransform item, unsigned long index);
+    [MayThrowLegacyException] SVGTransform removeItem(unsigned long index);
+    [MayThrowLegacyException] SVGTransform appendItem(SVGTransform item);
</ins><span class="cx"> 
</span><del>-    [RaisesException] SVGTransform createSVGTransformFromMatrix(SVGMatrix matrix);
</del><ins>+    [MayThrowLegacyException] SVGTransform createSVGTransformFromMatrix(SVGMatrix matrix);
</ins><span class="cx"> 
</span><del>-    [RaisesException] SVGTransform consolidate();
</del><ins>+    [MayThrowLegacyException] SVGTransform consolidate();
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGViewSpecidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGViewSpec.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGViewSpec.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/svg/SVGViewSpec.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx">       readonly attribute DOMString viewTargetString;
</span><span class="cx"> 
</span><span class="cx">       // SVGZoomAndPan
</span><del>-      [SetterRaisesException] attribute unsigned short zoomAndPan;
</del><ins>+      [SetterMayThrowLegacyException] attribute unsigned short zoomAndPan;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> SVGViewSpec implements SVGFitToViewBox;
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalSettingsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/InternalSettings.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/InternalSettings.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/testing/InternalSettings.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -29,64 +29,64 @@
</span><span class="cx">     JSGenerateToJSObject,
</span><span class="cx">     ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,
</span><span class="cx"> ] interface InternalSettings : InternalSettingsGenerated {
</span><del>-    [RaisesException] void setTouchEventEmulationEnabled(boolean enabled);
</del><ins>+    [MayThrowLegacyException] void setTouchEventEmulationEnabled(boolean enabled);
</ins><span class="cx"> 
</span><span class="cx">     // Fonts, text
</span><del>-    [RaisesException] void setStandardFontFamily(DOMString family, DOMString script);
-    [RaisesException] void setSerifFontFamily(DOMString family, DOMString script);
-    [RaisesException] void setSansSerifFontFamily(DOMString family, DOMString script);
-    [RaisesException] void setFixedFontFamily(DOMString family, DOMString script);
-    [RaisesException] void setCursiveFontFamily(DOMString family, DOMString script);
-    [RaisesException] void setFantasyFontFamily(DOMString family, DOMString script);
-    [RaisesException] void setPictographFontFamily(DOMString family, DOMString script);
-    [RaisesException] void setFontFallbackPrefersPictographs(boolean preferPictographs);
-    [RaisesException] void setWebFontsAlwaysFallBack(boolean enable);
</del><ins>+    [MayThrowLegacyException] void setStandardFontFamily(DOMString family, DOMString script);
+    [MayThrowLegacyException] void setSerifFontFamily(DOMString family, DOMString script);
+    [MayThrowLegacyException] void setSansSerifFontFamily(DOMString family, DOMString script);
+    [MayThrowLegacyException] void setFixedFontFamily(DOMString family, DOMString script);
+    [MayThrowLegacyException] void setCursiveFontFamily(DOMString family, DOMString script);
+    [MayThrowLegacyException] void setFantasyFontFamily(DOMString family, DOMString script);
+    [MayThrowLegacyException] void setPictographFontFamily(DOMString family, DOMString script);
+    [MayThrowLegacyException] void setFontFallbackPrefersPictographs(boolean preferPictographs);
+    [MayThrowLegacyException] void setWebFontsAlwaysFallBack(boolean enable);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void setTextAutosizingEnabled(boolean enabled);
-    [RaisesException] void setTextAutosizingWindowSizeOverride(long width, long height);
</del><ins>+    [MayThrowLegacyException] void setTextAutosizingEnabled(boolean enabled);
+    [MayThrowLegacyException] void setTextAutosizingWindowSizeOverride(long width, long height);
</ins><span class="cx"> 
</span><span class="cx">     // Media
</span><del>-    [RaisesException] void setCanStartMedia(boolean enabled);
-    [Conditional=VIDEO_TRACK, RaisesException] void setShouldDisplayTrackKind(DOMString kind, boolean enabled);
-    [Conditional=VIDEO_TRACK, RaisesException] boolean shouldDisplayTrackKind(DOMString trackKind);
-    [RaisesException] void setDefaultVideoPosterURL(DOMString poster);
-    [RaisesException] void setTimeWithoutMouseMovementBeforeHidingControls(unrestricted double time);
-    [RaisesException] void setMediaTypeOverride(DOMString mediaTypeOverride);
</del><ins>+    [MayThrowLegacyException] void setCanStartMedia(boolean enabled);
+    [Conditional=VIDEO_TRACK, MayThrowLegacyException] void setShouldDisplayTrackKind(DOMString kind, boolean enabled);
+    [Conditional=VIDEO_TRACK, MayThrowLegacyException] boolean shouldDisplayTrackKind(DOMString trackKind);
+    [MayThrowLegacyException] void setDefaultVideoPosterURL(DOMString poster);
+    [MayThrowLegacyException] void setTimeWithoutMouseMovementBeforeHidingControls(unrestricted double time);
+    [MayThrowLegacyException] void setMediaTypeOverride(DOMString mediaTypeOverride);
</ins><span class="cx">     void setAllowsAirPlayForMediaPlayback(boolean available);
</span><span class="cx"> 
</span><del>-    [RaisesException] void setForcePendingWebGLPolicy(boolean forced);
</del><ins>+    [MayThrowLegacyException] void setForcePendingWebGLPolicy(boolean forced);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void setQuickTimePluginReplacementEnabled(boolean enabled);
-    [RaisesException] void setYouTubeFlashPluginReplacementEnabled(boolean enabled);
</del><ins>+    [MayThrowLegacyException] void setQuickTimePluginReplacementEnabled(boolean enabled);
+    [MayThrowLegacyException] void setYouTubeFlashPluginReplacementEnabled(boolean enabled);
</ins><span class="cx"> 
</span><span class="cx">     // Editing, forms
</span><del>-    [RaisesException] void setEditingBehavior(DOMString behavior);
-    [RaisesException] void setShouldConvertPositionStyleOnCopy(boolean convert);
</del><ins>+    [MayThrowLegacyException] void setEditingBehavior(DOMString behavior);
+    [MayThrowLegacyException] void setShouldConvertPositionStyleOnCopy(boolean convert);
</ins><span class="cx">     void setLangAttributeAwareFormControlUIEnabled(boolean enabled);
</span><del>-    [RaisesException] void setPreferMIMETypeForImages(boolean preferMimeTypeForImage);
</del><ins>+    [MayThrowLegacyException] void setPreferMIMETypeForImages(boolean preferMimeTypeForImage);
</ins><span class="cx"> 
</span><span class="cx">     // Other switches
</span><del>-    [RaisesException] void setStorageBlockingPolicy(DOMString policy);
-    [RaisesException] void setImagesEnabled(boolean enabled);
-    [RaisesException] void setPDFImageCachingPolicy(DOMString policy);
-    [RaisesException] void setUseLegacyBackgroundSizeShorthandBehavior(boolean enabled);
-    [RaisesException] void setAutoscrollForDragAndDropEnabled(boolean enabled);
-    [RaisesException] void setBackgroundShouldExtendBeyondPage(boolean hasExtendedBackground);
-    [RaisesException] void setScrollingTreeIncludesFrames(boolean enabled);
</del><ins>+    [MayThrowLegacyException] void setStorageBlockingPolicy(DOMString policy);
+    [MayThrowLegacyException] void setImagesEnabled(boolean enabled);
+    [MayThrowLegacyException] void setPDFImageCachingPolicy(DOMString policy);
+    [MayThrowLegacyException] void setUseLegacyBackgroundSizeShorthandBehavior(boolean enabled);
+    [MayThrowLegacyException] void setAutoscrollForDragAndDropEnabled(boolean enabled);
+    [MayThrowLegacyException] void setBackgroundShouldExtendBeyondPage(boolean hasExtendedBackground);
+    [MayThrowLegacyException] void setScrollingTreeIncludesFrames(boolean enabled);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void setMinimumTimerInterval(unrestricted double intervalInSeconds);
-    [RaisesException] void setAllowsInlineMediaPlayback(boolean allows);
-    [RaisesException] void setAllowsInlineMediaPlaybackAfterFullscreen(boolean allows);
-    [RaisesException] void setInlineMediaPlaybackRequiresPlaysInlineAttribute(boolean requires);
</del><ins>+    [MayThrowLegacyException] void setMinimumTimerInterval(unrestricted double intervalInSeconds);
+    [MayThrowLegacyException] void setAllowsInlineMediaPlayback(boolean allows);
+    [MayThrowLegacyException] void setAllowsInlineMediaPlaybackAfterFullscreen(boolean allows);
+    [MayThrowLegacyException] void setInlineMediaPlaybackRequiresPlaysInlineAttribute(boolean requires);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void setIndexedDBWorkersEnabled(boolean requires);
</del><ins>+    [MayThrowLegacyException] void setIndexedDBWorkersEnabled(boolean requires);
</ins><span class="cx"> 
</span><del>-    [RaisesException] DOMString userInterfaceDirectionPolicy();
-    [RaisesException] void setUserInterfaceDirectionPolicy(DOMString policy);
-    [RaisesException] DOMString systemLayoutDirection();
-    [RaisesException] void setSystemLayoutDirection(DOMString direction);
</del><ins>+    [MayThrowLegacyException] DOMString userInterfaceDirectionPolicy();
+    [MayThrowLegacyException] void setUserInterfaceDirectionPolicy(DOMString policy);
+    [MayThrowLegacyException] DOMString systemLayoutDirection();
+    [MayThrowLegacyException] void setSystemLayoutDirection(DOMString direction);
</ins><span class="cx"> 
</span><del>-    [RaisesException] boolean variationFontsEnabled();
-    [RaisesException] void setVariationFontsEnabled(boolean enabled);
</del><ins>+    [MayThrowLegacyException] boolean variationFontsEnabled();
+    [MayThrowLegacyException] void setVariationFontsEnabled(boolean enabled);
</ins><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/testing/Internals.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx">     // Animated image pausing testing.
</span><span class="cx">     boolean hasPausedImageAnimations(Element element);
</span><span class="cx"> 
</span><del>-    [RaisesException] DOMString elementRenderTreeAsText(Element element);
</del><ins>+    [MayThrowLegacyException] DOMString elementRenderTreeAsText(Element element);
</ins><span class="cx">     boolean isPreloaded(DOMString url);
</span><span class="cx">     boolean isLoadingFromMemoryCache(DOMString url);
</span><span class="cx">     DOMString xhrResponseSource(XMLHttpRequest xhr);
</span><span class="lines">@@ -100,12 +100,12 @@
</span><span class="cx"> 
</span><span class="cx">     CSSStyleDeclaration computedStyleIncludingVisitedInfo(Element element);
</span><span class="cx"> 
</span><del>-    [RaisesException] Node ensureShadowRoot(Element host);
</del><ins>+    [MayThrowLegacyException] Node ensureShadowRoot(Element host);
</ins><span class="cx">     Node ensureUserAgentShadowRoot(Element host);
</span><del>-    [RaisesException] Node createShadowRoot(Element host);
</del><ins>+    [MayThrowLegacyException] Node createShadowRoot(Element host);
</ins><span class="cx">     Node shadowRoot(Element host);
</span><span class="cx"> 
</span><del>-    [RaisesException] DOMString shadowRootType(Node root);
</del><ins>+    [MayThrowLegacyException] DOMString shadowRootType(Node root);
</ins><span class="cx">     DOMString shadowPseudoId(Element element);
</span><span class="cx">     void setShadowPseudoId(Element element, DOMString id);
</span><span class="cx">     Node treeScopeRootNode(Node node);
</span><span class="lines">@@ -112,67 +112,63 @@
</span><span class="cx">     Node parentTreeScope(Node node);
</span><span class="cx"> 
</span><span class="cx">     // Spatial Navigation testing
</span><del>-    [RaisesException] unsigned long lastSpatialNavigationCandidateCount();
</del><ins>+    [MayThrowLegacyException] unsigned long lastSpatialNavigationCandidateCount();
</ins><span class="cx"> 
</span><span class="cx">     // CSS Animation testing.
</span><span class="cx">     unsigned long numberOfActiveAnimations();
</span><del>-    [RaisesException] void suspendAnimations();
-    [RaisesException] void resumeAnimations();
-    [RaisesException] boolean animationsAreSuspended();
-    [RaisesException] boolean pauseAnimationAtTimeOnElement(DOMString animationName, unrestricted double pauseTime, Element element);
-    [RaisesException] boolean pauseAnimationAtTimeOnPseudoElement(DOMString animationName, unrestricted double pauseTime, Element element, DOMString pseudoId);
</del><ins>+    [MayThrowLegacyException] void suspendAnimations();
+    [MayThrowLegacyException] void resumeAnimations();
+    [MayThrowLegacyException] boolean animationsAreSuspended();
+    [MayThrowLegacyException] boolean pauseAnimationAtTimeOnElement(DOMString animationName, unrestricted double pauseTime, Element element);
+    [MayThrowLegacyException] boolean pauseAnimationAtTimeOnPseudoElement(DOMString animationName, unrestricted double pauseTime, Element element, DOMString pseudoId);
</ins><span class="cx"> 
</span><span class="cx">     // CSS Transition testing.
</span><del>-    [RaisesException] boolean pauseTransitionAtTimeOnElement(DOMString propertyName, unrestricted double pauseTime, Element element);
-    [RaisesException] boolean pauseTransitionAtTimeOnPseudoElement(DOMString property, unrestricted double pauseTime, Element element, DOMString pseudoId);
</del><ins>+    [MayThrowLegacyException] boolean pauseTransitionAtTimeOnElement(DOMString propertyName, unrestricted double pauseTime, Element element);
+    [MayThrowLegacyException] boolean pauseTransitionAtTimeOnPseudoElement(DOMString property, unrestricted double pauseTime, Element element, DOMString pseudoId);
</ins><span class="cx"> 
</span><span class="cx">     DOMString visiblePlaceholder(Element element);
</span><span class="cx">     void selectColorInColorChooser(HTMLInputElement element, DOMString colorValue);
</span><del>-    [RaisesException] sequence&lt;DOMString&gt; formControlStateOfPreviousHistoryItem();
-    [RaisesException] void setFormControlStateOfPreviousHistoryItem(sequence&lt;DOMString&gt; values);
</del><ins>+    [MayThrowLegacyException] sequence&lt;DOMString&gt; formControlStateOfPreviousHistoryItem();
+    [MayThrowLegacyException] void setFormControlStateOfPreviousHistoryItem(sequence&lt;DOMString&gt; values);
</ins><span class="cx"> 
</span><del>-    [RaisesException] ClientRect absoluteCaretBounds();
</del><ins>+    [MayThrowLegacyException] ClientRect absoluteCaretBounds();
</ins><span class="cx"> 
</span><span class="cx">     ClientRect boundingBox(Element element);
</span><span class="cx"> 
</span><del>-    [RaisesException] ClientRectList inspectorHighlightRects();
-    [RaisesException] DOMString inspectorHighlightObject();
</del><ins>+    [MayThrowLegacyException] ClientRectList inspectorHighlightRects();
+    [MayThrowLegacyException] DOMString inspectorHighlightObject();
</ins><span class="cx"> 
</span><del>-    [RaisesException] unsigned long markerCountForNode(Node node, DOMString markerType);
-    [RaisesException] Range markerRangeForNode(Node node, DOMString markerType, unsigned long index);
-    [RaisesException] DOMString markerDescriptionForNode(Node node, DOMString markerType, unsigned long index);
-    [RaisesException] DOMString dumpMarkerRects(DOMString markerType);
</del><ins>+    [MayThrowLegacyException] unsigned long markerCountForNode(Node node, DOMString markerType);
+    [MayThrowLegacyException] Range markerRangeForNode(Node node, DOMString markerType, unsigned long index);
+    [MayThrowLegacyException] DOMString markerDescriptionForNode(Node node, DOMString markerType, unsigned long index);
+    [MayThrowLegacyException] DOMString dumpMarkerRects(DOMString markerType);
</ins><span class="cx">     void addTextMatchMarker(Range range, boolean isActive);
</span><del>-    [RaisesException] void setMarkedTextMatchesAreHighlighted(boolean flag);
</del><ins>+    [MayThrowLegacyException] void setMarkedTextMatchesAreHighlighted(boolean flag);
</ins><span class="cx"> 
</span><span class="cx">     void invalidateFontCache();
</span><span class="cx"> 
</span><del>-    [RaisesException] void setScrollViewPosition(long x, long y);
</del><ins>+    [MayThrowLegacyException] void setScrollViewPosition(long x, long y);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void setViewBaseBackgroundColor(DOMString colorValue);
</del><ins>+    [MayThrowLegacyException] void setViewBaseBackgroundColor(DOMString colorValue);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void setPagination(DOMString mode, long gap, optional long pageLength = 0);
-    [RaisesException] void setPaginationLineGridEnabled(boolean enabled);
</del><ins>+    [MayThrowLegacyException] void setPagination(DOMString mode, long gap, optional long pageLength = 0);
+    [MayThrowLegacyException] void setPaginationLineGridEnabled(boolean enabled);
</ins><span class="cx"> 
</span><del>-    [RaisesException] DOMString configurationForViewport(unrestricted float devicePixelRatio,
-                                       long deviceWidth,
-                                       long deviceHeight,
-                                       long availableWidth,
-                                       long availableHeight);
</del><ins>+    [MayThrowLegacyException] DOMString configurationForViewport(unrestricted float devicePixelRatio, long deviceWidth, long deviceHeight, long availableWidth, long availableHeight);
</ins><span class="cx"> 
</span><del>-    [RaisesException] boolean wasLastChangeUserEdit(Element textField);
</del><ins>+    [MayThrowLegacyException] boolean wasLastChangeUserEdit(Element textField);
</ins><span class="cx">     boolean elementShouldAutoComplete(HTMLInputElement inputElement);
</span><span class="cx">     void setEditingValue(HTMLInputElement inputElement, DOMString value);
</span><span class="cx">     void setAutofilled(HTMLInputElement inputElement, boolean enabled);
</span><span class="cx">     void setShowAutoFillButton(HTMLInputElement inputElement, AutoFillButtonType autoFillButtonType);
</span><del>-    [RaisesException] unsigned long countMatchesForText(DOMString text, unsigned long findOptions, DOMString markMatches);
-    [RaisesException] unsigned long countFindMatches(DOMString text, unsigned long findOptions);
</del><ins>+    [MayThrowLegacyException] unsigned long countMatchesForText(DOMString text, unsigned long findOptions, DOMString markMatches);
+    [MayThrowLegacyException] unsigned long countFindMatches(DOMString text, unsigned long findOptions);
</ins><span class="cx"> 
</span><del>-    [RaisesException] DOMString autofillFieldName(Element formControlElement);
</del><ins>+    [MayThrowLegacyException] DOMString autofillFieldName(Element formControlElement);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void paintControlTints();
</del><ins>+    [MayThrowLegacyException] void paintControlTints();
</ins><span class="cx"> 
</span><del>-    [RaisesException] void scrollElementToRect(Element element, long x, long y, long w, long h);
</del><ins>+    [MayThrowLegacyException] void scrollElementToRect(Element element, long x, long y, long w, long h);
</ins><span class="cx"> 
</span><span class="cx">     Range rangeFromLocationAndLength(Element scope, long rangeLocation, long rangeLength);
</span><span class="cx">     unsigned long locationFromRange(Element scope, Range range);
</span><span class="lines">@@ -179,12 +175,12 @@
</span><span class="cx">     unsigned long lengthFromRange(Element scope, Range range);
</span><span class="cx">     DOMString rangeAsText(Range range);
</span><span class="cx">     Range subrange(Range range, long rangeLocation, long rangeLength);
</span><del>-    [RaisesException] Range rangeForDictionaryLookupAtLocation(long x, long y);
</del><ins>+    [MayThrowLegacyException] Range rangeForDictionaryLookupAtLocation(long x, long y);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void setDelegatesScrolling(boolean enabled);
</del><ins>+    [MayThrowLegacyException] void setDelegatesScrolling(boolean enabled);
</ins><span class="cx"> 
</span><del>-    [RaisesException] long lastSpellCheckRequestSequence();
-    [RaisesException] long lastSpellCheckProcessedSequence();
</del><ins>+    [MayThrowLegacyException] long lastSpellCheckRequestSequence();
+    [MayThrowLegacyException] long lastSpellCheckProcessedSequence();
</ins><span class="cx"> 
</span><span class="cx">     sequence&lt;DOMString&gt; userPreferredLanguages();
</span><span class="cx">     void setUserPreferredLanguages(sequence&lt;DOMString&gt; languages);
</span><span class="lines">@@ -192,10 +188,10 @@
</span><span class="cx">     sequence&lt;DOMString&gt; userPreferredAudioCharacteristics();
</span><span class="cx">     void setUserPreferredAudioCharacteristic(DOMString characteristic);
</span><span class="cx"> 
</span><del>-    [RaisesException] unsigned long wheelEventHandlerCount();
-    [RaisesException] unsigned long touchEventHandlerCount();
</del><ins>+    [MayThrowLegacyException] unsigned long wheelEventHandlerCount();
+    [MayThrowLegacyException] unsigned long touchEventHandlerCount();
</ins><span class="cx"> 
</span><del>-    [RaisesException] NodeList nodesFromRect(Document document, long x, long y,
</del><ins>+    [MayThrowLegacyException] NodeList nodesFromRect(Document document, long x, long y,
</ins><span class="cx">         unsigned long topPadding, unsigned long rightPadding, unsigned long bottomPadding, unsigned long leftPadding,
</span><span class="cx">         boolean ignoreClipping, boolean allowShadowContent, boolean allowChildFrameContent);
</span><span class="cx"> 
</span><span class="lines">@@ -204,9 +200,9 @@
</span><span class="cx"> 
</span><span class="cx">     void updateEditorUINowIfScheduled();
</span><span class="cx"> 
</span><del>-    [RaisesException] boolean hasSpellingMarker(long from, long length);
-    [RaisesException] boolean hasGrammarMarker(long from, long length);
-    [RaisesException] boolean hasAutocorrectedMarker(long from, long length);
</del><ins>+    [MayThrowLegacyException] boolean hasSpellingMarker(long from, long length);
+    [MayThrowLegacyException] boolean hasGrammarMarker(long from, long length);
+    [MayThrowLegacyException] boolean hasAutocorrectedMarker(long from, long length);
</ins><span class="cx">     void setContinuousSpellCheckingEnabled(boolean enabled);
</span><span class="cx">     void setAutomaticQuoteSubstitutionEnabled(boolean enabled);
</span><span class="cx">     void setAutomaticLinkDetectionEnabled(boolean enabled);
</span><span class="lines">@@ -214,14 +210,14 @@
</span><span class="cx">     void setAutomaticTextReplacementEnabled(boolean enabled);
</span><span class="cx">     void setAutomaticSpellingCorrectionEnabled(boolean enabled);
</span><span class="cx"> 
</span><del>-    [RaisesException] void handleAcceptedCandidate(DOMString candidate, unsigned long location, unsigned long length);
</del><ins>+    [MayThrowLegacyException] void handleAcceptedCandidate(DOMString candidate, unsigned long location, unsigned long length);
</ins><span class="cx"> 
</span><del>-    [RaisesException] boolean isOverwriteModeEnabled();
-    [RaisesException] void toggleOverwriteModeEnabled();
</del><ins>+    [MayThrowLegacyException] boolean isOverwriteModeEnabled();
+    [MayThrowLegacyException] void toggleOverwriteModeEnabled();
</ins><span class="cx"> 
</span><del>-    [RaisesException] unsigned long numberOfScrollableAreas();
</del><ins>+    [MayThrowLegacyException] unsigned long numberOfScrollableAreas();
</ins><span class="cx"> 
</span><del>-    [RaisesException] boolean isPageBoxVisible(long pageNumber);
</del><ins>+    [MayThrowLegacyException] boolean isPageBoxVisible(long pageNumber);
</ins><span class="cx"> 
</span><span class="cx">     unsigned long imageFrameIndex(HTMLImageElement element);
</span><span class="cx"> 
</span><span class="lines">@@ -234,29 +230,29 @@
</span><span class="cx">     const unsigned short LAYER_TREE_INCLUDES_REPAINT_RECTS = 4;
</span><span class="cx">     const unsigned short LAYER_TREE_INCLUDES_PAINTING_PHASES = 8;
</span><span class="cx">     const unsigned short LAYER_TREE_INCLUDES_CONTENT_LAYERS = 16;
</span><del>-    [RaisesException] DOMString layerTreeAsText(Document document, optional unsigned short flags = 0);
</del><ins>+    [MayThrowLegacyException] DOMString layerTreeAsText(Document document, optional unsigned short flags = 0);
</ins><span class="cx"> 
</span><del>-    [RaisesException] DOMString scrollingStateTreeAsText();
-    [RaisesException] DOMString mainThreadScrollingReasons(); // FIXME: rename to synchronousScrollingReasons().
-    [RaisesException] ClientRectList nonFastScrollableRects();
</del><ins>+    [MayThrowLegacyException] DOMString scrollingStateTreeAsText();
+    [MayThrowLegacyException] DOMString mainThreadScrollingReasons(); // FIXME: rename to synchronousScrollingReasons().
+    [MayThrowLegacyException] ClientRectList nonFastScrollableRects();
</ins><span class="cx"> 
</span><del>-    [RaisesException] DOMString repaintRectsAsText();
</del><ins>+    [MayThrowLegacyException] DOMString repaintRectsAsText();
</ins><span class="cx"> 
</span><span class="cx">     // These throw if the element does not have a compositing layer.
</span><del>-    [RaisesException] void setElementUsesDisplayListDrawing(Element element, boolean usesDisplayListDrawing);
-    [RaisesException] void setElementTracksDisplayListReplay(Element element, boolean trackReplay);
</del><ins>+    [MayThrowLegacyException] void setElementUsesDisplayListDrawing(Element element, boolean usesDisplayListDrawing);
+    [MayThrowLegacyException] void setElementTracksDisplayListReplay(Element element, boolean trackReplay);
</ins><span class="cx"> 
</span><span class="cx">     // Flags for displayListForElement.
</span><span class="cx">     const unsigned short DISPLAY_LIST_INCLUDES_PLATFORM_OPERATIONS = 1;
</span><span class="cx">     // Returns the recorded display list.
</span><del>-    [RaisesException] DOMString displayListForElement(Element element, optional unsigned short flags = 0);
</del><ins>+    [MayThrowLegacyException] DOMString displayListForElement(Element element, optional unsigned short flags = 0);
</ins><span class="cx">     // Returns the display list that was actually painted.
</span><del>-    [RaisesException] DOMString replayDisplayListForElement(Element element, optional unsigned short flags = 0);
</del><ins>+    [MayThrowLegacyException] DOMString replayDisplayListForElement(Element element, optional unsigned short flags = 0);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void garbageCollectDocumentResources();
</del><ins>+    [MayThrowLegacyException] void garbageCollectDocumentResources();
</ins><span class="cx"> 
</span><del>-    [RaisesException] void insertAuthorCSS(DOMString css);
-    [RaisesException] void insertUserCSS(DOMString css);
</del><ins>+    [MayThrowLegacyException] void insertAuthorCSS(DOMString css);
+    [MayThrowLegacyException] void insertUserCSS(DOMString css);
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute boolean isUnderMemoryPressure;
</span><span class="cx">     void beginSimulatedMemoryPressure();
</span><span class="lines">@@ -263,11 +259,11 @@
</span><span class="cx">     void endSimulatedMemoryPressure();
</span><span class="cx"> 
</span><span class="cx"> #if defined(ENABLE_BATTERY_STATUS) &amp;&amp; ENABLE_BATTERY_STATUS
</span><del>-    [RaisesException] void setBatteryStatus(DOMString eventType, boolean charging, unrestricted double chargingTime, unrestricted double dischargingTime, unrestricted double level);
</del><ins>+    [MayThrowLegacyException] void setBatteryStatus(DOMString eventType, boolean charging, unrestricted double chargingTime, unrestricted double dischargingTime, unrestricted double level);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if defined(ENABLE_PROXIMITY_EVENTS) &amp;&amp; ENABLE_PROXIMITY_EVENTS
</span><del>-    [RaisesException] void setDeviceProximity(DOMString eventType, unrestricted double value, unrestricted double min, unrestricted double max);
</del><ins>+    [MayThrowLegacyException] void setDeviceProximity(DOMString eventType, unrestricted double value, unrestricted double min, unrestricted double max);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     unsigned long numberOfLiveNodes();
</span><span class="lines">@@ -274,23 +270,23 @@
</span><span class="cx">     unsigned long numberOfLiveDocuments();
</span><span class="cx">     DOMWindow openDummyInspectorFrontend(DOMString url);
</span><span class="cx">     void closeDummyInspectorFrontend();
</span><del>-    [RaisesException] void setInspectorIsUnderTest(boolean isUnderTest);
</del><ins>+    [MayThrowLegacyException] void setInspectorIsUnderTest(boolean isUnderTest);
</ins><span class="cx"> 
</span><span class="cx">     DOMString counterValue(Element element);
</span><span class="cx">     long pageNumber(Element element, optional unrestricted float pageWidth = 800, optional unrestricted float pageHeight = 600);
</span><span class="cx">     sequence&lt;DOMString&gt; shortcutIconURLs();
</span><span class="cx">     long numberOfPages(optional unrestricted double pageWidthInPixels = 800, optional unrestricted double pageHeightInPixels = 600);
</span><del>-    [RaisesException] DOMString pageProperty(DOMString propertyName, long pageNumber);
-    [RaisesException] DOMString pageSizeAndMarginsInPixels(long pageIndex, long width, long height, long marginTop, long marginRight, long marginBottom, long marginLeft);
</del><ins>+    [MayThrowLegacyException] DOMString pageProperty(DOMString propertyName, long pageNumber);
+    [MayThrowLegacyException] DOMString pageSizeAndMarginsInPixels(long pageIndex, long width, long height, long marginTop, long marginRight, long marginBottom, long marginLeft);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void setPageScaleFactor(unrestricted float scaleFactor, long x, long y);
-    [RaisesException] void setPageZoomFactor(unrestricted float zoomFactor);
-    [RaisesException] void setTextZoomFactor(unrestricted float zoomFactor);
</del><ins>+    [MayThrowLegacyException] void setPageScaleFactor(unrestricted float scaleFactor, long x, long y);
+    [MayThrowLegacyException] void setPageZoomFactor(unrestricted float zoomFactor);
+    [MayThrowLegacyException] void setTextZoomFactor(unrestricted float zoomFactor);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void setUseFixedLayout(boolean useFixedLayout);
-    [RaisesException] void setFixedLayoutSize(long width, long height);
</del><ins>+    [MayThrowLegacyException] void setUseFixedLayout(boolean useFixedLayout);
+    [MayThrowLegacyException] void setFixedLayoutSize(long width, long height);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void setViewExposedRect(unrestricted float x, unrestricted float y, unrestricted float width, unrestricted float height);
</del><ins>+    [MayThrowLegacyException] void setViewExposedRect(unrestricted float x, unrestricted float y, unrestricted float width, unrestricted float height);
</ins><span class="cx"> 
</span><span class="cx">     void setHeaderHeight(unrestricted float height);
</span><span class="cx">     void setFooterHeight(unrestricted float height);
</span><span class="lines">@@ -317,33 +313,33 @@
</span><span class="cx"> 
</span><span class="cx">     // These functions both reset the tracked repaint rects. They are intended to be used in the following order:
</span><span class="cx">     //  startTrackingRepaints, repaintRectsAsText, stopTrackingRepaints.
</span><del>-    [RaisesException] void startTrackingRepaints();
-    [RaisesException] void stopTrackingRepaints();
</del><ins>+    [MayThrowLegacyException] void startTrackingRepaints();
+    [MayThrowLegacyException] void stopTrackingRepaints();
</ins><span class="cx"> 
</span><del>-    [RaisesException] void startTrackingLayerFlushes();
-    [RaisesException] unsigned long layerFlushCount();
</del><ins>+    [MayThrowLegacyException] void startTrackingLayerFlushes();
+    [MayThrowLegacyException] unsigned long layerFlushCount();
</ins><span class="cx"> 
</span><span class="cx">     // Query if a timer is currently throttled, to debug timer throttling.
</span><del>-    [RaisesException] boolean isTimerThrottled(long timerHandle);
</del><ins>+    [MayThrowLegacyException] boolean isTimerThrottled(long timerHandle);
</ins><span class="cx"> 
</span><span class="cx">     boolean isRequestAnimationFrameThrottled();
</span><span class="cx">     boolean areTimersThrottled();
</span><span class="cx"> 
</span><del>-    [RaisesException] void startTrackingStyleRecalcs();
-    [RaisesException] unsigned long styleRecalcCount();
</del><ins>+    [MayThrowLegacyException] void startTrackingStyleRecalcs();
+    [MayThrowLegacyException] unsigned long styleRecalcCount();
</ins><span class="cx"> 
</span><del>-    [RaisesException] void startTrackingCompositingUpdates();
-    [RaisesException] unsigned long compositingUpdateCount();
</del><ins>+    [MayThrowLegacyException] void startTrackingCompositingUpdates();
+    [MayThrowLegacyException] unsigned long compositingUpdateCount();
</ins><span class="cx"> 
</span><span class="cx">     // |node| should be Document, HTMLIFrameElement, or unspecified.
</span><span class="cx">     // If |node| is an HTMLIFrameElement, it assumes node.contentDocument is
</span><span class="cx">     // specified without security checks. Unspecified or null means this document.
</span><del>-    [RaisesException] void updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(optional Node? node = null);
</del><ins>+    [MayThrowLegacyException] void updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(optional Node? node = null);
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute unsigned long layoutCount;
</span><span class="cx"> 
</span><span class="cx">     // Returns a string with information about the mouse cursor used at the specified client location.
</span><del>-    [RaisesException] DOMString getCurrentCursorInfo();
</del><ins>+    [MayThrowLegacyException] DOMString getCurrentCursorInfo();
</ins><span class="cx"> 
</span><span class="cx">     DOMString markerTextForListItem(Element element);
</span><span class="cx"> 
</span><span class="lines">@@ -362,7 +358,7 @@
</span><span class="cx">     void enableAutoSizeMode(boolean enabled, long minimumWidth, long minimumHeight, long maximumWidth, long maximumHeight);
</span><span class="cx"> 
</span><span class="cx">     [Conditional=VIDEO] void simulateAudioInterruption(HTMLMediaElement element);
</span><del>-    [Conditional=VIDEO, RaisesException] boolean mediaElementHasCharacteristic(HTMLMediaElement element, DOMString characteristic);
</del><ins>+    [Conditional=VIDEO, MayThrowLegacyException] boolean mediaElementHasCharacteristic(HTMLMediaElement element, DOMString characteristic);
</ins><span class="cx"> 
</span><span class="cx">     [Conditional=ENCRYPTED_MEDIA_V2] void initializeMockCDM();
</span><span class="cx"> 
</span><span class="lines">@@ -370,10 +366,10 @@
</span><span class="cx"> 
</span><span class="cx">     DOMString getImageSourceURL(Element element);
</span><span class="cx"> 
</span><del>-    [Conditional=VIDEO_TRACK, RaisesException] DOMString captionsStyleSheetOverride();
-    [Conditional=VIDEO_TRACK, RaisesException] void setCaptionsStyleSheetOverride(DOMString override);
-    [Conditional=VIDEO_TRACK, RaisesException] void setPrimaryAudioTrackLanguageOverride(DOMString language);
-    [Conditional=VIDEO_TRACK, RaisesException] void setCaptionDisplayMode(DOMString mode);
</del><ins>+    [Conditional=VIDEO_TRACK, MayThrowLegacyException] DOMString captionsStyleSheetOverride();
+    [Conditional=VIDEO_TRACK, MayThrowLegacyException] void setCaptionsStyleSheetOverride(DOMString override);
+    [Conditional=VIDEO_TRACK, MayThrowLegacyException] void setPrimaryAudioTrackLanguageOverride(DOMString language);
+    [Conditional=VIDEO_TRACK, MayThrowLegacyException] void setCaptionDisplayMode(DOMString mode);
</ins><span class="cx"> 
</span><span class="cx">     [Conditional=VIDEO] TimeRanges createTimeRanges(Float32Array startTimes, Float32Array
</span><span class="cx">      endTimes);
</span><span class="lines">@@ -385,10 +381,10 @@
</span><span class="cx">     boolean isVibrating();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    [RaisesException] boolean isPluginUnavailabilityIndicatorObscured(Element element);
</del><ins>+    [MayThrowLegacyException] boolean isPluginUnavailabilityIndicatorObscured(Element element);
</ins><span class="cx">     boolean isPluginSnapshotted(Element element);
</span><span class="cx"> 
</span><del>-    [RaisesException] ClientRect selectionBounds();
</del><ins>+    [MayThrowLegacyException] ClientRect selectionBounds();
</ins><span class="cx"> 
</span><span class="cx">     [Conditional=MEDIA_SOURCE] void initializeMockMediaSource();
</span><span class="cx">     [Conditional=MEDIA_SOURCE] sequence&lt;DOMString&gt; bufferedSamplesForTrackID(SourceBuffer buffer, DOMString trackID);
</span><span class="lines">@@ -395,7 +391,7 @@
</span><span class="cx">     [Conditional=MEDIA_SOURCE] sequence&lt;DOMString&gt; enqueuedSamplesForTrackID(SourceBuffer buffer, DOMString trackID);
</span><span class="cx">     [Conditional=MEDIA_SOURCE] void setShouldGenerateTimestamps(SourceBuffer buffer, boolean flag);
</span><span class="cx"> 
</span><del>-    [Conditional=VIDEO, RaisesException] void beginMediaSessionInterruption(DOMString interruptionType);
</del><ins>+    [Conditional=VIDEO, MayThrowLegacyException] void beginMediaSessionInterruption(DOMString interruptionType);
</ins><span class="cx">     [Conditional=VIDEO] void endMediaSessionInterruption(DOMString flags);
</span><span class="cx">     [Conditional=MEDIA_SESSION] void sendMediaSessionStartOfInterruptionNotification(MediaSessionInterruptingCategory category);
</span><span class="cx">     [Conditional=MEDIA_SESSION] void sendMediaSessionEndOfInterruptionNotification(MediaSessionInterruptingCategory category);
</span><span class="lines">@@ -404,12 +400,12 @@
</span><span class="cx">     [Conditional=MEDIA_SESSION] void sendMediaControlEvent(MediaControlEvent event);
</span><span class="cx">     [Conditional=VIDEO] void applicationDidEnterForeground();
</span><span class="cx">     [Conditional=VIDEO] void applicationWillEnterBackground();
</span><del>-    [Conditional=VIDEO, RaisesException] void setMediaSessionRestrictions(DOMString mediaType, DOMString restrictions);
</del><ins>+    [Conditional=VIDEO, MayThrowLegacyException] void setMediaSessionRestrictions(DOMString mediaType, DOMString restrictions);
</ins><span class="cx">     [Conditional=VIDEO] void setMediaElementRestrictions(HTMLMediaElement element, DOMString restrictions);
</span><span class="cx">     [Conditional=WEB_AUDIO] void setAudioContextRestrictions(AudioContext context, DOMString restrictions);
</span><del>-    [Conditional=VIDEO, RaisesException] void postRemoteControlCommand(DOMString command, optional unrestricted float argument = 0);
</del><ins>+    [Conditional=VIDEO, MayThrowLegacyException] void postRemoteControlCommand(DOMString command, optional unrestricted float argument = 0);
</ins><span class="cx">     [Conditional=WIRELESS_PLAYBACK_TARGET] void setMockMediaPlaybackTargetPickerEnabled(boolean enabled);
</span><del>-    [Conditional=WIRELESS_PLAYBACK_TARGET, RaisesException] void setMockMediaPlaybackTargetPickerState(DOMString deviceName, DOMString deviceState);
</del><ins>+    [Conditional=WIRELESS_PLAYBACK_TARGET, MayThrowLegacyException] void setMockMediaPlaybackTargetPickerState(DOMString deviceName, DOMString deviceState);
</ins><span class="cx">     [Conditional=MEDIA_STREAM] void setMockMediaCaptureDevicesEnabled(boolean enabled);
</span><span class="cx"> 
</span><span class="cx">     [Conditional=VIDEO] void simulateSystemSleep();
</span><span class="lines">@@ -416,8 +412,8 @@
</span><span class="cx">     [Conditional=VIDEO] void simulateSystemWake();
</span><span class="cx">     [Conditional=VIDEO] boolean elementIsBlockingDisplaySleep(HTMLMediaElement element);
</span><span class="cx"> 
</span><del>-    [RaisesException] MockPageOverlay installMockPageOverlay(PageOverlayType type);
-    [RaisesException] DOMString pageOverlayLayerTreeAsText();
</del><ins>+    [MayThrowLegacyException] MockPageOverlay installMockPageOverlay(PageOverlayType type);
+    [MayThrowLegacyException] DOMString pageOverlayLayerTreeAsText();
</ins><span class="cx"> 
</span><span class="cx">     void setPageMuted(boolean muted);
</span><span class="cx">     boolean isPagePlayingAudio();
</span><span class="lines">@@ -431,10 +427,10 @@
</span><span class="cx">     [Conditional=CONTENT_FILTERING] readonly attribute MockContentFilterSettings mockContentFilterSettings;
</span><span class="cx"> 
</span><span class="cx"> #if defined(ENABLE_CSS_SCROLL_SNAP) &amp;&amp; ENABLE_CSS_SCROLL_SNAP
</span><del>-    [RaisesException] DOMString scrollSnapOffsets(Element element);
</del><ins>+    [MayThrowLegacyException] DOMString scrollSnapOffsets(Element element);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    [RaisesException] DOMString pathStringWithShrinkWrappedRects(sequence&lt;double&gt; rectComponents, double radius);
</del><ins>+    [MayThrowLegacyException] DOMString pathStringWithShrinkWrappedRects(sequence&lt;double&gt; rectComponents, double radius);
</ins><span class="cx"> 
</span><span class="cx">     [Conditional=VIDEO] DOMString getCurrentMediaControlsStatusForElement(HTMLMediaElement element);
</span><span class="cx"> 
</span><span class="lines">@@ -447,7 +443,7 @@
</span><span class="cx">     DOMString resourceLoadStatisticsForOrigin(DOMString domain);
</span><span class="cx">     void setResourceLoadStatisticsEnabled(boolean enable);
</span><span class="cx"> 
</span><del>-    [RaisesException] void setCanShowModalDialogOverride(boolean allow);
</del><ins>+    [MayThrowLegacyException] void setCanShowModalDialogOverride(boolean allow);
</ins><span class="cx"> 
</span><span class="cx">     DOMString composedTreeAsText(Node parent);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersDedicatedWorkerGlobalScopeidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx">     Exposed=DedicatedWorker,
</span><span class="cx">     JSGenerateToNativeObject,
</span><span class="cx"> ] interface DedicatedWorkerGlobalScope : WorkerGlobalScope {
</span><del>-    [Custom, RaisesException] void postMessage(any message, optional Array messagePorts);
</del><ins>+    [Custom, MayThrowLegacyException] void postMessage(any message, optional Array messagePorts);
</ins><span class="cx"> 
</span><span class="cx">     attribute EventHandler onmessage;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkeridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/Worker.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/Worker.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/workers/Worker.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx"> ] interface Worker : EventTarget {
</span><span class="cx">     attribute EventHandler onmessage;
</span><span class="cx"> 
</span><del>-    [Custom, RaisesException] void postMessage(SerializedScriptValue message, optional Array messagePorts);
</del><ins>+    [Custom, MayThrowLegacyException] void postMessage(SerializedScriptValue message, optional Array messagePorts);
</ins><span class="cx"> 
</span><span class="cx">     void terminate();
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorexmlDOMParseridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/DOMParser.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/DOMParser.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/xml/DOMParser.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -22,5 +22,5 @@
</span><span class="cx">     ConstructorCallWith=Document,
</span><span class="cx">     ImplementationLacksVTable,
</span><span class="cx"> ] interface DOMParser {
</span><del>-    [RaisesException, NewObject] Document parseFromString(DOMString str, DOMString contentType);
</del><ins>+    [MayThrowLegacyException, NewObject] Document parseFromString(DOMString str, DOMString contentType);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLHttpRequestidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLHttpRequest.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XMLHttpRequest.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -56,18 +56,18 @@
</span><span class="cx">     const unsigned short LOADING = 3;
</span><span class="cx">     const unsigned short DONE = 4;
</span><span class="cx"> 
</span><del>-    [SetterRaisesException] attribute unsigned long timeout;
</del><ins>+    [SetterMayThrowLegacyException] attribute unsigned long timeout;
</ins><span class="cx">     readonly attribute unsigned short readyState;
</span><span class="cx"> 
</span><del>-    [SetterRaisesException] attribute boolean withCredentials;
</del><ins>+    [SetterMayThrowLegacyException] attribute boolean withCredentials;
</ins><span class="cx"> 
</span><span class="cx">     // Use overloading rather than &quot;boolean async = true&quot; because legacy content prevents treating the 'async' argument being undefined identical from it being omitted.
</span><del>-    [RaisesException] void open(DOMString method, DOMString url);
-    [RaisesException] void open(DOMString method, DOMString url, boolean async, optional DOMString? user = null, optional DOMString? password = null);
</del><ins>+    [MayThrowLegacyException] void open(DOMString method, DOMString url);
+    [MayThrowLegacyException] void open(DOMString method, DOMString url, boolean async, optional DOMString? user = null, optional DOMString? password = null);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void setRequestHeader(DOMString header, DOMString value);
</del><ins>+    [MayThrowLegacyException] void setRequestHeader(DOMString header, DOMString value);
</ins><span class="cx"> 
</span><del>-    [Custom, RaisesException] void send();
</del><ins>+    [Custom, MayThrowLegacyException] void send();
</ins><span class="cx"> 
</span><span class="cx">     void abort();
</span><span class="cx"> 
</span><span class="lines">@@ -76,10 +76,10 @@
</span><span class="cx">     // response
</span><span class="cx">     DOMString getAllResponseHeaders();
</span><span class="cx">     DOMString? getResponseHeader(DOMString header);
</span><del>-    [GetterRaisesException, CustomGetter] readonly attribute DOMString? responseText;
-    [GetterRaisesException] readonly attribute Document responseXML;
</del><ins>+    [GetterMayThrowLegacyException, CustomGetter] readonly attribute DOMString? responseText;
+    [GetterMayThrowLegacyException] readonly attribute Document responseXML;
</ins><span class="cx"> 
</span><del>-    [SetterRaisesException] attribute XMLHttpRequestResponseType responseType;
</del><ins>+    [SetterMayThrowLegacyException] attribute XMLHttpRequestResponseType responseType;
</ins><span class="cx">     [JSBuiltin] readonly attribute Object response;
</span><span class="cx"> 
</span><span class="cx">     readonly attribute unsigned short status;
</span><span class="lines">@@ -90,5 +90,5 @@
</span><span class="cx">     [PrivateIdentifier, Custom] any retrieveResponse();
</span><span class="cx"> 
</span><span class="cx">     // Extension
</span><del>-    [RaisesException] void overrideMimeType(DOMString override);
</del><ins>+    [MayThrowLegacyException] void overrideMimeType(DOMString override);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXPathEvaluatoridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XPathEvaluator.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XPathEvaluator.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/xml/XPathEvaluator.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -22,12 +22,12 @@
</span><span class="cx">     ImplementationLacksVTable,
</span><span class="cx"> ] interface XPathEvaluator {
</span><span class="cx">     // FIXME: Using &quot;undefined&quot; as default parameter value is wrong.
</span><del>-    [RaisesException] XPathExpression createExpression(optional DOMString expression = &quot;undefined&quot;, optional XPathNSResolver? resolver);
</del><ins>+    [MayThrowLegacyException] XPathExpression createExpression(optional DOMString expression = &quot;undefined&quot;, optional XPathNSResolver? resolver);
</ins><span class="cx"> 
</span><span class="cx">     XPathNSResolver createNSResolver(optional Node? nodeResolver);
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Using &quot;undefined&quot; as default parameter value is wrong.
</span><del>-    [RaisesException] XPathResult evaluate(optional DOMString expression = &quot;undefined&quot;,
</del><ins>+    [MayThrowLegacyException] XPathResult evaluate(optional DOMString expression = &quot;undefined&quot;,
</ins><span class="cx">                          optional Node? contextNode,
</span><span class="cx">                          optional XPathNSResolver? resolver,
</span><span class="cx">                          optional unsigned short type = 0,
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXPathExpressionidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XPathExpression.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XPathExpression.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/xml/XPathExpression.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -22,5 +22,5 @@
</span><span class="cx">     ExportToWrappedFunction,
</span><span class="cx">     ImplementationLacksVTable,
</span><span class="cx"> ] interface XPathExpression {
</span><del>-    [RaisesException] XPathResult evaluate(optional Node? contextNode = null, optional unsigned short type = 0, optional XPathResult? inResult = null);
</del><ins>+    [MayThrowLegacyException] XPathResult evaluate(optional Node? contextNode = null, optional unsigned short type = 0, optional XPathResult? inResult = null);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXPathResultidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XPathResult.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XPathResult.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebCore/xml/XPathResult.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -34,14 +34,14 @@
</span><span class="cx">     const unsigned short FIRST_ORDERED_NODE_TYPE = 9;
</span><span class="cx"> 
</span><span class="cx">     readonly attribute unsigned short resultType;
</span><del>-    [GetterRaisesException] readonly attribute unrestricted double numberValue;
-    [GetterRaisesException] readonly attribute DOMString stringValue;
-    [GetterRaisesException] readonly attribute boolean booleanValue;
-    [GetterRaisesException] readonly attribute Node singleNodeValue;
</del><ins>+    [GetterMayThrowLegacyException] readonly attribute unrestricted double numberValue;
+    [GetterMayThrowLegacyException] readonly attribute DOMString stringValue;
+    [GetterMayThrowLegacyException] readonly attribute boolean booleanValue;
+    [GetterMayThrowLegacyException] readonly attribute Node singleNodeValue;
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute boolean invalidIteratorState;
</span><del>-    [GetterRaisesException] readonly attribute unsigned long snapshotLength;
</del><ins>+    [GetterMayThrowLegacyException] readonly attribute unsigned long snapshotLength;
</ins><span class="cx"> 
</span><del>-    [RaisesException] Node iterateNext();
-    [RaisesException] Node snapshotItem(optional unsigned long index = 0);
</del><ins>+    [MayThrowLegacyException] Node iterateNext();
+    [MayThrowLegacyException] Node snapshotItem(optional unsigned long index = 0);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/ChangeLog (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/ChangeLog        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebKit/win/ChangeLog        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2016-10-02  Darin Adler  &lt;darin@apple.com&gt;
+
+        Rename ExceptionCode-based exception handling to &quot;legacy&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=162859
+
+        Reviewed by Chris Dumez.
+
+        * Interfaces/DOMEvents.idl: Let the script rename here (in a comment).
+
</ins><span class="cx"> 2016-09-29  Konstantin Tokarev  &lt;annulen@yandex.ru&gt;
</span><span class="cx"> 
</span><span class="cx">         Fixed compilation of PluginView when NETSCAPE_PLUGIN_API is disabled
</span></span></pre></div>
<a id="trunkSourceWebKitwinInterfacesDOMEventsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/Interfaces/DOMEvents.idl (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/Interfaces/DOMEvents.idl        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Source/WebKit/win/Interfaces/DOMEvents.idl        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -150,7 +150,7 @@
</span><span class="cx"> ]
</span><span class="cx"> interface IDOMDocumentEvent : IUnknown
</span><span class="cx"> {
</span><del>-    //[RaisesException] Event              createEvent(DOMString eventType);
</del><ins>+    //[MayThrowLegacyException] Event              createEvent(DOMString eventType);
</ins><span class="cx">     HRESULT createEvent([in] BSTR eventType, [out, retval] IDOMEvent** result);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Tools/ChangeLog        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2016-10-02  Darin Adler  &lt;darin@apple.com&gt;
+
+        Rename ExceptionCode-based exception handling to &quot;legacy&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=162859
+
+        Reviewed by Chris Dumez.
+
+        * Scripts/do-webcore-rename: Updated script to do this round of renames.
+
</ins><span class="cx"> 2016-10-02  Wenson Hsieh  &lt;wenson_hsieh@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Media controls for Soundcloud easily falls out of sync with what's actually playing
</span></span></pre></div>
<a id="trunkToolsScriptsdowebcorerename"></a>
<div class="modfile"><h4>Modified: trunk/Tools/Scripts/do-webcore-rename (206722 => 206723)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/Scripts/do-webcore-rename        2016-10-02 20:59:06 UTC (rev 206722)
+++ trunk/Tools/Scripts/do-webcore-rename        2016-10-02 21:28:31 UTC (rev 206723)
</span><span class="lines">@@ -99,7 +99,13 @@
</span><span class="cx"> my $isDOMTypeRename = 0;
</span><span class="cx"> my %renames = (
</span><span class="cx">     # Renames go here in the form of:
</span><del>-    &quot;JSDOMBuild&quot; =&gt; &quot;JSDOMConvert&quot;,
</del><ins>+    &quot;ConstructorRaisesException&quot; =&gt; &quot;ConstructorMayThrowLegacyException&quot;,
+    &quot;GetterRaisesException&quot; =&gt; &quot;GetterMayThrowLegacyException&quot;,
+    &quot;GetterRaisesExceptionWithMessage&quot; =&gt; &quot;GetterMayThrowLegacyExceptionWithMessage&quot;,
+    &quot;RaisesException&quot; =&gt; &quot;MayThrowLegacyException&quot;,
+    &quot;RaisesExceptionWithMessage&quot; =&gt; &quot;MayThrowLegacyExceptionWithMessage&quot;,
+    &quot;SetterRaisesException&quot; =&gt; &quot;SetterMayThrowLegacyException&quot;,
+    &quot;SetterRaisesExceptionWithMessage&quot; =&gt; &quot;SetterMayThrowLegacyExceptionWithMessage&quot;,
</ins><span class="cx"> );
</span><span class="cx"> 
</span><span class="cx"> my %renamesContemplatedForTheFuture = (
</span></span></pre>
</div>
</div>

</body>
</html>