<!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>[208658] trunk/Source/WebCore</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/208658">208658</a></dd>
<dt>Author</dt> <dd>darin@apple.com</dd>
<dt>Date</dt> <dd>2016-11-12 14:30:22 -0800 (Sat, 12 Nov 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Remove LegacyException support from bindings script
https://bugs.webkit.org/show_bug.cgi?id=164516

Reviewed by Youenn Fablet.

Besides removing LegacyException support from the bindings script, this patch
also removes most uses of ExceptionCodePlaceholder.h. Also, some call sites of
createElement were using ASSERT_NO_EXCEPTION on an argument that was not even an
ExceptionCode&amp;, so to fix that, this changes most call sites to use specific create
functions for specific element classes, rather than using Document::createElement.

* Modules/mediasource/SourceBuffer.cpp: Removed include of
ExceptionCodePlaceholder.h.
* Modules/mediastream/MediaStreamTrack.cpp: Ditto.
* Modules/websockets/WebSocketChannel.cpp: Ditto.
* bindings/js/JSBlobCustom.cpp: Ditto.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Removed support for GetterMayThrowLegacyException,
SetterMayThrowLegacyException, and MayThrowLegacyException.
(GenerateParametersCheck): Ditto.
(GenerateImplementationFunctionCall): Ditto.
(GenerateConstructorDefinition): Ditto.

* bindings/scripts/IDLAttributes.txt: Removed ConstructorMayThrowLegacyException,
GetterMayThrowLegacyException, MayThrowLegacyException, and SetterMayThrowLegacyException.

* bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
* bindings/scripts/test/JS/JSTestDOMJIT.cpp:
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
Updated exepected results.

* bindings/scripts/test/TestImplements.idl: Use non-legacy exceptions.
* bindings/scripts/test/TestInterface.idl: Ditto.
* bindings/scripts/test/TestNamedConstructor.idl: Ditto.
* bindings/scripts/test/TestObj.idl: Ditto.
* bindings/scripts/test/TestSupplemental.idl: Ditto.
* bindings/scripts/test/TestTypedefs.idl: Ditto.

* dom/ContainerNode.h: Removed include of ExceptionCodePlaceholder.h.
* editing/AlternativeTextController.cpp: Ditto.
* editing/AppendNodeCommand.cpp: Ditto.

* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphs): Use specific create function
instead of Document::createElement.

* editing/DeleteFromTextNodeCommand.cpp: Removed include of
ExceptionCodePlaceholder.h.
* editing/Editor.cpp: Ditto.
* editing/EditorCommand.cpp: Ditto.
* editing/FormatBlockCommand.cpp: Ditto.

* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::tryIndentingAsListItem): Use specific create
function instead of Document::createElement.

* editing/InsertListCommand.cpp: Removed include of ExceptionCodePlaceholder.h.
* editing/InsertNodeBeforeCommand.cpp: Ditto.
* editing/RemoveNodeCommand.cpp: Ditto.
* editing/ReplaceSelectionCommand.cpp: Ditto.
* editing/TextIterator.cpp: Ditto.
* editing/WrapContentsInDummySpanCommand.cpp: Ditto.

* editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::styleForSelectionStart): Use specific create function instead
of Document::createElement.
* editing/htmlediting.cpp:
(WebCore::createTabSpanElement): Ditto.
* editing/ios/EditorIOS.mm:
(WebCore::Editor::WebContentReader::readURL): Ditto.
* editing/mac/EditorMac.mm:
(WebCore::Editor::WebContentReader::readURL): Ditto.

* editing/markup.cpp: Removed include of ExceptionCodePlaceholder.h.

* html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::appendEntry): Use specific create function
instead of Document::createElement.
(WebCore::FTPDirectoryDocumentParser::createTDForFilename): Ditto.
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate): Ditto.
(WebCore::FTPDirectoryDocumentParser::createBasicDocument): Ditto.

* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::create): Added overload that just takes a Document.
* html/HTMLEmbedElement.h: Updated for above.

* html/HTMLMediaElement.cpp: Removed include of ExceptionCodePlaceholder.h.

* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::create): Added overload that just takes a Document.
* html/HTMLMetaElement.h: Updated for above.

* html/HTMLOutputElement.cpp: Removed include of ExceptionCodePlaceholder.h.

* html/HTMLSelectElement.cpp: Ditto.
(WebCore::HTMLSelectElement::setLength): Use specific create function
instead of Document::createElement.

* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::create): Added overload that just takes a Document.
* html/HTMLSourceElement.h: Updated for above.

* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::HTMLStyleElement): Moved data member initialization
to class definition.
(WebCore::HTMLStyleElement::create): Added overload that just takes a Document.
* html/HTMLStyleElement.h: Updated for above. Also made finishParsingChildren public.

* html/HTMLTableElement.cpp: Removed include of ExceptionCodePlaceholder.h.
* html/HTMLTextAreaElement.cpp: Ditto.

* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::create): Added overload that just takes a Document.
* html/HTMLVideoElement.h: Updated for above.

* html/ImageDocument.cpp:
(WebCore::ImageDocument::createDocumentStructure): Use specific create function
instead of Document::createElement.

* html/InputType.cpp: Removed include of ExceptionCodePlaceholder.h.

* html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::createDocumentStructure): Use specific create
function instead of Document::createElement.
(WebCore::MediaDocument::replaceMediaElementTimerFired): Ditto.
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure): Ditto.

* html/RangeInputType.cpp: Removed include of ExceptionCodePlaceholder.h.

* html/RubyElement.cpp:
(WebCore::RubyElement::create): Added overload that just takes a Document.
* html/RubyElement.h: Updated for above.

* html/RubyTextElement.cpp:
(WebCore::RubyTextElement::create): Added overload that just takes a Document.
* html/RubyTextElement.h: Updated for above.

* html/ValidationMessage.cpp: Removed include of ExceptionCodePlaceholder.h.
* html/canvas/CanvasRenderingContext2D.cpp: Ditto.
* html/shadow/MediaControlElementTypes.cpp: Ditto.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
Use specific create function instead of Document::createElement.

* html/shadow/MediaControls.cpp: Removed include of ExceptionCodePlaceholder.h.
* html/shadow/MediaControlsApple.cpp: Ditto.
* html/track/InbandDataTextTrack.cpp: Ditto.
* html/track/InbandGenericTextTrack.cpp: Ditto.
* html/track/InbandTextTrack.cpp: Ditto.
* html/track/VTTRegion.cpp: Ditto.

* html/track/WebVTTElement.cpp:
(WebCore::WebVTTElement::createEquivalentHTMLElement): Use specific create
function instead of Document::createElement.
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::createInspectorStyleSheetForDocument): Ditto.

* page/ContextMenuController.cpp: Removed include of ExceptionCodePlaceholder.h.
* page/DOMWindow.cpp: Ditto.
* page/DragController.cpp: Ditto.
* page/EventHandler.cpp: Ditto.
* page/Page.cpp: Ditto.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Ditto.
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm: Ditto.
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: Ditto.
* platform/mac/PasteboardMac.mm: Ditto.
* platform/mac/WebVideoFullscreenHUDWindowController.mm: Ditto.
* platform/mock/mediasource/MockMediaPlayerMediaSource.cpp: Ditto.
* platform/mock/mediasource/MockMediaSourcePrivate.cpp: Ditto.
* rendering/RenderNamedFlowThread.cpp: Ditto.
* rendering/RenderThemeEfl.cpp: Ditto.
* rendering/RenderThemeMac.mm: Ditto.
* rendering/style/SVGRenderStyle.h: Ditto.
* svg/SVGTRefElement.cpp: Ditto.

* xml/XMLErrors.cpp:
(WebCore::XMLErrors::XMLErrors): Take a reference and initialize data member
in class definition.
(WebCore::createXHTMLParserErrorHeader): Take a reference, and mostly use
specific create functions instead of createElement.
(WebCore::XMLErrors::insertErrorMessageBlock): Ditto.
* xml/XMLErrors.h: Updated for above.

* xml/XMLTreeViewer.cpp: Removed include of ExceptionCodePlaceholder.h.

* xml/parser/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::handleError): Pass a reference.

* xml/parser/XMLDocumentParserLibxml2.cpp: Removed include of
ExceptionCodePlaceholder.h.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceSourceBuffercpp">trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaStreamTrackcpp">trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebsocketsWebSocketChannelcpp">trunk/Source/WebCore/Modules/websockets/WebSocketChannel.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSBlobCustomcpp">trunk/Source/WebCore/bindings/js/JSBlobCustom.cpp</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="#trunkSourceWebCorebindingsscriptstestJSJSTestCEReactionsStringifiercpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestDOMJITcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestEventTargetcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestInterfacecpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministiccpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestOverrideBuiltinscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestTypedefscpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp</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="#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="#trunkSourceWebCoredomContainerNodeh">trunk/Source/WebCore/dom/ContainerNode.h</a></li>
<li><a href="#trunkSourceWebCoreeditingAlternativeTextControllercpp">trunk/Source/WebCore/editing/AlternativeTextController.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingAppendNodeCommandcpp">trunk/Source/WebCore/editing/AppendNodeCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingCompositeEditCommandcpp">trunk/Source/WebCore/editing/CompositeEditCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingDeleteFromTextNodeCommandcpp">trunk/Source/WebCore/editing/DeleteFromTextNodeCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingEditorcpp">trunk/Source/WebCore/editing/Editor.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingEditorCommandcpp">trunk/Source/WebCore/editing/EditorCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingFormatBlockCommandcpp">trunk/Source/WebCore/editing/FormatBlockCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingIndentOutdentCommandcpp">trunk/Source/WebCore/editing/IndentOutdentCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingInsertListCommandcpp">trunk/Source/WebCore/editing/InsertListCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingInsertNodeBeforeCommandcpp">trunk/Source/WebCore/editing/InsertNodeBeforeCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingRemoveNodeCommandcpp">trunk/Source/WebCore/editing/RemoveNodeCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingReplaceSelectionCommandcpp">trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingTextIteratorcpp">trunk/Source/WebCore/editing/TextIterator.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingWrapContentsInDummySpanCommandcpp">trunk/Source/WebCore/editing/WrapContentsInDummySpanCommand.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingcocoaEditorCocoamm">trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm</a></li>
<li><a href="#trunkSourceWebCoreeditinghtmleditingcpp">trunk/Source/WebCore/editing/htmlediting.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingiosEditorIOSmm">trunk/Source/WebCore/editing/ios/EditorIOS.mm</a></li>
<li><a href="#trunkSourceWebCoreeditingmacEditorMacmm">trunk/Source/WebCore/editing/mac/EditorMac.mm</a></li>
<li><a href="#trunkSourceWebCoreeditingmarkupcpp">trunk/Source/WebCore/editing/markup.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlFTPDirectoryDocumentcpp">trunk/Source/WebCore/html/FTPDirectoryDocument.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLEmbedElementcpp">trunk/Source/WebCore/html/HTMLEmbedElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLEmbedElementh">trunk/Source/WebCore/html/HTMLEmbedElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementcpp">trunk/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMetaElementcpp">trunk/Source/WebCore/html/HTMLMetaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMetaElementh">trunk/Source/WebCore/html/HTMLMetaElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLOutputElementcpp">trunk/Source/WebCore/html/HTMLOutputElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLSelectElementcpp">trunk/Source/WebCore/html/HTMLSelectElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLSourceElementcpp">trunk/Source/WebCore/html/HTMLSourceElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLSourceElementh">trunk/Source/WebCore/html/HTMLSourceElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLStyleElementcpp">trunk/Source/WebCore/html/HTMLStyleElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLStyleElementh">trunk/Source/WebCore/html/HTMLStyleElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableElementcpp">trunk/Source/WebCore/html/HTMLTableElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTextAreaElementcpp">trunk/Source/WebCore/html/HTMLTextAreaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLVideoElementcpp">trunk/Source/WebCore/html/HTMLVideoElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLVideoElementh">trunk/Source/WebCore/html/HTMLVideoElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlImageDocumentcpp">trunk/Source/WebCore/html/ImageDocument.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlInputTypecpp">trunk/Source/WebCore/html/InputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlMediaDocumentcpp">trunk/Source/WebCore/html/MediaDocument.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlPluginDocumentcpp">trunk/Source/WebCore/html/PluginDocument.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlRangeInputTypecpp">trunk/Source/WebCore/html/RangeInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlRubyElementcpp">trunk/Source/WebCore/html/RubyElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlRubyElementh">trunk/Source/WebCore/html/RubyElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlRubyTextElementcpp">trunk/Source/WebCore/html/RubyTextElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlRubyTextElementh">trunk/Source/WebCore/html/RubyTextElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlValidationMessagecpp">trunk/Source/WebCore/html/ValidationMessage.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Dcpp">trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowMediaControlElementTypescpp">trunk/Source/WebCore/html/shadow/MediaControlElementTypes.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowMediaControlElementscpp">trunk/Source/WebCore/html/shadow/MediaControlElements.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowMediaControlscpp">trunk/Source/WebCore/html/shadow/MediaControls.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowMediaControlsApplecpp">trunk/Source/WebCore/html/shadow/MediaControlsApple.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackInbandDataTextTrackcpp">trunk/Source/WebCore/html/track/InbandDataTextTrack.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackInbandGenericTextTrackcpp">trunk/Source/WebCore/html/track/InbandGenericTextTrack.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackInbandTextTrackcpp">trunk/Source/WebCore/html/track/InbandTextTrack.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackVTTRegioncpp">trunk/Source/WebCore/html/track/VTTRegion.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackWebVTTElementcpp">trunk/Source/WebCore/html/track/WebVTTElement.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorCSSAgentcpp">trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp</a></li>
<li><a href="#trunkSourceWebCorepageContextMenuControllercpp">trunk/Source/WebCore/page/ContextMenuController.cpp</a></li>
<li><a href="#trunkSourceWebCorepageDOMWindowcpp">trunk/Source/WebCore/page/DOMWindow.cpp</a></li>
<li><a href="#trunkSourceWebCorepageDragControllercpp">trunk/Source/WebCore/page/DragController.cpp</a></li>
<li><a href="#trunkSourceWebCorepageEventHandlercpp">trunk/Source/WebCore/page/EventHandler.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePagecpp">trunk/Source/WebCore/page/Page.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaSourcePrivateAVFObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcSourceBufferPrivateAVFObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmacPasteboardMacmm">trunk/Source/WebCore/platform/mac/PasteboardMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmacWebVideoFullscreenHUDWindowControllermm">trunk/Source/WebCore/platform/mac/WebVideoFullscreenHUDWindowController.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmockmediasourceMockMediaPlayerMediaSourcecpp">trunk/Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmockmediasourceMockMediaSourcePrivatecpp">trunk/Source/WebCore/platform/mock/mediasource/MockMediaSourcePrivate.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderNamedFlowThreadcpp">trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeEflcpp">trunk/Source/WebCore/rendering/RenderThemeEfl.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeMacmm">trunk/Source/WebCore/rendering/RenderThemeMac.mm</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleSVGRenderStyleh">trunk/Source/WebCore/rendering/style/SVGRenderStyle.h</a></li>
<li><a href="#trunkSourceWebCoresvgSVGTRefElementcpp">trunk/Source/WebCore/svg/SVGTRefElement.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlXMLErrorscpp">trunk/Source/WebCore/xml/XMLErrors.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlXMLErrorsh">trunk/Source/WebCore/xml/XMLErrors.h</a></li>
<li><a href="#trunkSourceWebCorexmlXMLTreeViewercpp">trunk/Source/WebCore/xml/XMLTreeViewer.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlparserXMLDocumentParsercpp">trunk/Source/WebCore/xml/parser/XMLDocumentParser.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlparserXMLDocumentParserLibxml2cpp">trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/ChangeLog        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -1,3 +1,205 @@
</span><ins>+2016-11-11  Darin Adler  &lt;darin@apple.com&gt;
+
+        Remove LegacyException support from bindings script
+        https://bugs.webkit.org/show_bug.cgi?id=164516
+
+        Reviewed by Youenn Fablet.
+
+        Besides removing LegacyException support from the bindings script, this patch
+        also removes most uses of ExceptionCodePlaceholder.h. Also, some call sites of
+        createElement were using ASSERT_NO_EXCEPTION on an argument that was not even an
+        ExceptionCode&amp;, so to fix that, this changes most call sites to use specific create
+        functions for specific element classes, rather than using Document::createElement.
+
+        * Modules/mediasource/SourceBuffer.cpp: Removed include of
+        ExceptionCodePlaceholder.h.
+        * Modules/mediastream/MediaStreamTrack.cpp: Ditto.
+        * Modules/websockets/WebSocketChannel.cpp: Ditto.
+        * bindings/js/JSBlobCustom.cpp: Ditto.
+
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateImplementation): Removed support for GetterMayThrowLegacyException,
+        SetterMayThrowLegacyException, and MayThrowLegacyException.
+        (GenerateParametersCheck): Ditto.
+        (GenerateImplementationFunctionCall): Ditto.
+        (GenerateConstructorDefinition): Ditto.
+
+        * bindings/scripts/IDLAttributes.txt: Removed ConstructorMayThrowLegacyException,
+        GetterMayThrowLegacyException, MayThrowLegacyException, and SetterMayThrowLegacyException.
+
+        * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
+        * bindings/scripts/test/JS/JSTestDOMJIT.cpp:
+        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+        * bindings/scripts/test/JS/JSTestInterface.cpp:
+        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
+        * bindings/scripts/test/JS/JSTestObj.cpp:
+        * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
+        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+        Updated exepected results.
+
+        * bindings/scripts/test/TestImplements.idl: Use non-legacy exceptions.
+        * bindings/scripts/test/TestInterface.idl: Ditto.
+        * bindings/scripts/test/TestNamedConstructor.idl: Ditto.
+        * bindings/scripts/test/TestObj.idl: Ditto.
+        * bindings/scripts/test/TestSupplemental.idl: Ditto.
+        * bindings/scripts/test/TestTypedefs.idl: Ditto.
+
+        * dom/ContainerNode.h: Removed include of ExceptionCodePlaceholder.h.
+        * editing/AlternativeTextController.cpp: Ditto.
+        * editing/AppendNodeCommand.cpp: Ditto.
+
+        * editing/CompositeEditCommand.cpp:
+        (WebCore::CompositeEditCommand::moveParagraphs): Use specific create function
+        instead of Document::createElement.
+
+        * editing/DeleteFromTextNodeCommand.cpp: Removed include of
+        ExceptionCodePlaceholder.h.
+        * editing/Editor.cpp: Ditto.
+        * editing/EditorCommand.cpp: Ditto.
+        * editing/FormatBlockCommand.cpp: Ditto.
+
+        * editing/IndentOutdentCommand.cpp:
+        (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Use specific create
+        function instead of Document::createElement.
+
+        * editing/InsertListCommand.cpp: Removed include of ExceptionCodePlaceholder.h.
+        * editing/InsertNodeBeforeCommand.cpp: Ditto.
+        * editing/RemoveNodeCommand.cpp: Ditto.
+        * editing/ReplaceSelectionCommand.cpp: Ditto.
+        * editing/TextIterator.cpp: Ditto.
+        * editing/WrapContentsInDummySpanCommand.cpp: Ditto.
+
+        * editing/cocoa/EditorCocoa.mm:
+        (WebCore::Editor::styleForSelectionStart): Use specific create function instead
+        of Document::createElement.
+        * editing/htmlediting.cpp:
+        (WebCore::createTabSpanElement): Ditto.
+        * editing/ios/EditorIOS.mm:
+        (WebCore::Editor::WebContentReader::readURL): Ditto.
+        * editing/mac/EditorMac.mm:
+        (WebCore::Editor::WebContentReader::readURL): Ditto.
+
+        * editing/markup.cpp: Removed include of ExceptionCodePlaceholder.h.
+
+        * html/FTPDirectoryDocument.cpp:
+        (WebCore::FTPDirectoryDocumentParser::appendEntry): Use specific create function
+        instead of Document::createElement.
+        (WebCore::FTPDirectoryDocumentParser::createTDForFilename): Ditto.
+        (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate): Ditto.
+        (WebCore::FTPDirectoryDocumentParser::createBasicDocument): Ditto.
+
+        * html/HTMLEmbedElement.cpp:
+        (WebCore::HTMLEmbedElement::create): Added overload that just takes a Document.
+        * html/HTMLEmbedElement.h: Updated for above.
+
+        * html/HTMLMediaElement.cpp: Removed include of ExceptionCodePlaceholder.h.
+
+        * html/HTMLMetaElement.cpp:
+        (WebCore::HTMLMetaElement::create): Added overload that just takes a Document.
+        * html/HTMLMetaElement.h: Updated for above.
+
+        * html/HTMLOutputElement.cpp: Removed include of ExceptionCodePlaceholder.h.
+
+        * html/HTMLSelectElement.cpp: Ditto.
+        (WebCore::HTMLSelectElement::setLength): Use specific create function
+        instead of Document::createElement.
+
+        * html/HTMLSourceElement.cpp:
+        (WebCore::HTMLSourceElement::create): Added overload that just takes a Document.
+        * html/HTMLSourceElement.h: Updated for above.
+
+        * html/HTMLStyleElement.cpp:
+        (WebCore::HTMLStyleElement::HTMLStyleElement): Moved data member initialization
+        to class definition.
+        (WebCore::HTMLStyleElement::create): Added overload that just takes a Document.
+        * html/HTMLStyleElement.h: Updated for above. Also made finishParsingChildren public.
+
+        * html/HTMLTableElement.cpp: Removed include of ExceptionCodePlaceholder.h.
+        * html/HTMLTextAreaElement.cpp: Ditto.
+
+        * html/HTMLVideoElement.cpp:
+        (WebCore::HTMLVideoElement::create): Added overload that just takes a Document.
+        * html/HTMLVideoElement.h: Updated for above.
+
+        * html/ImageDocument.cpp:
+        (WebCore::ImageDocument::createDocumentStructure): Use specific create function
+        instead of Document::createElement.
+
+        * html/InputType.cpp: Removed include of ExceptionCodePlaceholder.h.
+
+        * html/MediaDocument.cpp:
+        (WebCore::MediaDocumentParser::createDocumentStructure): Use specific create
+        function instead of Document::createElement.
+        (WebCore::MediaDocument::replaceMediaElementTimerFired): Ditto.
+        * html/PluginDocument.cpp:
+        (WebCore::PluginDocumentParser::createDocumentStructure): Ditto.
+
+        * html/RangeInputType.cpp: Removed include of ExceptionCodePlaceholder.h.
+
+        * html/RubyElement.cpp:
+        (WebCore::RubyElement::create): Added overload that just takes a Document.
+        * html/RubyElement.h: Updated for above.
+
+        * html/RubyTextElement.cpp:
+        (WebCore::RubyTextElement::create): Added overload that just takes a Document.
+        * html/RubyTextElement.h: Updated for above.
+
+        * html/ValidationMessage.cpp: Removed include of ExceptionCodePlaceholder.h.
+        * html/canvas/CanvasRenderingContext2D.cpp: Ditto.
+        * html/shadow/MediaControlElementTypes.cpp: Ditto.
+
+        * html/shadow/MediaControlElements.cpp:
+        (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
+        Use specific create function instead of Document::createElement.
+
+        * html/shadow/MediaControls.cpp: Removed include of ExceptionCodePlaceholder.h.
+        * html/shadow/MediaControlsApple.cpp: Ditto.
+        * html/track/InbandDataTextTrack.cpp: Ditto.
+        * html/track/InbandGenericTextTrack.cpp: Ditto.
+        * html/track/InbandTextTrack.cpp: Ditto.
+        * html/track/VTTRegion.cpp: Ditto.
+
+        * html/track/WebVTTElement.cpp:
+        (WebCore::WebVTTElement::createEquivalentHTMLElement): Use specific create
+        function instead of Document::createElement.
+        * inspector/InspectorCSSAgent.cpp:
+        (WebCore::InspectorCSSAgent::createInspectorStyleSheetForDocument): Ditto.
+
+        * page/ContextMenuController.cpp: Removed include of ExceptionCodePlaceholder.h.
+        * page/DOMWindow.cpp: Ditto.
+        * page/DragController.cpp: Ditto.
+        * page/EventHandler.cpp: Ditto.
+        * page/Page.cpp: Ditto.
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Ditto.
+        * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm: Ditto.
+        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: Ditto.
+        * platform/mac/PasteboardMac.mm: Ditto.
+        * platform/mac/WebVideoFullscreenHUDWindowController.mm: Ditto.
+        * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp: Ditto.
+        * platform/mock/mediasource/MockMediaSourcePrivate.cpp: Ditto.
+        * rendering/RenderNamedFlowThread.cpp: Ditto.
+        * rendering/RenderThemeEfl.cpp: Ditto.
+        * rendering/RenderThemeMac.mm: Ditto.
+        * rendering/style/SVGRenderStyle.h: Ditto.
+        * svg/SVGTRefElement.cpp: Ditto.
+
+        * xml/XMLErrors.cpp:
+        (WebCore::XMLErrors::XMLErrors): Take a reference and initialize data member
+        in class definition.
+        (WebCore::createXHTMLParserErrorHeader): Take a reference, and mostly use
+        specific create functions instead of createElement.
+        (WebCore::XMLErrors::insertErrorMessageBlock): Ditto.
+        * xml/XMLErrors.h: Updated for above.
+
+        * xml/XMLTreeViewer.cpp: Removed include of ExceptionCodePlaceholder.h.
+
+        * xml/parser/XMLDocumentParser.cpp:
+        (WebCore::XMLDocumentParser::handleError): Pass a reference.
+
+        * xml/parser/XMLDocumentParserLibxml2.cpp: Removed include of
+        ExceptionCodePlaceholder.h.
+
</ins><span class="cx"> 2016-11-12  Dan Bernstein  &lt;mitz@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Clean up a couple of macOS *SPI headers
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceSourceBuffercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -38,7 +38,6 @@
</span><span class="cx"> #include &quot;BufferSource.h&quot;
</span><span class="cx"> #include &quot;Event.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;GenericEventQueue.h&quot;
</span><span class="cx"> #include &quot;HTMLMediaElement.h&quot;
</span><span class="cx"> #include &quot;InbandTextTrack.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaStreamTrackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -34,7 +34,6 @@
</span><span class="cx"> #include &quot;Event.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;JSOverconstrainedError.h&quot;
</span><span class="cx"> #include &quot;MediaConstraintsImpl.h&quot;
</span><span class="cx"> #include &quot;MediaSourceSettings.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebsocketsWebSocketChannelcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/websockets/WebSocketChannel.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/websockets/WebSocketChannel.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/Modules/websockets/WebSocketChannel.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -37,7 +37,6 @@
</span><span class="cx"> #include &quot;Blob.h&quot;
</span><span class="cx"> #include &quot;CookieJar.h&quot;
</span><span class="cx"> #include &quot;Document.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FileError.h&quot;
</span><span class="cx"> #include &quot;FileReaderLoader.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSBlobCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSBlobCustom.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSBlobCustom.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/js/JSBlobCustom.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -34,7 +34,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Blob.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;JSDOMBinding.h&quot;
</span><span class="cx"> #include &quot;JSDictionary.h&quot;
</span><span class="cx"> #include &quot;JSFile.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -3216,10 +3216,7 @@
</span><span class="cx">             my $type = $attribute-&gt;type;
</span><span class="cx">             my $getFunctionName = GetAttributeGetterName($interface, $className, $attribute);
</span><span class="cx">             my $implGetterFunctionName = $codeGenerator-&gt;WK_lcfirst($attribute-&gt;extendedAttributes-&gt;{ImplementedAs} || $name);
</span><del>-            my $getterMayThrowLegacyException = $attribute-&gt;extendedAttributes-&gt;{GetterMayThrowLegacyException};
</del><span class="cx"> 
</span><del>-            $implIncludes{&quot;ExceptionCode.h&quot;} = 1 if $getterMayThrowLegacyException;
-
</del><span class="cx">             my $attributeConditionalString = $codeGenerator-&gt;GenerateConditionalString($attribute);
</span><span class="cx">             push(@implContent, &quot;#if ${attributeConditionalString}\n&quot;) if $attributeConditionalString;
</span><span class="cx"> 
</span><span class="lines">@@ -3255,12 +3252,6 @@
</span><span class="cx">             }
</span><span class="cx">             push(@implContent, &quot;    UNUSED_PARAM(state);\n&quot;);
</span><span class="cx"> 
</span><del>-            my @arguments = ();
-            if ($getterMayThrowLegacyException &amp;&amp; !HasCustomGetter($attribute-&gt;extendedAttributes)) {
-                push(@arguments, &quot;ec&quot;);
-                push(@implContent, &quot;    ExceptionCode ec = 0;\n&quot;);
-            }
-
</del><span class="cx">             # Global constructors can be disabled at runtime.
</span><span class="cx">             if ($codeGenerator-&gt;IsConstructorType($type)) {
</span><span class="cx">                 if ($attribute-&gt;extendedAttributes-&gt;{EnabledBySetting}) {
</span><span class="lines">@@ -3294,19 +3285,15 @@
</span><span class="cx">                 AddToImplIncludes(&quot;&lt;wtf/NeverDestroyed.h&gt;&quot;, &quot;WEB_REPLAY&quot;);
</span><span class="cx"> 
</span><span class="cx">                 push(@implContent, &quot;#if ENABLE(WEB_REPLAY)\n&quot;);
</span><del>-                push(@implContent, &quot;    JSGlobalObject* globalObject = state.lexicalGlobalObject();\n&quot;);
-                push(@implContent, &quot;    InputCursor&amp; cursor = globalObject-&gt;inputCursor();\n&quot;);
</del><ins>+                push(@implContent, &quot;    auto&amp; cursor = state.lexicalGlobalObject()-&gt;inputCursor();\n&quot;);
</ins><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 = $getterMayThrowLegacyException ? &quot;ec&quot; : &quot;0&quot;;
</del><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><del>-                push(@implContent, &quot;        $memoizedType memoizedResult = thisObject.wrapped().$implGetterFunctionName(&quot; . join(&quot;, &quot;, @arguments) . &quot;);\n&quot;);
-                push(@implContent, &quot;        cursor.appendInput&lt;MemoizedDOMResult&lt;$memoizedType&gt;&gt;(bindingName.get().string(), memoizedResult, $exceptionCode);\n&quot;);
-                push(@implContent, &quot;        JSValue result = &quot; . NativeToJSValueUsingReferences($attribute, 0, $interface, &quot;memoizedResult&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
-                push(@implContent, &quot;        setDOMException(&amp;state, throwScope, ec);\n&quot;) if $getterMayThrowLegacyException;
-                push(@implContent, &quot;        return result;\n&quot;);
</del><ins>+                push(@implContent, &quot;        $memoizedType memoizedResult = thisObject.wrapped().$implGetterFunctionName();\n&quot;);
+                push(@implContent, &quot;        cursor.appendInput&lt;MemoizedDOMResult&lt;$memoizedType&gt;&gt;(bindingName.get().string(), memoizedResult, 0);\n&quot;);
+                push(@implContent, &quot;        return &quot; . NativeToJSValueUsingReferences($attribute, 0, $interface, &quot;memoizedResult&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
</ins><span class="cx">                 push(@implContent, &quot;    }\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    if (cursor.isReplaying()) {\n&quot;);
</span><span class="lines">@@ -3314,9 +3301,7 @@
</span><span class="cx">                 push(@implContent, &quot;        MemoizedDOMResultBase* input = cursor.fetchInput&lt;MemoizedDOMResultBase&gt;();\n&quot;);
</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><del>-                push(@implContent, &quot;            JSValue result = &quot; . NativeToJSValueUsingReferences($attribute, 0, $interface, &quot;memoizedResult&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
-                push(@implContent, &quot;            setDOMException(&amp;state, throwScope, input-&gt;exceptionCode());\n&quot;) if $getterMayThrowLegacyException;
-                push(@implContent, &quot;            return result;\n&quot;);
</del><ins>+                push(@implContent, &quot;            return &quot; . NativeToJSValueUsingReferences($attribute, 0, $interface, &quot;memoizedResult&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
</ins><span class="cx">                 push(@implContent, &quot;        }\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    }\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;#endif\n&quot;);
</span><span class="lines">@@ -3344,7 +3329,7 @@
</span><span class="cx">                     AddToImplIncludes(&quot;JS&quot; . $constructorType . &quot;.h&quot;, $attribute-&gt;extendedAttributes-&gt;{Conditional});
</span><span class="cx">                     push(@implContent, &quot;    return JS&quot; . $constructorType . &quot;::getConstructor(state.vm(), thisObject.globalObject());\n&quot;);
</span><span class="cx">                 }
</span><del>-            } elsif (!$attribute-&gt;extendedAttributes-&gt;{GetterMayThrowLegacyException}) {
</del><ins>+            } else {
</ins><span class="cx">                 my $cacheIndex = 0;
</span><span class="cx">                 if ($attribute-&gt;extendedAttributes-&gt;{CachedAttribute}) {
</span><span class="cx">                     $cacheIndex = $currentCachedAttribute;
</span><span class="lines">@@ -3386,21 +3371,6 @@
</span><span class="cx"> 
</span><span class="cx">                 push(@implContent, &quot;    thisObject.m_&quot; . $attribute-&gt;name . &quot;.set(state.vm(), &amp;thisObject, result);\n&quot;) if $attribute-&gt;extendedAttributes-&gt;{CachedAttribute};
</span><span class="cx">                 push(@implContent, &quot;    return result;\n&quot;);
</span><del>-
-            } else {
-                unshift(@arguments, GenerateCallWithUsingReferences($attribute-&gt;extendedAttributes-&gt;{CallWith}, \@implContent, &quot;jsUndefined()&quot;, 0));
-
-                if ($svgPropertyOrListPropertyType) {
-                    push(@implContent, &quot;    $svgPropertyOrListPropertyType impl(*thisObject.wrapped());\n&quot;);
-                    push(@implContent, &quot;    JSValue result = &quot; . NativeToJSValueUsingReferences($attribute, 0, $interface, &quot;impl.$implGetterFunctionName(&quot; . join(&quot;, &quot;, @arguments) . &quot;)&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
-                } else {
-                    push(@implContent, &quot;    auto&amp; impl = thisObject.wrapped();\n&quot;);
-                    push(@implContent, &quot;    JSValue result = &quot; . NativeToJSValueUsingReferences($attribute, 0, $interface, &quot;impl.$implGetterFunctionName(&quot; . join(&quot;, &quot;, @arguments) . &quot;)&quot;, &quot;thisObject&quot;) . &quot;;\n&quot;);
-                }
-
-                push(@implContent, &quot;    setDOMException(&amp;state, throwScope, ec);\n&quot;);
-
-                push(@implContent, &quot;    return result;\n&quot;);
</del><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             push(@implContent, &quot;}\n\n&quot;);
</span><span class="lines">@@ -3410,9 +3380,7 @@
</span><span class="cx"> 
</span><span class="cx">                 $implIncludes{&quot;&lt;wtf/NeverDestroyed.h&gt;&quot;} = 1;
</span><span class="cx">                 $implIncludes{&quot;DOMJITIDLTypeFilter.h&quot;} = 1;
</span><del>-                my $interfaceName = $interface-&gt;type-&gt;name;
-                my $attributeName = $attribute-&gt;name;
-                my $generatorName = $interfaceName . $codeGenerator-&gt;WK_ucfirst($attribute-&gt;name);
</del><ins>+                my $generatorName = $interface-&gt;type-&gt;name . $codeGenerator-&gt;WK_ucfirst($attribute-&gt;name);
</ins><span class="cx">                 my $domJITClassName = $generatorName . &quot;DOMJIT&quot;;
</span><span class="cx">                 my $getter = GetAttributeGetterName($interface, $generatorName, $attribute);
</span><span class="cx">                 my $setter = IsReadonly($attribute) ? &quot;nullptr&quot; : GetAttributeSetterName($interface, $generatorName, $attribute);
</span><span class="lines">@@ -3530,10 +3498,7 @@
</span><span class="cx">             my $type = $attribute-&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 $setterMayThrowLegacyException = $attribute-&gt;extendedAttributes-&gt;{SetterMayThrowLegacyException};
</del><span class="cx"> 
</span><del>-            $implIncludes{&quot;ExceptionCode.h&quot;} = 1 if $setterMayThrowLegacyException;
-
</del><span class="cx">             my $attributeConditionalString = $codeGenerator-&gt;GenerateConditionalString($attribute);
</span><span class="cx">             push(@implContent, &quot;#if ${attributeConditionalString}\n&quot;) if $attributeConditionalString;
</span><span class="cx"> 
</span><span class="lines">@@ -3641,8 +3606,6 @@
</span><span class="cx">                     }
</span><span class="cx">                 }
</span><span class="cx"> 
</span><del>-                push(@implContent, &quot;    ExceptionCode ec = 0;\n&quot;) if $setterMayThrowLegacyException;
-
</del><span class="cx">                 my $exceptionThrower = GetAttributeExceptionThrower($interface, $attribute);
</span><span class="cx"> 
</span><span class="cx">                 my ($nativeValue, $mayThrowException) = JSValueToNative($interface, $attribute, &quot;value&quot;, $attribute-&gt;extendedAttributes-&gt;{Conditional}, &quot;&amp;state&quot;, &quot;state&quot;, &quot;thisObject&quot;, $exceptionThrower);
</span><span class="lines">@@ -3667,21 +3630,11 @@
</span><span class="cx">                     if ($svgPropertyOrListPropertyType eq &quot;float&quot;) { # Special case for JSSVGNumber
</span><span class="cx">                         push(@implContent, &quot;    podImpl = nativeValue;\n&quot;);
</span><span class="cx">                     } else {
</span><del>-                        my $functionString = &quot;podImpl.set$implSetterFunctionName(nativeValue&quot;;
-                        $functionString .= &quot;, ec&quot; if $setterMayThrowLegacyException;
-                        $functionString .= &quot;)&quot;;
</del><ins>+                        my $functionString = &quot;podImpl.set$implSetterFunctionName(nativeValue)&quot;;
</ins><span class="cx">                         $functionString = &quot;propagateException(state, throwScope, $functionString)&quot; if $attribute-&gt;extendedAttributes-&gt;{SetterMayThrowException};
</span><span class="cx">                         push(@implContent, &quot;    $functionString;\n&quot;);
</span><del>-                        push(@implContent, &quot;    setDOMException(&amp;state, throwScope, ec);\n&quot;) if $setterMayThrowLegacyException;
</del><span class="cx">                     }
</span><del>-                    if ($svgPropertyType) {
-                        if ($setterMayThrowLegacyException) {
-                            push(@implContent, &quot;    if (LIKELY(!ec))\n&quot;);
-                            push(@implContent, &quot;        impl.commitChange();\n&quot;);
-                        } else {
-                            push(@implContent, &quot;    impl.commitChange();\n&quot;);
-                        }
-                    }
</del><ins>+                    push(@implContent, &quot;    impl.commitChange();\n&quot;) if $svgPropertyType;
</ins><span class="cx">                     push(@implContent, &quot;    return true;\n&quot;);
</span><span class="cx">                 } else {
</span><span class="cx">                     my ($functionName, @arguments) = $codeGenerator-&gt;SetterExpression(\%implIncludes, $interfaceName, $attribute);
</span><span class="lines">@@ -3707,13 +3660,10 @@
</span><span class="cx">                     unshift(@arguments, GenerateCallWithUsingReferences($attribute-&gt;extendedAttributes-&gt;{SetterCallWith}, \@implContent, &quot;false&quot;));
</span><span class="cx">                     unshift(@arguments, GenerateCallWithUsingReferences($attribute-&gt;extendedAttributes-&gt;{CallWith}, \@implContent, &quot;false&quot;));
</span><span class="cx"> 
</span><del>-                    push(@arguments, &quot;ec&quot;) if $setterMayThrowLegacyException;
-
</del><span class="cx">                     my $functionString = &quot;$functionName(&quot; . join(&quot;, &quot;, @arguments) . &quot;)&quot;;
</span><span class="cx">                     $functionString = &quot;propagateException(state, throwScope, $functionString)&quot; if $attribute-&gt;extendedAttributes-&gt;{SetterMayThrowException};
</span><span class="cx"> 
</span><span class="cx">                     push(@implContent, &quot;    $functionString;\n&quot;);
</span><del>-                    push(@implContent, &quot;    setDOMException(&amp;state, throwScope, ec);\n&quot;) if $setterMayThrowLegacyException;
</del><span class="cx">                     push(@implContent, &quot;    return true;\n&quot;);
</span><span class="cx">                 }
</span><span class="cx">             }
</span><span class="lines">@@ -3773,8 +3723,6 @@
</span><span class="cx">             my $isCustom = HasCustomMethod($function-&gt;extendedAttributes);
</span><span class="cx">             my $isOverloaded = $function-&gt;{overloads} &amp;&amp; @{$function-&gt;{overloads}} &gt; 1;
</span><span class="cx"> 
</span><del>-            my $mayThrowLegacyException = $function-&gt;extendedAttributes-&gt;{MayThrowLegacyException};
-
</del><span class="cx">             next if $isCustom &amp;&amp; $isOverloaded &amp;&amp; $function-&gt;{overloadIndex} &gt; 1;
</span><span class="cx"> 
</span><span class="cx">             AddToImplIncludesForIDLType($function-&gt;type) unless $isCustom or IsReturningPromise($function);
</span><span class="lines">@@ -3843,8 +3791,6 @@
</span><span class="cx"> 
</span><span class="cx">                     GenerateArgumentsCountCheck(\@implContent, $function, $interface);
</span><span class="cx"> 
</span><del>-                    push(@implContent, &quot;    ExceptionCode ec = 0;\n&quot;) if $mayThrowLegacyException;
-
</del><span class="cx">                     my ($functionString, $dummy) = GenerateParametersCheck(\@implContent, $function, $interface, $functionImplementationName, $svgPropertyType, $svgPropertyOrListPropertyType, $svgListPropertyType);
</span><span class="cx">                     GenerateImplementationFunctionCall($function, $functionString, &quot;    &quot;, $svgPropertyType, $interface);
</span><span class="cx">                 }
</span><span class="lines">@@ -3902,8 +3848,6 @@
</span><span class="cx"> 
</span><span class="cx">                     GenerateArgumentsCountCheck(\@implContent, $function, $interface);
</span><span class="cx"> 
</span><del>-                    push(@implContent, &quot;    ExceptionCode ec = 0;\n&quot;) if $mayThrowLegacyException;
-
</del><span class="cx">                     my ($functionString, $dummy) = GenerateParametersCheck(\@implContent, $function, $interface, $functionImplementationName, $svgPropertyType, $svgPropertyOrListPropertyType, $svgListPropertyType);
</span><span class="cx">                     GenerateImplementationFunctionCall($function, $functionString, &quot;    &quot;, $svgPropertyType, $interface);
</span><span class="cx">                 }
</span><span class="lines">@@ -3977,8 +3921,7 @@
</span><span class="cx">                 }
</span><span class="cx">                 my $functionString = &quot;$implFunctionName(&quot; . join(&quot;, &quot;, @arguments) . &quot;)&quot;;
</span><span class="cx">                 $functionString = &quot;propagateException(*state, throwScope, $functionString)&quot; if NeedsExplicitPropagateExceptionCall($function);
</span><del>-                push(@implContent, &quot;    JSValue result = &quot; . NativeToJSValueUsingPointers($function, 1, $interface, $functionString, &quot;castedThis&quot;) . &quot;;\n&quot;);
-                push(@implContent, &quot;    return JSValue::encode(result);\n&quot;);
</del><ins>+                push(@implContent, &quot;    return JSValue::encode(&quot; . NativeToJSValueUsingPointers($function, 1, $interface, $functionString, &quot;castedThis&quot;) . &quot;);\n&quot;);
</ins><span class="cx">                 push(@implContent, &quot;}\n\n&quot;);
</span><span class="cx">             }
</span><span class="cx"> 
</span><span class="lines">@@ -4644,7 +4587,6 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     push(@arguments, &quot;WTFMove(promise)&quot;) if IsReturningPromise($function);
</span><del>-    push(@arguments, &quot;ec&quot;) if $function-&gt;extendedAttributes-&gt;{MayThrowLegacyException};
</del><span class="cx"> 
</span><span class="cx">     my $functionString = &quot;$functionName(&quot; . join(&quot;, &quot;, @arguments) . &quot;)&quot;;
</span><span class="cx">     $functionString = &quot;propagateException(*state, throwScope, $functionString)&quot; if NeedsExplicitPropagateExceptionCall($function);
</span><span class="lines">@@ -5005,7 +4947,6 @@
</span><span class="cx">     my ($function, $functionString, $indent, $svgPropertyType, $interface) = @_;
</span><span class="cx"> 
</span><span class="cx">     my $nondeterministic = $function-&gt;extendedAttributes-&gt;{Nondeterministic};
</span><del>-    my $mayThrowLegacyException = $function-&gt;extendedAttributes-&gt;{MayThrowLegacyException};
</del><span class="cx"> 
</span><span class="cx">     if ($function-&gt;type-&gt;name eq &quot;void&quot; || IsReturningPromise($function)) {
</span><span class="cx">         if ($nondeterministic) {
</span><span class="lines">@@ -5012,28 +4953,15 @@
</span><span class="cx">             AddToImplIncludes(&quot;&lt;replay/InputCursor.h&gt;&quot;, &quot;WEB_REPLAY&quot;);
</span><span class="cx">             push(@implContent, &quot;#if ENABLE(WEB_REPLAY)\n&quot;);
</span><span class="cx">             push(@implContent, $indent . &quot;InputCursor&amp; cursor = state-&gt;lexicalGlobalObject()-&gt;inputCursor();\n&quot;);
</span><del>-            push(@implContent, $indent . &quot;if (!cursor.isReplaying()) {\n&quot;);
</del><ins>+            push(@implContent, $indent . &quot;if (!cursor.isReplaying())\n&quot;);
</ins><span class="cx">             push(@implContent, $indent . &quot;    $functionString;\n&quot;);
</span><del>-            push(@implContent, $indent . &quot;    setDOMException(state, throwScope, ec);\n&quot;) if $mayThrowLegacyException;
-            push(@implContent, $indent . &quot;}\n&quot;);
</del><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 $mayThrowLegacyException;
</del><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 $mayThrowLegacyException;
</del><span class="cx">         }
</span><del>-
-        if ($svgPropertyType and !$function-&gt;isStatic) {
-            if ($mayThrowLegacyException) {
-                push(@implContent, $indent . &quot;if (LIKELY(!ec))\n&quot;);
-                push(@implContent, $indent . &quot;    impl.commitChange();\n&quot;);
-            } else {
-                push(@implContent, $indent . &quot;impl.commitChange();\n&quot;);
-            }
-        }
-
</del><ins>+        push(@implContent, $indent . &quot;impl.commitChange();\n&quot;) if $svgPropertyType and !$function-&gt;isStatic;
</ins><span class="cx">         push(@implContent, $indent . &quot;return JSValue::encode(jsUndefined());\n&quot;);
</span><span class="cx">     } else {
</span><span class="cx">         my $thisObject = $function-&gt;isStatic ? 0 : &quot;castedThis&quot;;
</span><span class="lines">@@ -5045,40 +4973,24 @@
</span><span class="cx">             my $nativeType = GetNativeType($interface, $function-&gt;type);
</span><span class="cx">             my $memoizedType = GetNativeTypeForMemoization($interface, $function-&gt;type);
</span><span class="cx">             my $bindingName = $interface-&gt;type-&gt;name . &quot;.&quot; . $function-&gt;name;
</span><del>-            push(@implContent, $indent . &quot;JSValue result;\n&quot;);
</del><span class="cx">             push(@implContent, &quot;#if ENABLE(WEB_REPLAY)\n&quot;);
</span><del>-            push(@implContent, $indent . &quot;InputCursor&amp; cursor = state-&gt;lexicalGlobalObject()-&gt;inputCursor();\n&quot;);
</del><ins>+            push(@implContent, $indent . &quot;auto&amp; cursor = state-&gt;lexicalGlobalObject()-&gt;inputCursor();\n&quot;);
</ins><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 = $mayThrowLegacyException ? &quot;ec&quot; : &quot;0&quot;;
-            push(@implContent, $indent . &quot;    cursor.appendInput&lt;MemoizedDOMResult&lt;$memoizedType&gt;&gt;(bindingName.get().string(), memoizedResult, $exceptionCode);\n&quot;);
-            push(@implContent, $indent . &quot;    result = &quot; . NativeToJSValueUsingPointers($function, 1, $interface, &quot;memoizedResult&quot;, $thisObject) . &quot;;\n&quot;);
-            push(@implContent, $indent . &quot;} else if (cursor.isReplaying()) {\n&quot;);
-            push(@implContent, $indent . &quot;    MemoizedDOMResultBase* input = cursor.fetchInput&lt;MemoizedDOMResultBase&gt;();\n&quot;);
</del><ins>+            push(@implContent, $indent . &quot;    cursor.appendInput&lt;MemoizedDOMResult&lt;$memoizedType&gt;&gt;(bindingName.get().string(), memoizedResult, 0);\n&quot;);
+            push(@implContent, $indent . &quot;    return JSValue::encode(&quot; . NativeToJSValueUsingPointers($function, 1, $interface, &quot;memoizedResult&quot;, $thisObject) . &quot;);\n&quot;);
+            push(@implContent, $indent . &quot;}\n&quot;);
+            push(@implContent, $indent . &quot;if (cursor.isReplaying()) {\n&quot;);
+            push(@implContent, $indent . &quot;    auto* input = cursor.fetchInput&lt;MemoizedDOMResultBase&gt;();\n&quot;);
</ins><span class="cx">             push(@implContent, $indent . &quot;    $memoizedType memoizedResult;\n&quot;);
</span><span class="cx">             # FIXME: the generated code should report an error if an input cannot be fetched or converted.
</span><del>-            push(@implContent, $indent . &quot;    if (input &amp;&amp; input-&gt;convertTo&lt;$memoizedType&gt;(memoizedResult)) {\n&quot;);
-            push(@implContent, $indent . &quot;        result = &quot; . NativeToJSValueUsingPointers($function, 1, $interface, &quot;memoizedResult&quot;, $thisObject) . &quot;;\n&quot;);
-            push(@implContent, $indent . &quot;        ec = input-&gt;exceptionCode();\n&quot;) if $mayThrowLegacyException;
-            push(@implContent, $indent . &quot;    } else\n&quot;);
-            push(@implContent, $indent . &quot;        result = &quot; . NativeToJSValueUsingPointers($function, 1, $interface, $functionString, $thisObject) . &quot;;\n&quot;);
-            push(@implContent, $indent . &quot;} else\n&quot;);
-            push(@implContent, $indent . &quot;    result = &quot; . NativeToJSValueUsingPointers($function, 1, $interface, $functionString, $thisObject) . &quot;;\n&quot;);
-            push(@implContent, &quot;#else\n&quot;);
-            push(@implContent, $indent . &quot;result = &quot; . NativeToJSValueUsingPointers($function, 1, $interface, $functionString, $thisObject) . &quot;;\n&quot;);
</del><ins>+            push(@implContent, $indent . &quot;    if (input &amp;&amp; input-&gt;convertTo&lt;$memoizedType&gt;(memoizedResult))\n&quot;);
+            push(@implContent, $indent . &quot;        return JSValue::encode(&quot; . NativeToJSValueUsingPointers($function, 1, $interface, &quot;memoizedResult&quot;, $thisObject) . &quot;);\n&quot;);
+            push(@implContent, $indent . &quot;}\n&quot;);
</ins><span class="cx">             push(@implContent, &quot;#endif\n&quot;);
</span><del>-        } else {
-            push(@implContent, $indent . &quot;JSValue result = &quot; . NativeToJSValueUsingPointers($function, 1, $interface, $functionString, $thisObject) . &quot;;\n&quot;);
</del><span class="cx">         }
</span><del>-
-        push(@implContent, &quot;\n&quot; . $indent . &quot;setDOMException(state, throwScope, ec);\n&quot;) if $mayThrowLegacyException;
-
-        if ($codeGenerator-&gt;ExtendedAttributeContains($function-&gt;extendedAttributes-&gt;{CallWith}, &quot;ScriptState&quot;)) {
-            push(@implContent, $indent . &quot;RETURN_IF_EXCEPTION(throwScope, encodedJSValue());\n&quot;);
-        }
-
-        push(@implContent, $indent . &quot;return JSValue::encode(result);\n&quot;);
</del><ins>+        push(@implContent, $indent . &quot;return JSValue::encode(&quot; . NativeToJSValueUsingPointers($function, 1, $interface, $functionString, $thisObject) . &quot;);\n&quot;);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -6111,11 +6023,6 @@
</span><span class="cx"> 
</span><span class="cx">             GenerateArgumentsCountCheck($outputArray, $function, $interface);
</span><span class="cx"> 
</span><del>-            if ($function-&gt;extendedAttributes-&gt;{MayThrowLegacyException} || $interface-&gt;extendedAttributes-&gt;{ConstructorMayThrowLegacyException}) {
-                $implIncludes{&quot;ExceptionCode.h&quot;} = 1;
-                push(@$outputArray, &quot;    ExceptionCode ec = 0;\n&quot;);
-            }
-
</del><span class="cx">             # FIXME: For now, we do not support SVG constructors.
</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="lines">@@ -6152,8 +6059,6 @@
</span><span class="cx">                 $index++;
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            push(@constructorArgList, &quot;ec&quot;) if $interface-&gt;extendedAttributes-&gt;{ConstructorMayThrowLegacyException};
-
</del><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">@@ -6161,13 +6066,6 @@
</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;{ConstructorMayThrowLegacyException}) {
-                push(@$outputArray, &quot;    if (UNLIKELY(ec)) {\n&quot;);
-                push(@$outputArray, &quot;        setDOMException(state, throwScope, ec);\n&quot;);
-                push(@$outputArray, &quot;        return encodedJSValue();\n&quot;);
-                push(@$outputArray, &quot;    }\n&quot;);
-            }
-
</del><span class="cx">             push(@$outputArray, &quot;    RETURN_IF_EXCEPTION(throwScope, encodedJSValue());\n&quot;) if $codeGenerator-&gt;ExtendedAttributeContains($interface-&gt;extendedAttributes-&gt;{ConstructorCallWith}, &quot;ScriptState&quot;);
</span><span class="cx">             if ($interface-&gt;extendedAttributes-&gt;{ConstructorMayThrowException}) {
</span><span class="cx">                 push(@$outputArray, &quot;    return JSValue::encode(toJSNewlyCreated(*state, *castedThis-&gt;globalObject(), throwScope, WTFMove(object)));\n&quot;);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsIDLAttributestxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> Constructor
</span><span class="cx"> ConstructorCallWith=Document|ScriptExecutionContext|ScriptState
</span><span class="cx"> ConstructorMayThrowException
</span><del>-ConstructorMayThrowLegacyException
</del><span class="cx"> Custom
</span><span class="cx"> CustomCall
</span><span class="cx"> CustomConstructor
</span><span class="lines">@@ -67,7 +66,6 @@
</span><span class="cx"> ForwardDeclareInHeader
</span><span class="cx"> GenerateIsReachable=|Impl|ImplWebGLRenderingContext|ImplDocument|ImplElementRoot|ImplFrame|ImplOwnerNodeRoot|ImplScriptExecutionContext
</span><span class="cx"> GetterMayThrowException
</span><del>-GetterMayThrowLegacyException
</del><span class="cx"> Global=*
</span><span class="cx"> Immutable
</span><span class="cx"> ImplementedAs=*
</span><span class="lines">@@ -93,7 +91,6 @@
</span><span class="cx"> LenientThis
</span><span class="cx"> MasqueradesAsUndefined
</span><span class="cx"> MayThrowException
</span><del>-MayThrowLegacyException
</del><span class="cx"> NamedConstructor=*
</span><span class="cx"> NewImpurePropertyFiresWatchpoints
</span><span class="cx"> NewObject
</span><span class="lines">@@ -113,7 +110,6 @@
</span><span class="cx"> RequiresExistingAtomicString
</span><span class="cx"> SetterCallWith=ScriptExecutionContext|ScriptState|ScriptArguments|CallStack|ActiveWindow|FirstWindow
</span><span class="cx"> SetterMayThrowException
</span><del>-SetterMayThrowLegacyException
</del><span class="cx"> SkipVTableValidation
</span><span class="cx"> SuppressToJSObject
</span><span class="cx"> TreatNullAs=EmptyString
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCEReactionsStringifiercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -221,8 +221,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result = toJS&lt;IDLDOMString&gt;(*state, impl.value());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLDOMString&gt;(*state, impl.value()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool JSTestCEReactionsStringifierOwner::isReachableFromOpaqueRoots(JSC::Handle&lt;JSC::Unknown&gt; handle, void*, SlotVisitor&amp; visitor)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestDOMJITcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -1245,8 +1245,7 @@
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx">     auto name = convert&lt;IDLDOMString&gt;(*state, state-&gt;uncheckedArgument(0), StringConversionConfiguration::Normal);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLNullable&lt;IDLDOMString&gt;&gt;(*state, impl.getAttribute(WTFMove(name)));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLNullable&lt;IDLDOMString&gt;&gt;(*state, impl.getAttribute(WTFMove(name))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionGetAttribute(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType&lt;IDLDOMString&gt; encodedName)
</span><span class="lines">@@ -1259,8 +1258,7 @@
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto name = DOMJIT::DirectConverter&lt;IDLDOMString&gt;::directConvert&lt;StringConversionConfiguration::Normal&gt;(*state, encodedName);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLNullable&lt;IDLDOMString&gt;&gt;(*state, impl.getAttribute(WTFMove(name)));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLNullable&lt;IDLDOMString&gt;&gt;(*state, impl.getAttribute(WTFMove(name))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestDOMJITPrototypeFunctionItemCaller(JSC::ExecState*, JSTestDOMJIT*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -1281,8 +1279,7 @@
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><span class="cx">     auto y = convert&lt;IDLUnsignedShort&gt;(*state, state-&gt;uncheckedArgument(1), IntegerConversionConfiguration::Normal);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLDOMString&gt;(*state, impl.item(WTFMove(x), WTFMove(y)));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLDOMString&gt;(*state, impl.item(WTFMove(x), WTFMove(y))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionItem(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType&lt;IDLUnsignedShort&gt; encodedX, DOMJIT::IDLJSArgumentType&lt;IDLUnsignedShort&gt; encodedY)
</span><span class="lines">@@ -1297,8 +1294,7 @@
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><span class="cx">     auto y = DOMJIT::DirectConverter&lt;IDLUnsignedShort&gt;::directConvert&lt;IntegerConversionConfiguration::Normal&gt;(*state, encodedY);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLDOMString&gt;(*state, impl.item(WTFMove(x), WTFMove(y)));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLDOMString&gt;(*state, impl.item(WTFMove(x), WTFMove(y))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestDOMJITPrototypeFunctionHasAttributeCaller(JSC::ExecState*, JSTestDOMJIT*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -1313,8 +1309,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result = toJS&lt;IDLBoolean&gt;(impl.hasAttribute());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLBoolean&gt;(impl.hasAttribute()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionHasAttribute(JSC::ExecState* state, JSTestDOMJIT* castedThis)
</span><span class="lines">@@ -1325,8 +1320,7 @@
</span><span class="cx">     auto throwScope = DECLARE_THROW_SCOPE(vm);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result = toJS&lt;IDLBoolean&gt;(impl.hasAttribute());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLBoolean&gt;(impl.hasAttribute()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestDOMJITPrototypeFunctionGetElementByIdCaller(JSC::ExecState*, JSTestDOMJIT*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -1345,8 +1339,7 @@
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx">     auto elementId = AtomicString(state-&gt;uncheckedArgument(0).toString(state)-&gt;toExistingAtomicString(state));
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;Element&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.getElementById(WTFMove(elementId)));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;Element&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.getElementById(WTFMove(elementId))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionGetElementById(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType&lt;IDLDOMString&gt; encodedElementId)
</span><span class="lines">@@ -1359,8 +1352,7 @@
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto elementId = AtomicString(encodedElementId-&gt;toExistingAtomicString(state));
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;Element&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.getElementById(WTFMove(elementId)));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;Element&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.getElementById(WTFMove(elementId))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestDOMJITPrototypeFunctionGetElementsByNameCaller(JSC::ExecState*, JSTestDOMJIT*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -1379,8 +1371,7 @@
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx">     auto elementName = state-&gt;uncheckedArgument(0).toString(state)-&gt;toAtomicString(state);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;NodeList&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.getElementsByName(WTFMove(elementName)));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;NodeList&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.getElementsByName(WTFMove(elementName))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue JIT_OPERATION unsafeJsTestDOMJITPrototypeFunctionGetElementsByName(JSC::ExecState* state, JSTestDOMJIT* castedThis, DOMJIT::IDLJSArgumentType&lt;IDLDOMString&gt; encodedElementName)
</span><span class="lines">@@ -1393,8 +1384,7 @@
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     auto elementName = encodedElementName-&gt;toAtomicString(state);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;NodeList&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.getElementsByName(WTFMove(elementName)));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;NodeList&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.getElementsByName(WTFMove(elementName))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void JSTestDOMJIT::visitChildren(JSCell* cell, SlotVisitor&amp; visitor)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestEventTargetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -227,8 +227,7 @@
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx">     auto index = convert&lt;IDLUnsignedLong&gt;(*state, state-&gt;uncheckedArgument(0), IntegerConversionConfiguration::Normal);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;Node&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.item(WTFMove(index)));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;Node&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.item(WTFMove(index))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void JSTestEventTarget::visitChildren(JSCell* cell, SlotVisitor&amp; visitor)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -227,7 +227,6 @@
</span><span class="cx">     ASSERT(castedThis);
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto str1 = convert&lt;IDLDOMString&gt;(*state, state-&gt;uncheckedArgument(0), StringConversionConfiguration::Normal);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><span class="cx">     auto str2 = state-&gt;argument(1).isUndefined() ? ASCIILiteral(&quot;defaultString&quot;) : convert&lt;IDLDOMString&gt;(*state, state-&gt;uncheckedArgument(1), StringConversionConfiguration::Normal);
</span><span class="lines">@@ -235,12 +234,8 @@
</span><span class="cx">     ScriptExecutionContext* context = castedThis-&gt;scriptExecutionContext();
</span><span class="cx">     if (UNLIKELY(!context))
</span><span class="cx">         return throwConstructorScriptExecutionContextUnavailableError(*state, throwScope, &quot;TestInterface&quot;);
</span><del>-    auto object = TestInterface::create(*context, WTFMove(str1), WTFMove(str2), ec);
-    if (UNLIKELY(ec)) {
-        setDOMException(state, throwScope, ec);
-        return encodedJSValue();
-    }
-    return JSValue::encode(toJSNewlyCreated(state, castedThis-&gt;globalObject(), WTFMove(object)));
</del><ins>+    auto object = TestInterface::create(*context, WTFMove(str1), WTFMove(str2));
+    return JSValue::encode(toJSNewlyCreated(*state, *castedThis-&gt;globalObject(), throwScope, WTFMove(object)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template&lt;&gt; JSValue JSTestInterfaceConstructor::prototypeForStructure(JSC::VM&amp; vm, const JSDOMGlobalObject&amp; globalObject)
</span><span class="lines">@@ -869,7 +864,6 @@
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="cx">     if (!context)
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="lines">@@ -877,10 +871,7 @@
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><span class="cx">     auto objArg = convert&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, state-&gt;uncheckedArgument(1), [](JSC::ExecState&amp; state, JSC::ThrowScope&amp; scope) { throwArgumentTypeError(state, scope, 1, &quot;objArg&quot;, &quot;TestInterface&quot;, &quot;implementsMethod2&quot;, &quot;TestObj&quot;); });
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.implementsMethod2(*context, WTFMove(strArg), *objArg, ec));
-
-    setDOMException(state, throwScope, ec);
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), throwScope, impl.implementsMethod2(*context, WTFMove(strArg), *objArg)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="lines">@@ -948,7 +939,6 @@
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="cx">     if (!context)
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><span class="lines">@@ -956,10 +946,7 @@
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><span class="cx">     auto objArg = convert&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, state-&gt;uncheckedArgument(1), [](JSC::ExecState&amp; state, JSC::ThrowScope&amp; scope) { throwArgumentTypeError(state, scope, 1, &quot;objArg&quot;, &quot;TestInterface&quot;, &quot;supplementalMethod2&quot;, &quot;TestObj&quot;); });
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), WebCore::TestSupplemental::supplementalMethod2(impl, *context, WTFMove(strArg), *objArg, ec));
-
-    setDOMException(state, throwScope, ec);
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), throwScope, WebCore::TestSupplemental::supplementalMethod2(impl, *context, WTFMove(strArg), *objArg)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNamedConstructorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -90,7 +90,6 @@
</span><span class="cx">     ASSERT(castedThis);
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto str1 = convert&lt;IDLDOMString&gt;(*state, state-&gt;uncheckedArgument(0), StringConversionConfiguration::Normal);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><span class="cx">     auto str2 = state-&gt;argument(1).isUndefined() ? ASCIILiteral(&quot;defaultString&quot;) : convert&lt;IDLDOMString&gt;(*state, state-&gt;uncheckedArgument(1), StringConversionConfiguration::Normal);
</span><span class="lines">@@ -97,12 +96,8 @@
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><span class="cx">     auto str3 = state-&gt;argument(2).isUndefined() ? String() : convert&lt;IDLDOMString&gt;(*state, state-&gt;uncheckedArgument(2), StringConversionConfiguration::Normal);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    auto object = TestNamedConstructor::createForJSConstructor(*castedThis-&gt;document(), WTFMove(str1), WTFMove(str2), WTFMove(str3), ec);
-    if (UNLIKELY(ec)) {
-        setDOMException(state, throwScope, ec);
-        return encodedJSValue();
-    }
-    return JSValue::encode(toJSNewlyCreated(state, castedThis-&gt;globalObject(), WTFMove(object)));
</del><ins>+    auto object = TestNamedConstructor::createForJSConstructor(*castedThis-&gt;document(), WTFMove(str1), WTFMove(str2), WTFMove(str3));
+    return JSValue::encode(toJSNewlyCreated(*state, *castedThis-&gt;globalObject(), throwScope, WTFMove(object)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template&lt;&gt; JSValue JSTestNamedConstructorNamedConstructor::prototypeForStructure(JSC::VM&amp; vm, const JSDOMGlobalObject&amp; globalObject)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestNondeterministiccpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNondeterministic.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -171,14 +171,12 @@
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><del>-    JSGlobalObject* globalObject = state.lexicalGlobalObject();
-    InputCursor&amp; cursor = globalObject-&gt;inputCursor();
</del><ins>+    auto&amp; cursor = state.lexicalGlobalObject()-&gt;inputCursor();
</ins><span class="cx">     static NeverDestroyed&lt;const AtomicString&gt; bindingName(&quot;TestNondeterministic.nondeterministicReadonlyAttr&quot;, AtomicString::ConstructFromLiteral);
</span><span class="cx">     if (cursor.isCapturing()) {
</span><span class="cx">         int32_t memoizedResult = thisObject.wrapped().nondeterministicReadonlyAttr();
</span><span class="cx">         cursor.appendInput&lt;MemoizedDOMResult&lt;int32_t&gt;&gt;(bindingName.get().string(), memoizedResult, 0);
</span><del>-        JSValue result = toJS&lt;IDLLong&gt;(memoizedResult);
-        return result;
</del><ins>+        return toJS&lt;IDLLong&gt;(memoizedResult);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (cursor.isReplaying()) {
</span><span class="lines">@@ -185,8 +183,7 @@
</span><span class="cx">         int32_t memoizedResult;
</span><span class="cx">         MemoizedDOMResultBase* input = cursor.fetchInput&lt;MemoizedDOMResultBase&gt;();
</span><span class="cx">         if (input &amp;&amp; input-&gt;convertTo&lt;int32_t&gt;(memoizedResult)) {
</span><del>-            JSValue result = toJS&lt;IDLLong&gt;(memoizedResult);
-            return result;
</del><ins>+            return toJS&lt;IDLLong&gt;(memoizedResult);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="lines">@@ -207,14 +204,12 @@
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><del>-    JSGlobalObject* globalObject = state.lexicalGlobalObject();
-    InputCursor&amp; cursor = globalObject-&gt;inputCursor();
</del><ins>+    auto&amp; cursor = state.lexicalGlobalObject()-&gt;inputCursor();
</ins><span class="cx">     static NeverDestroyed&lt;const AtomicString&gt; bindingName(&quot;TestNondeterministic.nondeterministicWriteableAttr&quot;, AtomicString::ConstructFromLiteral);
</span><span class="cx">     if (cursor.isCapturing()) {
</span><span class="cx">         String memoizedResult = thisObject.wrapped().nondeterministicWriteableAttr();
</span><span class="cx">         cursor.appendInput&lt;MemoizedDOMResult&lt;String&gt;&gt;(bindingName.get().string(), memoizedResult, 0);
</span><del>-        JSValue result = toJS&lt;IDLDOMString&gt;(state, memoizedResult);
-        return result;
</del><ins>+        return toJS&lt;IDLDOMString&gt;(state, memoizedResult);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (cursor.isReplaying()) {
</span><span class="lines">@@ -221,8 +216,7 @@
</span><span class="cx">         String memoizedResult;
</span><span class="cx">         MemoizedDOMResultBase* input = cursor.fetchInput&lt;MemoizedDOMResultBase&gt;();
</span><span class="cx">         if (input &amp;&amp; input-&gt;convertTo&lt;String&gt;(memoizedResult)) {
</span><del>-            JSValue result = toJS&lt;IDLDOMString&gt;(state, memoizedResult);
-            return result;
</del><ins>+            return toJS&lt;IDLDOMString&gt;(state, memoizedResult);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="lines">@@ -243,14 +237,12 @@
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><del>-    JSGlobalObject* globalObject = state.lexicalGlobalObject();
-    InputCursor&amp; cursor = globalObject-&gt;inputCursor();
</del><ins>+    auto&amp; cursor = state.lexicalGlobalObject()-&gt;inputCursor();
</ins><span class="cx">     static NeverDestroyed&lt;const AtomicString&gt; bindingName(&quot;TestNondeterministic.nondeterministicExceptionAttr&quot;, AtomicString::ConstructFromLiteral);
</span><span class="cx">     if (cursor.isCapturing()) {
</span><span class="cx">         String memoizedResult = thisObject.wrapped().nondeterministicExceptionAttr();
</span><span class="cx">         cursor.appendInput&lt;MemoizedDOMResult&lt;String&gt;&gt;(bindingName.get().string(), memoizedResult, 0);
</span><del>-        JSValue result = toJS&lt;IDLDOMString&gt;(state, memoizedResult);
-        return result;
</del><ins>+        return toJS&lt;IDLDOMString&gt;(state, memoizedResult);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (cursor.isReplaying()) {
</span><span class="lines">@@ -257,8 +249,7 @@
</span><span class="cx">         String memoizedResult;
</span><span class="cx">         MemoizedDOMResultBase* input = cursor.fetchInput&lt;MemoizedDOMResultBase&gt;();
</span><span class="cx">         if (input &amp;&amp; input-&gt;convertTo&lt;String&gt;(memoizedResult)) {
</span><del>-            JSValue result = toJS&lt;IDLDOMString&gt;(state, memoizedResult);
-            return result;
</del><ins>+            return toJS&lt;IDLDOMString&gt;(state, memoizedResult);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="lines">@@ -278,17 +269,13 @@
</span><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><del>-    JSGlobalObject* globalObject = state.lexicalGlobalObject();
-    InputCursor&amp; cursor = globalObject-&gt;inputCursor();
</del><ins>+    auto&amp; cursor = state.lexicalGlobalObject()-&gt;inputCursor();
</ins><span class="cx">     static NeverDestroyed&lt;const AtomicString&gt; bindingName(&quot;TestNondeterministic.nondeterministicGetterExceptionAttr&quot;, AtomicString::ConstructFromLiteral);
</span><span class="cx">     if (cursor.isCapturing()) {
</span><del>-        String memoizedResult = thisObject.wrapped().nondeterministicGetterExceptionAttr(ec);
-        cursor.appendInput&lt;MemoizedDOMResult&lt;String&gt;&gt;(bindingName.get().string(), memoizedResult, ec);
-        JSValue result = toJS&lt;IDLDOMString&gt;(state, memoizedResult);
-        setDOMException(&amp;state, throwScope, ec);
-        return result;
</del><ins>+        String memoizedResult = thisObject.wrapped().nondeterministicGetterExceptionAttr();
+        cursor.appendInput&lt;MemoizedDOMResult&lt;String&gt;&gt;(bindingName.get().string(), memoizedResult, 0);
+        return toJS&lt;IDLDOMString&gt;(state, memoizedResult);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (cursor.isReplaying()) {
</span><span class="lines">@@ -295,15 +282,12 @@
</span><span class="cx">         String memoizedResult;
</span><span class="cx">         MemoizedDOMResultBase* input = cursor.fetchInput&lt;MemoizedDOMResultBase&gt;();
</span><span class="cx">         if (input &amp;&amp; input-&gt;convertTo&lt;String&gt;(memoizedResult)) {
</span><del>-            JSValue result = toJS&lt;IDLDOMString&gt;(state, memoizedResult);
-            setDOMException(&amp;state, throwScope, input-&gt;exceptionCode());
-            return result;
</del><ins>+            return toJS&lt;IDLDOMString&gt;(state, memoizedResult);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx">     auto&amp; impl = thisObject.wrapped();
</span><del>-    JSValue result = toJS&lt;IDLDOMString&gt;(state, impl.nondeterministicGetterExceptionAttr(ec));
-    setDOMException(&amp;state, throwScope, ec);
</del><ins>+    JSValue result = toJS&lt;IDLDOMString&gt;(state, impl.nondeterministicGetterExceptionAttr());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -319,14 +303,12 @@
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><del>-    JSGlobalObject* globalObject = state.lexicalGlobalObject();
-    InputCursor&amp; cursor = globalObject-&gt;inputCursor();
</del><ins>+    auto&amp; cursor = state.lexicalGlobalObject()-&gt;inputCursor();
</ins><span class="cx">     static NeverDestroyed&lt;const AtomicString&gt; bindingName(&quot;TestNondeterministic.nondeterministicSetterExceptionAttr&quot;, AtomicString::ConstructFromLiteral);
</span><span class="cx">     if (cursor.isCapturing()) {
</span><span class="cx">         String memoizedResult = thisObject.wrapped().nondeterministicSetterExceptionAttr();
</span><span class="cx">         cursor.appendInput&lt;MemoizedDOMResult&lt;String&gt;&gt;(bindingName.get().string(), memoizedResult, 0);
</span><del>-        JSValue result = toJS&lt;IDLDOMString&gt;(state, memoizedResult);
-        return result;
</del><ins>+        return toJS&lt;IDLDOMString&gt;(state, memoizedResult);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (cursor.isReplaying()) {
</span><span class="lines">@@ -333,8 +315,7 @@
</span><span class="cx">         String memoizedResult;
</span><span class="cx">         MemoizedDOMResultBase* input = cursor.fetchInput&lt;MemoizedDOMResultBase&gt;();
</span><span class="cx">         if (input &amp;&amp; input-&gt;convertTo&lt;String&gt;(memoizedResult)) {
</span><del>-            JSValue result = toJS&lt;IDLDOMString&gt;(state, memoizedResult);
-            return result;
</del><ins>+            return toJS&lt;IDLDOMString&gt;(state, memoizedResult);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="lines">@@ -436,11 +417,9 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = thisObject.wrapped();
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto nativeValue = convert&lt;IDLDOMString&gt;(state, value, StringConversionConfiguration::Normal);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, false);
</span><del>-    impl.setNondeterministicSetterExceptionAttr(WTFMove(nativeValue), ec);
-    setDOMException(&amp;state, throwScope, ec);
</del><ins>+    impl.setNondeterministicSetterExceptionAttr(WTFMove(nativeValue));
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -462,27 +441,22 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result;
</del><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><del>-    InputCursor&amp; cursor = state-&gt;lexicalGlobalObject()-&gt;inputCursor();
</del><ins>+    auto&amp; cursor = state-&gt;lexicalGlobalObject()-&gt;inputCursor();
</ins><span class="cx">     static NeverDestroyed&lt;const AtomicString&gt; bindingName(&quot;TestNondeterministic.nondeterministicZeroArgFunction&quot;, AtomicString::ConstructFromLiteral);
</span><span class="cx">     if (cursor.isCapturing()) {
</span><span class="cx">         bool memoizedResult = impl.nondeterministicZeroArgFunction();
</span><span class="cx">         cursor.appendInput&lt;MemoizedDOMResult&lt;bool&gt;&gt;(bindingName.get().string(), memoizedResult, 0);
</span><del>-        result = toJS&lt;IDLBoolean&gt;(memoizedResult);
-    } else if (cursor.isReplaying()) {
-        MemoizedDOMResultBase* input = cursor.fetchInput&lt;MemoizedDOMResultBase&gt;();
</del><ins>+        return JSValue::encode(toJS&lt;IDLBoolean&gt;(memoizedResult));
+    }
+    if (cursor.isReplaying()) {
+        auto* input = cursor.fetchInput&lt;MemoizedDOMResultBase&gt;();
</ins><span class="cx">         bool memoizedResult;
</span><del>-        if (input &amp;&amp; input-&gt;convertTo&lt;bool&gt;(memoizedResult)) {
-            result = toJS&lt;IDLBoolean&gt;(memoizedResult);
-        } else
-            result = toJS&lt;IDLBoolean&gt;(impl.nondeterministicZeroArgFunction());
-    } else
-        result = toJS&lt;IDLBoolean&gt;(impl.nondeterministicZeroArgFunction());
-#else
-    result = toJS&lt;IDLBoolean&gt;(impl.nondeterministicZeroArgFunction());
</del><ins>+        if (input &amp;&amp; input-&gt;convertTo&lt;bool&gt;(memoizedResult))
+            return JSValue::encode(toJS&lt;IDLBoolean&gt;(memoizedResult));
+    }
</ins><span class="cx"> #endif
</span><del>-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLBoolean&gt;(impl.nondeterministicZeroArgFunction()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool JSTestNondeterministicOwner::isReachableFromOpaqueRoots(JSC::Handle&lt;JSC::Unknown&gt; handle, void*, SlotVisitor&amp; visitor)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestObjcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -969,7 +969,6 @@
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithException(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithExceptionReturningLong(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithExceptionReturningObject(JSC::ExecState*);
</span><del>-JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithLegacyException(JSC::ExecState*);
</del><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomMethod(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomMethodWithArgs(JSC::ExecState*);
</span><span class="cx"> JSC::EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionPrivateMethod(JSC::ExecState*);
</span><span class="lines">@@ -1168,12 +1167,8 @@
</span><span class="cx"> bool setJSTestObjTypedArrayAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</span><span class="cx"> JSC::EncodedJSValue jsTestObjAttributeWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> bool setJSTestObjAttributeWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</span><del>-JSC::EncodedJSValue jsTestObjAttributeWithGetterLegacyException(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
-bool setJSTestObjAttributeWithGetterLegacyException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><span class="cx"> JSC::EncodedJSValue jsTestObjAttributeWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> bool setJSTestObjAttributeWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</span><del>-JSC::EncodedJSValue jsTestObjAttributeWithSetterLegacyException(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
-bool setJSTestObjAttributeWithSetterLegacyException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><span class="cx"> JSC::EncodedJSValue jsTestObjStringAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> bool setJSTestObjStringAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</span><span class="cx"> JSC::EncodedJSValue jsTestObjStringAttrWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="lines">@@ -1482,9 +1477,7 @@
</span><span class="cx"> #endif
</span><span class="cx">     { &quot;typedArrayAttr&quot;, CustomAccessor, NoIntrinsic, { (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjTypedArrayAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjTypedArrayAttr) } },
</span><span class="cx">     { &quot;attributeWithGetterException&quot;, CustomAccessor, NoIntrinsic, { (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttributeWithGetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjAttributeWithGetterException) } },
</span><del>-    { &quot;attributeWithGetterLegacyException&quot;, CustomAccessor, NoIntrinsic, { (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttributeWithGetterLegacyException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjAttributeWithGetterLegacyException) } },
</del><span class="cx">     { &quot;attributeWithSetterException&quot;, CustomAccessor, NoIntrinsic, { (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttributeWithSetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjAttributeWithSetterException) } },
</span><del>-    { &quot;attributeWithSetterLegacyException&quot;, CustomAccessor, NoIntrinsic, { (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttributeWithSetterLegacyException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjAttributeWithSetterLegacyException) } },
</del><span class="cx">     { &quot;stringAttrWithGetterException&quot;, CustomAccessor, NoIntrinsic, { (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStringAttrWithGetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjStringAttrWithGetterException) } },
</span><span class="cx">     { &quot;stringAttrWithSetterException&quot;, CustomAccessor, NoIntrinsic, { (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStringAttrWithSetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjStringAttrWithSetterException) } },
</span><span class="cx">     { &quot;customAttr&quot;, CustomAccessor, NoIntrinsic, { (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCustomAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjCustomAttr) } },
</span><span class="lines">@@ -1581,7 +1574,6 @@
</span><span class="cx">     { &quot;methodWithException&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithException), (intptr_t) (0) } },
</span><span class="cx">     { &quot;methodWithExceptionReturningLong&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithExceptionReturningLong), (intptr_t) (0) } },
</span><span class="cx">     { &quot;methodWithExceptionReturningObject&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithExceptionReturningObject), (intptr_t) (0) } },
</span><del>-    { &quot;methodWithLegacyException&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithLegacyException), (intptr_t) (0) } },
</del><span class="cx">     { &quot;customMethod&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionCustomMethod), (intptr_t) (0) } },
</span><span class="cx">     { &quot;customMethodWithArgs&quot;, JSC::Function, NoIntrinsic, { (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionCustomMethodWithArgs), (intptr_t) (3) } },
</span><span class="cx"> #if ENABLE(Condition3)
</span><span class="lines">@@ -2496,24 +2488,6 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjAttributeWithGetterLegacyExceptionGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
-
-EncodedJSValue jsTestObjAttributeWithGetterLegacyException(ExecState* state, EncodedJSValue thisValue, PropertyName)
-{
-    return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjAttributeWithGetterLegacyExceptionGetter&gt;(state, thisValue, &quot;attributeWithGetterLegacyException&quot;);
-}
-
-static inline JSValue jsTestObjAttributeWithGetterLegacyExceptionGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
-{
-    UNUSED_PARAM(throwScope);
-    UNUSED_PARAM(state);
-    ExceptionCode ec = 0;
-    auto&amp; impl = thisObject.wrapped();
-    JSValue result = toJS&lt;IDLLong&gt;(impl.attributeWithGetterLegacyException(ec));
-    setDOMException(&amp;state, throwScope, ec);
-    return result;
-}
-
</del><span class="cx"> static inline JSValue jsTestObjAttributeWithSetterExceptionGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</span><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjAttributeWithSetterException(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="lines">@@ -2530,22 +2504,6 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSValue jsTestObjAttributeWithSetterLegacyExceptionGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
-
-EncodedJSValue jsTestObjAttributeWithSetterLegacyException(ExecState* state, EncodedJSValue thisValue, PropertyName)
-{
-    return BindingCaller&lt;JSTestObj&gt;::attribute&lt;jsTestObjAttributeWithSetterLegacyExceptionGetter&gt;(state, thisValue, &quot;attributeWithSetterLegacyException&quot;);
-}
-
-static inline JSValue jsTestObjAttributeWithSetterLegacyExceptionGetter(ExecState&amp; state, JSTestObj&amp; thisObject, ThrowScope&amp; throwScope)
-{
-    UNUSED_PARAM(throwScope);
-    UNUSED_PARAM(state);
-    auto&amp; impl = thisObject.wrapped();
-    JSValue result = toJS&lt;IDLLong&gt;(impl.attributeWithSetterLegacyException());
-    return result;
-}
-
</del><span class="cx"> static inline JSValue jsTestObjStringAttrWithGetterExceptionGetter(ExecState&amp;, JSTestObj&amp;, ThrowScope&amp; throwScope);
</span><span class="cx"> 
</span><span class="cx"> EncodedJSValue jsTestObjStringAttrWithGetterException(ExecState* state, EncodedJSValue thisValue, PropertyName)
</span><span class="lines">@@ -2557,10 +2515,8 @@
</span><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto&amp; impl = thisObject.wrapped();
</span><del>-    JSValue result = toJS&lt;IDLDOMString&gt;(state, impl.stringAttrWithGetterException(ec));
-    setDOMException(&amp;state, throwScope, ec);
</del><ins>+    JSValue result = toJS&lt;IDLDOMString&gt;(state, throwScope, impl.stringAttrWithGetterException());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2684,10 +2640,8 @@
</span><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto&amp; impl = thisObject.wrapped();
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(state, *thisObject.globalObject(), impl.withScriptStateAttributeRaises(state, ec));
-    setDOMException(&amp;state, throwScope, ec);
</del><ins>+    JSValue result = toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(state, *thisObject.globalObject(), throwScope, impl.withScriptStateAttributeRaises(state));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2702,13 +2656,11 @@
</span><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state.lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="cx">     if (!context)
</span><span class="cx">         return jsUndefined();
</span><span class="cx">     auto&amp; impl = thisObject.wrapped();
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(state, *thisObject.globalObject(), impl.withScriptExecutionContextAttributeRaises(*context, ec));
-    setDOMException(&amp;state, throwScope, ec);
</del><ins>+    JSValue result = toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(state, *thisObject.globalObject(), throwScope, impl.withScriptExecutionContextAttributeRaises(*context));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2742,13 +2694,11 @@
</span><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state.lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="cx">     if (!context)
</span><span class="cx">         return jsUndefined();
</span><span class="cx">     auto&amp; impl = thisObject.wrapped();
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(state, *thisObject.globalObject(), impl.withScriptExecutionContextAndScriptStateAttributeRaises(state, *context, ec));
-    setDOMException(&amp;state, throwScope, ec);
</del><ins>+    JSValue result = toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(state, *thisObject.globalObject(), throwScope, impl.withScriptExecutionContextAndScriptStateAttributeRaises(state, *context));
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -3200,10 +3150,8 @@
</span><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto&amp; impl = thisObject.wrapped();
</span><del>-    JSValue result = toJS&lt;IDLNullable&lt;IDLLong&gt;&gt;(impl.nullableStringValue(ec));
-    setDOMException(&amp;state, throwScope, ec);
</del><ins>+    JSValue result = toJS&lt;IDLNullable&lt;IDLLong&gt;&gt;(state, throwScope, impl.nullableStringValue());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -4008,25 +3956,6 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-static inline bool setJSTestObjAttributeWithGetterLegacyExceptionFunction(ExecState&amp;, JSTestObj&amp;, JSValue, ThrowScope&amp;);
-
-bool setJSTestObjAttributeWithGetterLegacyException(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
-{
-    return BindingCaller&lt;JSTestObj&gt;::setAttribute&lt;setJSTestObjAttributeWithGetterLegacyExceptionFunction&gt;(state, thisValue, encodedValue, &quot;attributeWithGetterLegacyException&quot;);
-}
-
-static inline bool setJSTestObjAttributeWithGetterLegacyExceptionFunction(ExecState&amp; state, JSTestObj&amp; thisObject, JSValue value, ThrowScope&amp; throwScope)
-{
-    UNUSED_PARAM(state);
-    UNUSED_PARAM(throwScope);
-    auto&amp; impl = thisObject.wrapped();
-    auto nativeValue = convert&lt;IDLLong&gt;(state, value, IntegerConversionConfiguration::Normal);
-    RETURN_IF_EXCEPTION(throwScope, false);
-    impl.setAttributeWithGetterLegacyException(WTFMove(nativeValue));
-    return true;
-}
-
-
</del><span class="cx"> static inline bool setJSTestObjAttributeWithSetterExceptionFunction(ExecState&amp;, JSTestObj&amp;, JSValue, ThrowScope&amp;);
</span><span class="cx"> 
</span><span class="cx"> bool setJSTestObjAttributeWithSetterException(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</span><span class="lines">@@ -4046,27 +3975,6 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-static inline bool setJSTestObjAttributeWithSetterLegacyExceptionFunction(ExecState&amp;, JSTestObj&amp;, JSValue, ThrowScope&amp;);
-
-bool setJSTestObjAttributeWithSetterLegacyException(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
-{
-    return BindingCaller&lt;JSTestObj&gt;::setAttribute&lt;setJSTestObjAttributeWithSetterLegacyExceptionFunction&gt;(state, thisValue, encodedValue, &quot;attributeWithSetterLegacyException&quot;);
-}
-
-static inline bool setJSTestObjAttributeWithSetterLegacyExceptionFunction(ExecState&amp; state, JSTestObj&amp; thisObject, JSValue value, ThrowScope&amp; throwScope)
-{
-    UNUSED_PARAM(state);
-    UNUSED_PARAM(throwScope);
-    auto&amp; impl = thisObject.wrapped();
-    ExceptionCode ec = 0;
-    auto nativeValue = convert&lt;IDLLong&gt;(state, value, IntegerConversionConfiguration::Normal);
-    RETURN_IF_EXCEPTION(throwScope, false);
-    impl.setAttributeWithSetterLegacyException(WTFMove(nativeValue), ec);
-    setDOMException(&amp;state, throwScope, ec);
-    return true;
-}
-
-
</del><span class="cx"> static inline bool setJSTestObjStringAttrWithGetterExceptionFunction(ExecState&amp;, JSTestObj&amp;, JSValue, ThrowScope&amp;);
</span><span class="cx"> 
</span><span class="cx"> bool setJSTestObjStringAttrWithGetterException(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</span><span class="lines">@@ -4098,11 +4006,9 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = thisObject.wrapped();
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto nativeValue = convert&lt;IDLDOMString&gt;(state, value, StringConversionConfiguration::Normal);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, false);
</span><del>-    impl.setStringAttrWithSetterException(WTFMove(nativeValue), ec);
-    setDOMException(&amp;state, throwScope, ec);
</del><ins>+    propagateException(state, throwScope, impl.setStringAttrWithSetterException(WTFMove(nativeValue)));
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -4860,8 +4766,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result = toJS&lt;IDLByte&gt;(impl.byteMethod());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLByte&gt;(impl.byteMethod()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionByteMethodWithArgsCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -4884,8 +4789,7 @@
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><span class="cx">     auto objArg = convert&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, state-&gt;uncheckedArgument(2), [](JSC::ExecState&amp; state, JSC::ThrowScope&amp; scope) { throwArgumentTypeError(state, scope, 2, &quot;objArg&quot;, &quot;TestObject&quot;, &quot;byteMethodWithArgs&quot;, &quot;TestObj&quot;); });
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLByte&gt;(impl.byteMethodWithArgs(WTFMove(byteArg), WTFMove(strArg), *objArg));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLByte&gt;(impl.byteMethodWithArgs(WTFMove(byteArg), WTFMove(strArg), *objArg)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionOctetMethodCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -4900,8 +4804,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result = toJS&lt;IDLOctet&gt;(impl.octetMethod());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLOctet&gt;(impl.octetMethod()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionOctetMethodWithArgsCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -4924,8 +4827,7 @@
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><span class="cx">     auto objArg = convert&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, state-&gt;uncheckedArgument(2), [](JSC::ExecState&amp; state, JSC::ThrowScope&amp; scope) { throwArgumentTypeError(state, scope, 2, &quot;objArg&quot;, &quot;TestObject&quot;, &quot;octetMethodWithArgs&quot;, &quot;TestObj&quot;); });
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLOctet&gt;(impl.octetMethodWithArgs(WTFMove(octetArg), WTFMove(strArg), *objArg));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLOctet&gt;(impl.octetMethodWithArgs(WTFMove(octetArg), WTFMove(strArg), *objArg)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionLongMethodCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -4940,8 +4842,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result = toJS&lt;IDLLong&gt;(impl.longMethod());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLLong&gt;(impl.longMethod()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionLongMethodWithArgsCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -4964,8 +4865,7 @@
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><span class="cx">     auto objArg = convert&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, state-&gt;uncheckedArgument(2), [](JSC::ExecState&amp; state, JSC::ThrowScope&amp; scope) { throwArgumentTypeError(state, scope, 2, &quot;objArg&quot;, &quot;TestObject&quot;, &quot;longMethodWithArgs&quot;, &quot;TestObj&quot;); });
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLLong&gt;(impl.longMethodWithArgs(WTFMove(longArg), WTFMove(strArg), *objArg));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLLong&gt;(impl.longMethodWithArgs(WTFMove(longArg), WTFMove(strArg), *objArg)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionObjMethodCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -4980,8 +4880,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.objMethod());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.objMethod()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionObjMethodWithArgsCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -5004,8 +4903,7 @@
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><span class="cx">     auto objArg = convert&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, state-&gt;uncheckedArgument(2), [](JSC::ExecState&amp; state, JSC::ThrowScope&amp; scope) { throwArgumentTypeError(state, scope, 2, &quot;objArg&quot;, &quot;TestObject&quot;, &quot;objMethodWithArgs&quot;, &quot;TestObj&quot;); });
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.objMethodWithArgs(WTFMove(longArg), WTFMove(strArg), *objArg));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.objMethodWithArgs(WTFMove(longArg), WTFMove(strArg), *objArg)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjInstanceFunctionUnforgeableMethodCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -5020,8 +4918,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result = toJS&lt;IDLLong&gt;(impl.unforgeableMethod());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLLong&gt;(impl.unforgeableMethod()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -5078,8 +4975,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result = toJS&lt;IDLNullable&lt;IDLDOMString&gt;&gt;(*state, impl.nullableStringMethod());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLNullable&lt;IDLDOMString&gt;&gt;(*state, impl.nullableStringMethod()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> EncodedJSValue JSC_HOST_CALL jsTestObjConstructorFunctionNullableStringStaticMethod(ExecState* state)
</span><span class="lines">@@ -5087,8 +4983,7 @@
</span><span class="cx">     VM&amp; vm = state-&gt;vm();
</span><span class="cx">     auto throwScope = DECLARE_THROW_SCOPE(vm);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><del>-    JSValue result = toJS&lt;IDLNullable&lt;IDLDOMString&gt;&gt;(*state, TestObj::nullableStringStaticMethod());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLNullable&lt;IDLDOMString&gt;&gt;(*state, TestObj::nullableStringStaticMethod()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionNullableStringSpecialMethodCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -5107,8 +5002,7 @@
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx">     auto index = convert&lt;IDLUnsignedLong&gt;(*state, state-&gt;uncheckedArgument(0), IntegerConversionConfiguration::Normal);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLNullable&lt;IDLDOMString&gt;&gt;(*state, impl.nullableStringSpecialMethod(WTFMove(index)));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLNullable&lt;IDLDOMString&gt;&gt;(*state, impl.nullableStringSpecialMethod(WTFMove(index))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionMethodWithEnumArgCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -5226,15 +5120,11 @@
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 2))
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto strArg = convert&lt;IDLDOMString&gt;(*state, state-&gt;uncheckedArgument(0), StringConversionConfiguration::Normal);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><span class="cx">     auto objArg = convert&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, state-&gt;uncheckedArgument(1), [](JSC::ExecState&amp; state, JSC::ThrowScope&amp; scope) { throwArgumentTypeError(state, scope, 1, &quot;objArg&quot;, &quot;TestObject&quot;, &quot;methodThatRequiresAllArgsAndThrows&quot;, &quot;TestObj&quot;); });
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.methodThatRequiresAllArgsAndThrows(WTFMove(strArg), *objArg, ec));
-
-    setDOMException(state, throwScope, ec);
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), throwScope, impl.methodThatRequiresAllArgsAndThrows(WTFMove(strArg), *objArg)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionMethodWithUSVStringArgCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -5365,8 +5255,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result = toJS&lt;IDLLong&gt;(*state, throwScope, impl.methodWithExceptionReturningLong());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLLong&gt;(*state, throwScope, impl.methodWithExceptionReturningLong()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -5381,28 +5270,9 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), throwScope, impl.methodWithExceptionReturningObject());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), throwScope, impl.methodWithExceptionReturningObject()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionMethodWithLegacyExceptionCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
-
-EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithLegacyException(ExecState* state)
-{
-    return BindingCaller&lt;JSTestObj&gt;::callOperation&lt;jsTestObjPrototypeFunctionMethodWithLegacyExceptionCaller&gt;(state, &quot;methodWithLegacyException&quot;);
-}
-
-static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionMethodWithLegacyExceptionCaller(JSC::ExecState* state, JSTestObj* castedThis, JSC::ThrowScope&amp; throwScope)
-{
-    UNUSED_PARAM(state);
-    UNUSED_PARAM(throwScope);
-    auto&amp; impl = castedThis-&gt;wrapped();
-    ExceptionCode ec = 0;
-    impl.methodWithLegacyException(ec);
-    setDOMException(state, throwScope, ec);
-    return JSValue::encode(jsUndefined());
-}
-
</del><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionCustomMethodCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="cx"> 
</span><span class="cx"> EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomMethod(ExecState* state)
</span><span class="lines">@@ -5447,8 +5317,7 @@
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx">     auto argument = convert&lt;IDLDOMString&gt;(*state, state-&gt;uncheckedArgument(0), StringConversionConfiguration::Normal);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLDOMString&gt;(*state, impl.privateMethod(WTFMove(argument)));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLDOMString&gt;(*state, impl.privateMethod(WTFMove(argument))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionPublicAndPrivateMethodCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -5467,8 +5336,7 @@
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx">     auto argument = convert&lt;IDLDOMString&gt;(*state, state-&gt;uncheckedArgument(0), StringConversionConfiguration::Normal);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLDOMString&gt;(*state, impl.publicAndPrivateMethod(WTFMove(argument)));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLDOMString&gt;(*state, impl.publicAndPrivateMethod(WTFMove(argument))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionAddEventListenerCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -5549,9 +5417,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.withScriptStateObj(*state));
-    RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.withScriptStateObj(*state)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionWithScriptStateVoidExceptionCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -5566,9 +5432,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    ExceptionCode ec = 0;
-    impl.withScriptStateVoidException(*state, ec);
-    setDOMException(state, throwScope, ec);
</del><ins>+    propagateException(*state, throwScope, impl.withScriptStateVoidException(*state));
</ins><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -5584,12 +5448,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    ExceptionCode ec = 0;
-    JSValue result = toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.withScriptStateObjException(*state, ec));
-
-    setDOMException(state, throwScope, ec);
-    RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), throwScope, impl.withScriptStateObjException(*state)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionWithScriptExecutionContextCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -5642,15 +5501,10 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="cx">     if (!context)
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.withScriptExecutionContextAndScriptStateObjException(*state, *context, ec));
-
-    setDOMException(state, throwScope, ec);
-    RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), throwScope, impl.withScriptExecutionContextAndScriptStateObjException(*state, *context)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpacesCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -5668,9 +5522,7 @@
</span><span class="cx">     auto* context = jsCast&lt;JSDOMGlobalObject*&gt;(state-&gt;lexicalGlobalObject())-&gt;scriptExecutionContext();
</span><span class="cx">     if (!context)
</span><span class="cx">         return JSValue::encode(jsUndefined());
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.withScriptExecutionContextAndScriptStateWithSpaces(*state, *context));
-    RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;TestObj&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.withScriptExecutionContextAndScriptStateWithSpaces(*state, *context)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStackCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -6457,8 +6309,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result = toJS&lt;IDLDOMString&gt;(*state, impl.conditionalMethod1());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLDOMString&gt;(*state, impl.conditionalMethod1()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="lines">@@ -7257,8 +7108,7 @@
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto arg = state-&gt;argument(0).isUndefined() ? Optional&lt;int32_t&gt;() : convert&lt;IDLLong&gt;(*state, state-&gt;uncheckedArgument(0), IntegerConversionConfiguration::Normal);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLLong&gt;(TestObj::classMethodWithOptional(WTFMove(arg)));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLLong&gt;(TestObj::classMethodWithOptional(WTFMove(arg))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> EncodedJSValue JSC_HOST_CALL jsTestObjConstructorFunctionClassMethod2(ExecState* state)
</span><span class="lines">@@ -7399,13 +7249,9 @@
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto values = convert&lt;IDLSequence&lt;IDLDOMString&gt;&gt;(*state, state-&gt;uncheckedArgument(0));
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLSequence&lt;IDLDOMString&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.stringArrayFunction(WTFMove(values), ec));
-
-    setDOMException(state, throwScope, ec);
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLSequence&lt;IDLDOMString&gt;&gt;(*state, *castedThis-&gt;globalObject(), throwScope, impl.stringArrayFunction(WTFMove(values))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionDomStringListFunctionCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -7422,13 +7268,9 @@
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto values = convert&lt;IDLInterface&lt;DOMStringList&gt;&gt;(*state, state-&gt;uncheckedArgument(0), [](JSC::ExecState&amp; state, JSC::ThrowScope&amp; scope) { throwArgumentTypeError(state, scope, 0, &quot;values&quot;, &quot;TestObject&quot;, &quot;domStringListFunction&quot;, &quot;DOMStringList&quot;); });
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;DOMStringList&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.domStringListFunction(*values, ec));
-
-    setDOMException(state, throwScope, ec);
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;DOMStringList&gt;&gt;(*state, *castedThis-&gt;globalObject(), throwScope, impl.domStringListFunction(*values)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -7469,8 +7311,7 @@
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx">     auto elementId = AtomicString(state-&gt;uncheckedArgument(0).toString(state)-&gt;toExistingAtomicString(state));
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLNullable&lt;IDLInterface&lt;Element&gt;&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.getElementById(WTFMove(elementId)));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLNullable&lt;IDLInterface&lt;Element&gt;&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.getElementById(WTFMove(elementId))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionGetSVGDocumentCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -7485,11 +7326,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    ExceptionCode ec = 0;
-    JSValue result = toJS&lt;IDLInterface&lt;SVGDocument&gt;&gt;(*state, *castedThis-&gt;globalObject(), BindingSecurity::checkSecurityForNode(*state, impl.getSVGDocument(ec)));
-
-    setDOMException(state, throwScope, ec);
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;SVGDocument&gt;&gt;(*state, *castedThis-&gt;globalObject(), throwScope, BindingSecurity::checkSecurityForNode(*state, impl.getSVGDocument())));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionConvert1Caller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -7584,8 +7421,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;SVGPropertyTearOff&lt;SVGPoint&gt;&gt;&gt;(*state, *castedThis-&gt;globalObject(), SVGPropertyTearOff&lt;SVGPoint&gt;::create(impl.mutablePointFunction()));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;SVGPropertyTearOff&lt;SVGPoint&gt;&gt;&gt;(*state, *castedThis-&gt;globalObject(), SVGPropertyTearOff&lt;SVGPoint&gt;::create(impl.mutablePointFunction())));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionImmutablePointFunctionCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -7600,8 +7436,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;SVGPropertyTearOff&lt;SVGPoint&gt;&gt;&gt;(*state, *castedThis-&gt;globalObject(), SVGPropertyTearOff&lt;SVGPoint&gt;::create(impl.immutablePointFunction()));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;SVGPropertyTearOff&lt;SVGPoint&gt;&gt;&gt;(*state, *castedThis-&gt;globalObject(), SVGPropertyTearOff&lt;SVGPoint&gt;::create(impl.immutablePointFunction())));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestObjPrototypeFunctionOrangeCaller(JSC::ExecState*, JSTestObj*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -7802,9 +7637,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    ExceptionCode ec = 0;
-    impl.testPromiseFunctionWithException(WTFMove(promise), ec);
-    setDOMException(state, throwScope, ec);
</del><ins>+    propagateException(*state, throwScope, impl.testPromiseFunctionWithException(WTFMove(promise)));
</ins><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -7937,9 +7770,7 @@
</span><span class="cx">     VM&amp; vm = state-&gt;vm();
</span><span class="cx">     auto throwScope = DECLARE_THROW_SCOPE(vm);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><del>-    ExceptionCode ec = 0;
-    TestObj::testStaticPromiseFunctionWithException(WTFMove(promise), ec);
-    setDOMException(state, throwScope, ec);
</del><ins>+    propagateException(*state, throwScope, TestObj::testStaticPromiseFunctionWithException(WTFMove(promise)));
</ins><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -8156,8 +7987,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result = toJS&lt;IDLUSVString&gt;(*state, impl.stringifierAttribute());
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLUSVString&gt;(*state, impl.stringifierAttribute()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline EncodedJSValue jsTestObjPrototypeFunctionToJSONCaller(ExecState* state, JSTestObj* thisObject, JSC::ThrowScope&amp; throwScope)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestOverrideBuiltinscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -224,8 +224,7 @@
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx">     auto name = convert&lt;IDLDOMString&gt;(*state, state-&gt;uncheckedArgument(0), StringConversionConfiguration::Normal);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;Node&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.namedItem(WTFMove(name)));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;Node&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.namedItem(WTFMove(name))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool JSTestOverrideBuiltinsOwner::isReachableFromOpaqueRoots(JSC::Handle&lt;JSC::Unknown&gt; handle, void*, SlotVisitor&amp; visitor)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestTypedefscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -293,10 +293,8 @@
</span><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto&amp; impl = thisObject.wrapped();
</span><del>-    JSValue result = toJS&lt;IDLLong&gt;(impl.attrWithGetterException(ec));
-    setDOMException(&amp;state, throwScope, ec);
</del><ins>+    JSValue result = toJS&lt;IDLLong&gt;(state, throwScope, impl.attrWithGetterException());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -327,10 +325,8 @@
</span><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     UNUSED_PARAM(state);
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto&amp; impl = thisObject.wrapped();
</span><del>-    JSValue result = toJS&lt;IDLDOMString&gt;(state, impl.stringAttrWithGetterException(ec));
-    setDOMException(&amp;state, throwScope, ec);
</del><ins>+    JSValue result = toJS&lt;IDLDOMString&gt;(state, throwScope, impl.stringAttrWithGetterException());
</ins><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -443,11 +439,9 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = thisObject.wrapped();
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto nativeValue = convert&lt;IDLLong&gt;(state, value, IntegerConversionConfiguration::Normal);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, false);
</span><del>-    impl.setAttrWithSetterException(WTFMove(nativeValue), ec);
-    setDOMException(&amp;state, throwScope, ec);
</del><ins>+    propagateException(state, throwScope, impl.setAttrWithSetterException(WTFMove(nativeValue)));
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -483,11 +477,9 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = thisObject.wrapped();
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto nativeValue = convert&lt;IDLDOMString&gt;(state, value, StringConversionConfiguration::Normal);
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, false);
</span><del>-    impl.setStringAttrWithSetterException(WTFMove(nativeValue), ec);
-    setDOMException(&amp;state, throwScope, ec);
</del><ins>+    propagateException(state, throwScope, impl.setStringAttrWithSetterException(WTFMove(nativeValue)));
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -559,8 +551,7 @@
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx">     auto sequenceArg = convert&lt;IDLSequence&lt;IDLInterface&lt;SerializedScriptValue&gt;&gt;&gt;(*state, state-&gt;uncheckedArgument(0));
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLUnsignedLongLong&gt;(impl.methodWithSequenceArg(WTFMove(sequenceArg)));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLUnsignedLongLong&gt;(impl.methodWithSequenceArg(WTFMove(sequenceArg))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestTypedefsPrototypeFunctionNullableSequenceArgCaller(JSC::ExecState*, JSTestTypedefs*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -697,8 +688,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    JSValue result = toJS&lt;IDLInterface&lt;SVGPropertyTearOff&lt;SVGPoint&gt;&gt;&gt;(*state, *castedThis-&gt;globalObject(), SVGPropertyTearOff&lt;SVGPoint&gt;::create(impl.immutablePointFunction()));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLInterface&lt;SVGPropertyTearOff&lt;SVGPoint&gt;&gt;&gt;(*state, *castedThis-&gt;globalObject(), SVGPropertyTearOff&lt;SVGPoint&gt;::create(impl.immutablePointFunction())));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestTypedefsPrototypeFunctionStringSequenceFunctionCaller(JSC::ExecState*, JSTestTypedefs*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -715,13 +705,9 @@
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto values = convert&lt;IDLSequence&lt;IDLDOMString&gt;&gt;(*state, state-&gt;uncheckedArgument(0));
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLSequence&lt;IDLDOMString&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.stringSequenceFunction(WTFMove(values), ec));
-
-    setDOMException(state, throwScope, ec);
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLSequence&lt;IDLDOMString&gt;&gt;(*state, *castedThis-&gt;globalObject(), throwScope, impl.stringSequenceFunction(WTFMove(values))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestTypedefsPrototypeFunctionStringSequenceFunction2Caller(JSC::ExecState*, JSTestTypedefs*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -738,13 +724,9 @@
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><span class="cx">     if (UNLIKELY(state-&gt;argumentCount() &lt; 1))
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><del>-    ExceptionCode ec = 0;
</del><span class="cx">     auto values = convert&lt;IDLSequence&lt;IDLDOMString&gt;&gt;(*state, state-&gt;uncheckedArgument(0));
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLSequence&lt;IDLDOMString&gt;&gt;(*state, *castedThis-&gt;globalObject(), impl.stringSequenceFunction2(WTFMove(values), ec));
-
-    setDOMException(state, throwScope, ec);
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLSequence&lt;IDLDOMString&gt;&gt;(*state, *castedThis-&gt;globalObject(), throwScope, impl.stringSequenceFunction2(WTFMove(values))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeCaller(JSC::ExecState*, JSTestTypedefs*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -763,8 +745,7 @@
</span><span class="cx">         return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
</span><span class="cx">     auto sequenceArg = convert&lt;IDLSequence&lt;IDLInterface&lt;TestEventTarget&gt;&gt;&gt;(*state, state-&gt;uncheckedArgument(0));
</span><span class="cx">     RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
</span><del>-    JSValue result = toJS&lt;IDLBoolean&gt;(impl.callWithSequenceThatRequiresInclude(WTFMove(sequenceArg)));
-    return JSValue::encode(result);
</del><ins>+    return JSValue::encode(toJS&lt;IDLBoolean&gt;(impl.callWithSequenceThatRequiresInclude(WTFMove(sequenceArg))));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline JSC::EncodedJSValue jsTestTypedefsPrototypeFunctionMethodWithExceptionCaller(JSC::ExecState*, JSTestTypedefs*, JSC::ThrowScope&amp;);
</span><span class="lines">@@ -779,9 +760,7 @@
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="cx">     UNUSED_PARAM(throwScope);
</span><span class="cx">     auto&amp; impl = castedThis-&gt;wrapped();
</span><del>-    ExceptionCode ec = 0;
-    impl.methodWithException(ec);
-    setDOMException(state, throwScope, ec);
</del><ins>+    propagateException(*state, throwScope, impl.methodWithException());
</ins><span class="cx">     return JSValue::encode(jsUndefined());
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestImplementsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestImplements.idl (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestImplements.idl        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/scripts/test/TestImplements.idl        2016-11-12 22:30:22 UTC (rev 208658)
</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, MayThrowLegacyException] TestObj implementsMethod2(DOMString strArg, TestObj objArg);
</del><ins>+    [CallWith=ScriptExecutionContext, MayThrowException] 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 (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestInterface.idl        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/scripts/test/TestInterface.idl        2016-11-12 22:30:22 UTC (rev 208658)
</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>-    ConstructorMayThrowLegacyException,
</del><ins>+    ConstructorMayThrowException,
</ins><span class="cx">     ExportMacro=WEBCORE_EXPORT,
</span><span class="cx">     ImplementationLacksVTable
</span><span class="cx"> ] interface TestInterface {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestTestNamedConstructoridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/TestNamedConstructor.idl (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestNamedConstructor.idl        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/scripts/test/TestNamedConstructor.idl        2016-11-12 22:30:22 UTC (rev 208658)
</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>-    ConstructorMayThrowLegacyException
</del><ins>+    ConstructorMayThrowException
</ins><span class="cx"> ] interface TestNamedConstructor {
</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 (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestObj.idl        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/scripts/test/TestObj.idl        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -138,7 +138,7 @@
</span><span class="cx">     void methodWithStandaloneEnumArg(TestStandaloneEnumeration enumArg);
</span><span class="cx">     void methodWithOptionalEnumArg(optional TestEnumType enumArg);
</span><span class="cx">     void methodWithOptionalEnumArgAndDefaultValue(optional TestEnumType enumArg = &quot;EnumValue1&quot;);
</span><del>-    [MayThrowLegacyException] TestObj methodThatRequiresAllArgsAndThrows(DOMString strArg, TestObj objArg);
</del><ins>+    [MayThrowException] 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">@@ -153,13 +153,10 @@
</span><span class="cx">     [MayThrowException] void methodWithException();
</span><span class="cx">     [MayThrowException] long methodWithExceptionReturningLong();
</span><span class="cx">     [MayThrowException] TestObj methodWithExceptionReturningObject();
</span><del>-    [MayThrowLegacyException] void methodWithLegacyException();
</del><span class="cx">     [GetterMayThrowException] attribute long attributeWithGetterException;
</span><del>-    [GetterMayThrowLegacyException] attribute long attributeWithGetterLegacyException;
</del><span class="cx">     [SetterMayThrowException] attribute long attributeWithSetterException;
</span><del>-    [SetterMayThrowLegacyException] attribute long attributeWithSetterLegacyException;
-    [GetterMayThrowLegacyException] attribute DOMString stringAttrWithGetterException;
-    [SetterMayThrowLegacyException] attribute DOMString stringAttrWithSetterException;
</del><ins>+    [GetterMayThrowException] attribute DOMString stringAttrWithGetterException;
+    [SetterMayThrowException] 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">@@ -184,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, MayThrowLegacyException] void withScriptStateVoidException();
-    [CallWith=ScriptState, MayThrowLegacyException] TestObj withScriptStateObjException();
</del><ins>+    [CallWith=ScriptState, MayThrowException] void withScriptStateVoidException();
+    [CallWith=ScriptState, MayThrowException] 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, MayThrowLegacyException] TestObj withScriptExecutionContextAndScriptStateObjException();
</del><ins>+    [CallWith=ScriptExecutionContext&amp;ScriptState, MayThrowException] 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">@@ -198,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, GetterMayThrowLegacyException] attribute TestObj withScriptStateAttributeRaises;
-    [CallWith=ScriptExecutionContext, GetterMayThrowLegacyException] attribute TestObj withScriptExecutionContextAttributeRaises;
</del><ins>+    [CallWith=ScriptState, GetterMayThrowException] attribute TestObj withScriptStateAttributeRaises;
+    [CallWith=ScriptExecutionContext, GetterMayThrowException] attribute TestObj withScriptExecutionContextAttributeRaises;
</ins><span class="cx">     [CallWith=ScriptExecutionContext&amp;ScriptState] attribute TestObj withScriptExecutionContextAndScriptStateAttribute;
</span><del>-    [CallWith=ScriptExecutionContext&amp;ScriptState,GetterMayThrowLegacyException] attribute TestObj withScriptExecutionContextAndScriptStateAttributeRaises;
</del><ins>+    [CallWith=ScriptExecutionContext&amp;ScriptState,GetterMayThrowException] 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">@@ -333,8 +330,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>-    [MayThrowLegacyException] sequence&lt;DOMString&gt; stringArrayFunction(sequence&lt;DOMString&gt; values);
-    [MayThrowLegacyException] DOMStringList domStringListFunction(DOMStringList values);
</del><ins>+    [MayThrowException] sequence&lt;DOMString&gt; stringArrayFunction(sequence&lt;DOMString&gt; values);
+    [MayThrowException] 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">@@ -342,7 +339,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     [CheckSecurityForNode] readonly attribute Document contentDocument;
</span><del>-    [CheckSecurityForNode, MayThrowLegacyException] SVGDocument getSVGDocument();
</del><ins>+    [CheckSecurityForNode, MayThrowException] 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">@@ -394,7 +391,7 @@
</span><span class="cx">     attribute USVString? nullableUSVStringSettableAttribute;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    [GetterMayThrowLegacyException] attribute long? nullableStringValue;
</del><ins>+    [GetterMayThrowException] 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">@@ -407,12 +404,12 @@
</span><span class="cx">     // Promise function
</span><span class="cx">     Promise&lt;void&gt; testPromiseFunction();
</span><span class="cx">     Promise&lt;void&gt; testPromiseFunctionWithFloatArgument(float a);
</span><del>-    [MayThrowLegacyException] Promise&lt;void&gt; testPromiseFunctionWithException();
</del><ins>+    [MayThrowException] Promise&lt;void&gt; testPromiseFunctionWithException();
</ins><span class="cx">     Promise&lt;void&gt; testPromiseFunctionWithOptionalIntArgument(optional long a);
</span><span class="cx">     Promise&lt;void&gt; testPromiseOverloadedFunction(float a);
</span><span class="cx">     Promise&lt;void&gt; testPromiseOverloadedFunction(FetchRequest request);
</span><span class="cx">     static Promise&lt;void&gt; testStaticPromiseFunction();
</span><del>-    [MayThrowLegacyException] static Promise&lt;void&gt; testStaticPromiseFunctionWithException();
</del><ins>+    [MayThrowException] static Promise&lt;void&gt; testStaticPromiseFunctionWithException();
</ins><span class="cx">     [Custom] Promise&lt;void&gt; 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 (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestSupplemental.idl        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/scripts/test/TestSupplemental.idl        2016-11-12 22:30:22 UTC (rev 208658)
</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, MayThrowLegacyException] TestObj supplementalMethod2(DOMString strArg, TestObj objArg);
</del><ins>+    [CallWith=ScriptExecutionContext, MayThrowException] 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 (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/TestTypedefs.idl        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/bindings/scripts/test/TestTypedefs.idl        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -57,17 +57,17 @@
</span><span class="cx"> 
</span><span class="cx">     [Immutable] SVGPOINT immutablePointFunction();
</span><span class="cx"> 
</span><del>-    [MayThrowLegacyException] SEQUENCE_OF_STRINGS stringSequenceFunction(SEQUENCE_OF_STRINGS values);
-    [MayThrowLegacyException] sequence&lt;STRING&gt; stringSequenceFunction2(sequence&lt;STRING&gt; values);
</del><ins>+    [MayThrowException] SEQUENCE_OF_STRINGS stringSequenceFunction(SEQUENCE_OF_STRINGS values);
+    [MayThrowException] 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>-    [MayThrowLegacyException] void methodWithException();
-    [GetterMayThrowLegacyException] attribute long attrWithGetterException;
-    [SetterMayThrowLegacyException] attribute long attrWithSetterException;
-    [GetterMayThrowLegacyException] attribute DOMString stringAttrWithGetterException;
-    [SetterMayThrowLegacyException] attribute DOMString stringAttrWithSetterException;
</del><ins>+    [MayThrowException] void methodWithException();
+    [GetterMayThrowException] attribute long attrWithGetterException;
+    [SetterMayThrowException] attribute long attrWithSetterException;
+    [GetterMayThrowException] attribute DOMString stringAttrWithGetterException;
+    [SetterMayThrowException] 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="trunkSourceWebCoredomContainerNodeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ContainerNode.h (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ContainerNode.h        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/dom/ContainerNode.h        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -24,7 +24,6 @@
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CollectionType.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;Node.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingAlternativeTextControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/AlternativeTextController.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/AlternativeTextController.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/AlternativeTextController.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx"> #include &quot;Editor.h&quot;
</span><span class="cx"> #include &quot;Element.h&quot;
</span><span class="cx"> #include &quot;Event.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FloatQuad.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;FrameView.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingAppendNodeCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/AppendNodeCommand.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/AppendNodeCommand.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/AppendNodeCommand.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;AXObjectCache.h&quot;
</span><span class="cx"> #include &quot;Document.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;RenderElement.h&quot;
</span><span class="cx"> #include &quot;Text.h&quot;
</span><span class="cx"> #include &quot;htmlediting.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingCompositeEditCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/CompositeEditCommand.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/CompositeEditCommand.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/CompositeEditCommand.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -40,7 +40,6 @@
</span><span class="cx"> #include &quot;EditorInsertAction.h&quot;
</span><span class="cx"> #include &quot;ElementTraversal.h&quot;
</span><span class="cx"> #include &quot;Event.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;HTMLBRElement.h&quot;
</span><span class="cx"> #include &quot;HTMLDivElement.h&quot;
</span><span class="lines">@@ -1755,7 +1754,7 @@
</span><span class="cx"> 
</span><span class="cx"> Ref&lt;Element&gt; createBlockPlaceholderElement(Document&amp; document)
</span><span class="cx"> {
</span><del>-    return document.createElement(brTag, false);
</del><ins>+    return HTMLBRElement::create(document);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingDeleteFromTextNodeCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/DeleteFromTextNodeCommand.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/DeleteFromTextNodeCommand.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/DeleteFromTextNodeCommand.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -27,7 +27,6 @@
</span><span class="cx"> #include &quot;DeleteFromTextNodeCommand.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Document.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;Text.h&quot;
</span><span class="cx"> #include &quot;htmlediting.h&quot;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/Editor.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/Editor.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/Editor.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -45,7 +45,6 @@
</span><span class="cx"> #include &quot;EditorClient.h&quot;
</span><span class="cx"> #include &quot;EventHandler.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FocusController.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;FrameTree.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditorCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/EditorCommand.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/EditorCommand.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/EditorCommand.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -36,7 +36,6 @@
</span><span class="cx"> #include &quot;EditorClient.h&quot;
</span><span class="cx"> #include &quot;Event.h&quot;
</span><span class="cx"> #include &quot;EventHandler.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FormatBlockCommand.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;FrameView.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingFormatBlockCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/FormatBlockCommand.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/FormatBlockCommand.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/FormatBlockCommand.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Document.h&quot;
</span><span class="cx"> #include &quot;Element.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;HTMLElement.h&quot;
</span><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><span class="cx"> #include &quot;Range.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingIndentOutdentCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/IndentOutdentCommand.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/IndentOutdentCommand.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/IndentOutdentCommand.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -30,6 +30,8 @@
</span><span class="cx"> #include &quot;ElementTraversal.h&quot;
</span><span class="cx"> #include &quot;HTMLBRElement.h&quot;
</span><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><ins>+#include &quot;HTMLOListElement.h&quot;
+#include &quot;HTMLUListElement.h&quot;
</ins><span class="cx"> #include &quot;InsertLineBreakCommand.h&quot;
</span><span class="cx"> #include &quot;InsertListCommand.h&quot;
</span><span class="cx"> #include &quot;RenderElement.h&quot;
</span><span class="lines">@@ -72,7 +74,11 @@
</span><span class="cx">     RefPtr&lt;Element&gt; previousList = ElementTraversal::previousSibling(*selectedListItem);
</span><span class="cx">     RefPtr&lt;Element&gt; nextList = ElementTraversal::nextSibling(*selectedListItem);
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Element&gt; newList = document().createElement(listNode-&gt;tagQName(), false);
</del><ins>+    RefPtr&lt;Element&gt; newList;
+    if (is&lt;HTMLUListElement&gt;(*listNode))
+        newList = HTMLUListElement::create(document());
+    else
+        newList = HTMLOListElement::create(document());
</ins><span class="cx">     insertNodeBefore(newList, selectedListItem);
</span><span class="cx"> 
</span><span class="cx">     moveParagraphWithClones(start, end, newList.get(), selectedListItem.get());
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingInsertListCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/InsertListCommand.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/InsertListCommand.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/InsertListCommand.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -27,7 +27,6 @@
</span><span class="cx"> #include &quot;InsertListCommand.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ElementTraversal.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;HTMLBRElement.h&quot;
</span><span class="cx"> #include &quot;HTMLLIElement.h&quot;
</span><span class="cx"> #include &quot;HTMLNames.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingInsertNodeBeforeCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/InsertNodeBeforeCommand.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/InsertNodeBeforeCommand.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/InsertNodeBeforeCommand.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -27,7 +27,6 @@
</span><span class="cx"> #include &quot;InsertNodeBeforeCommand.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Document.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;RenderElement.h&quot;
</span><span class="cx"> #include &quot;Text.h&quot;
</span><span class="cx"> #include &quot;htmlediting.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingRemoveNodeCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/RemoveNodeCommand.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/RemoveNodeCommand.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/RemoveNodeCommand.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -26,7 +26,6 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;RemoveNodeCommand.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;RenderElement.h&quot;
</span><span class="cx"> #include &quot;htmlediting.h&quot;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingReplaceSelectionCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -37,7 +37,6 @@
</span><span class="cx"> #include &quot;DocumentFragment.h&quot;
</span><span class="cx"> #include &quot;ElementIterator.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;FrameSelection.h&quot;
</span><span class="cx"> #include &quot;HTMLBRElement.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingTextIteratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/TextIterator.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/TextIterator.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/TextIterator.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx"> #include &quot;TextIterator.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Document.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FontCascade.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;HTMLBodyElement.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingWrapContentsInDummySpanCommandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/WrapContentsInDummySpanCommand.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/WrapContentsInDummySpanCommand.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/WrapContentsInDummySpanCommand.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -27,7 +27,6 @@
</span><span class="cx"> #include &quot;WrapContentsInDummySpanCommand.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ApplyStyleCommand.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingcocoaEditorCocoamm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #import &quot;EditingStyle.h&quot;
</span><span class="cx"> #import &quot;Frame.h&quot;
</span><span class="cx"> #import &quot;FrameSelection.h&quot;
</span><ins>+#import &quot;HTMLSpanElement.h&quot;
</ins><span class="cx"> #import &quot;NSAttributedStringSPI.h&quot;
</span><span class="cx"> #import &quot;RenderElement.h&quot;
</span><span class="cx"> #import &quot;RenderStyle.h&quot;
</span><span class="lines">@@ -68,7 +69,7 @@
</span><span class="cx">     if (!typingStyle || !typingStyle-&gt;style())
</span><span class="cx">         return &amp;position.deprecatedNode()-&gt;renderer()-&gt;style();
</span><span class="cx"> 
</span><del>-    Ref&lt;Element&gt; styleElement = frame-&gt;document()-&gt;createElement(HTMLNames::spanTag, false);
</del><ins>+    auto styleElement = HTMLSpanElement::create(*frame-&gt;document());
</ins><span class="cx"> 
</span><span class="cx">     String styleText = typingStyle-&gt;style()-&gt;asText() + &quot; display: inline&quot;;
</span><span class="cx">     styleElement-&gt;setAttribute(HTMLNames::styleAttr, styleText);
</span></span></pre></div>
<a id="trunkSourceWebCoreeditinghtmleditingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/htmlediting.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/htmlediting.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/htmlediting.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -29,7 +29,6 @@
</span><span class="cx"> #include &quot;AXObjectCache.h&quot;
</span><span class="cx"> #include &quot;Document.h&quot;
</span><span class="cx"> #include &quot;Editor.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;HTMLBodyElement.h&quot;
</span><span class="cx"> #include &quot;HTMLDListElement.h&quot;
</span><span class="lines">@@ -930,7 +929,7 @@
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;Element&gt; createTabSpanElement(Document&amp; document, Text&amp; tabTextNode)
</span><span class="cx"> {
</span><del>-    auto spanElement = document.createElement(spanTag, false);
</del><ins>+    auto spanElement = HTMLSpanElement::create(document);
</ins><span class="cx"> 
</span><span class="cx">     spanElement-&gt;setAttributeWithoutSynchronization(classAttr, AppleTabSpanClass);
</span><span class="cx">     spanElement-&gt;setAttribute(styleAttr, &quot;white-space:pre&quot;);
</span><span class="lines">@@ -937,7 +936,7 @@
</span><span class="cx"> 
</span><span class="cx">     spanElement-&gt;appendChild(tabTextNode);
</span><span class="cx"> 
</span><del>-    return spanElement;
</del><ins>+    return WTFMove(spanElement);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Ref&lt;Element&gt; createTabSpanElement(Document&amp; document, const String&amp; tabText)
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingiosEditorIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/ios/EditorIOS.mm (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/ios/EditorIOS.mm        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/ios/EditorIOS.mm        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -39,6 +39,7 @@
</span><span class="cx"> #import &quot;FontCascade.h&quot;
</span><span class="cx"> #import &quot;Frame.h&quot;
</span><span class="cx"> #import &quot;FrameLoaderClient.h&quot;
</span><ins>+#import &quot;HTMLAnchorElement.h&quot;
</ins><span class="cx"> #import &quot;HTMLConverter.h&quot;
</span><span class="cx"> #import &quot;HTMLImageElement.h&quot;
</span><span class="cx"> #import &quot;HTMLInputElement.h&quot;
</span><span class="lines">@@ -475,7 +476,7 @@
</span><span class="cx">             return fragment;
</span><span class="cx">         }
</span><span class="cx">     } else {
</span><del>-        auto anchor = frame.document()-&gt;createElement(HTMLNames::aTag, false);
</del><ins>+        auto anchor = HTMLAnchorElement::create(*frame.document());
</ins><span class="cx">         anchor-&gt;setAttributeWithoutSynchronization(HTMLNames::hrefAttr, url.string());
</span><span class="cx">         anchor-&gt;appendChild(frame.document()-&gt;createTextNode([[(NSURL *)url absoluteString] precomposedStringWithCanonicalMapping]));
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingmacEditorMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/mac/EditorMac.mm (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/mac/EditorMac.mm        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/mac/EditorMac.mm        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -42,6 +42,7 @@
</span><span class="cx"> #import &quot;Frame.h&quot;
</span><span class="cx"> #import &quot;FrameLoaderClient.h&quot;
</span><span class="cx"> #import &quot;FrameView.h&quot;
</span><ins>+#import &quot;HTMLAnchorElement.h&quot;
</ins><span class="cx"> #import &quot;HTMLAttachmentElement.h&quot;
</span><span class="cx"> #import &quot;HTMLConverter.h&quot;
</span><span class="cx"> #import &quot;HTMLElement.h&quot;
</span><span class="lines">@@ -628,7 +629,7 @@
</span><span class="cx">     if (url.string().isEmpty())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    auto anchor = frame.document()-&gt;createElement(HTMLNames::aTag, false);
</del><ins>+    auto anchor = HTMLAnchorElement::create(*frame.document());
</ins><span class="cx">     anchor-&gt;setAttributeWithoutSynchronization(HTMLNames::hrefAttr, url.string());
</span><span class="cx">     anchor-&gt;appendChild(frame.document()-&gt;createTextNode([title precomposedStringWithCanonicalMapping]));
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingmarkupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/markup.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/markup.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/editing/markup.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -39,7 +39,6 @@
</span><span class="cx"> #include &quot;Editor.h&quot;
</span><span class="cx"> #include &quot;ElementIterator.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;File.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;HTMLAttachmentElement.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlFTPDirectoryDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/FTPDirectoryDocument.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/FTPDirectoryDocument.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/FTPDirectoryDocument.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -23,10 +23,14 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><del>-#if ENABLE(FTPDIR)
</del><span class="cx"> #include &quot;FTPDirectoryDocument.h&quot;
</span><span class="cx"> 
</span><ins>+#if ENABLE(FTPDIR)
+
+#include &quot;HTMLAnchorElement.h&quot;
+#include &quot;HTMLBodyElement.h&quot;
</ins><span class="cx"> #include &quot;HTMLDocumentParser.h&quot;
</span><ins>+#include &quot;HTMLTableCellElement.h&quot;
</ins><span class="cx"> #include &quot;HTMLTableElement.h&quot;
</span><span class="cx"> #include &quot;LocalizedStrings.h&quot;
</span><span class="cx"> #include &quot;Logging.h&quot;
</span><span class="lines">@@ -101,11 +105,13 @@
</span><span class="cx"> 
</span><span class="cx"> void FTPDirectoryDocumentParser::appendEntry(const String&amp; filename, const String&amp; size, const String&amp; date, bool isDirectory)
</span><span class="cx"> {
</span><ins>+    auto&amp; document = *this-&gt;document();
+
</ins><span class="cx">     auto rowElement = m_tableElement-&gt;insertRow(-1).releaseReturnValue();
</span><span class="cx">     rowElement-&gt;setAttributeWithoutSynchronization(HTMLNames::classAttr, AtomicString(&quot;ftpDirectoryEntryRow&quot;, AtomicString::ConstructFromLiteral));
</span><span class="cx"> 
</span><del>-    auto typeElement = document()-&gt;createElement(tdTag, false);
-    typeElement-&gt;appendChild(Text::create(*document(), String(&amp;noBreakSpace, 1)));
</del><ins>+    auto typeElement = HTMLTableCellElement::create(tdTag, document);
+    typeElement-&gt;appendChild(Text::create(document, String(&amp;noBreakSpace, 1)));
</ins><span class="cx">     if (isDirectory)
</span><span class="cx">         typeElement-&gt;setAttributeWithoutSynchronization(HTMLNames::classAttr, AtomicString(&quot;ftpDirectoryIcon ftpDirectoryTypeDirectory&quot;, AtomicString::ConstructFromLiteral));
</span><span class="cx">     else
</span><span class="lines">@@ -116,13 +122,13 @@
</span><span class="cx">     nameElement-&gt;setAttributeWithoutSynchronization(HTMLNames::classAttr, AtomicString(&quot;ftpDirectoryFileName&quot;, AtomicString::ConstructFromLiteral));
</span><span class="cx">     rowElement-&gt;appendChild(nameElement);
</span><span class="cx"> 
</span><del>-    auto dateElement = document()-&gt;createElement(tdTag, false);
-    dateElement-&gt;appendChild(Text::create(*document(), date));
</del><ins>+    auto dateElement = HTMLTableCellElement::create(tdTag, document);
+    dateElement-&gt;appendChild(Text::create(document, date));
</ins><span class="cx">     dateElement-&gt;setAttributeWithoutSynchronization(HTMLNames::classAttr, AtomicString(&quot;ftpDirectoryFileDate&quot;, AtomicString::ConstructFromLiteral));
</span><span class="cx">     rowElement-&gt;appendChild(dateElement);
</span><span class="cx"> 
</span><del>-    auto sizeElement = document()-&gt;createElement(tdTag, false);
-    sizeElement-&gt;appendChild(Text::create(*document(), size));
</del><ins>+    auto sizeElement = HTMLTableCellElement::create(tdTag, document);
+    sizeElement-&gt;appendChild(Text::create(document, size));
</ins><span class="cx">     sizeElement-&gt;setAttributeWithoutSynchronization(HTMLNames::classAttr, AtomicString(&quot;ftpDirectoryFileSize&quot;, AtomicString::ConstructFromLiteral));
</span><span class="cx">     rowElement-&gt;appendChild(sizeElement);
</span><span class="cx"> }
</span><span class="lines">@@ -129,20 +135,22 @@
</span><span class="cx"> 
</span><span class="cx"> Ref&lt;Element&gt; FTPDirectoryDocumentParser::createTDForFilename(const String&amp; filename)
</span><span class="cx"> {
</span><del>-    String fullURL = document()-&gt;baseURL().string();
</del><ins>+    auto&amp; document = *this-&gt;document();
+
+    String fullURL = document.baseURL().string();
</ins><span class="cx">     if (fullURL.endsWith('/'))
</span><span class="cx">         fullURL = fullURL + filename;
</span><span class="cx">     else
</span><span class="cx">         fullURL = fullURL + '/' + filename;
</span><span class="cx"> 
</span><del>-    auto anchorElement = document()-&gt;createElement(aTag, false);
</del><ins>+    auto anchorElement = HTMLAnchorElement::create(document);
</ins><span class="cx">     anchorElement-&gt;setAttributeWithoutSynchronization(HTMLNames::hrefAttr, fullURL);
</span><del>-    anchorElement-&gt;appendChild(Text::create(*document(), filename));
</del><ins>+    anchorElement-&gt;appendChild(Text::create(document, filename));
</ins><span class="cx"> 
</span><del>-    Ref&lt;Element&gt; tdElement = document()-&gt;createElement(tdTag, false);
</del><ins>+    auto tdElement = HTMLTableCellElement::create(tdTag, document);
</ins><span class="cx">     tdElement-&gt;appendChild(anchorElement);
</span><span class="cx"> 
</span><del>-    return tdElement;
</del><ins>+    return WTFMove(tdElement);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static String processFilesizeString(const String&amp; size, bool isDirectory)
</span><span class="lines">@@ -291,30 +299,27 @@
</span><span class="cx"> 
</span><span class="cx">     HTMLDocumentParser::insert(String(templateDocumentData-&gt;data(), templateDocumentData-&gt;size()));
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Element&gt; tableElement = document()-&gt;getElementById(String(ASCIILiteral(&quot;ftpDirectoryTable&quot;)));
-    if (!tableElement)
</del><ins>+    auto&amp; document = *this-&gt;document();
+
+    auto* foundElement = document.getElementById(String(ASCIILiteral(&quot;ftpDirectoryTable&quot;)));
+    if (!foundElement)
</ins><span class="cx">         LOG_ERROR(&quot;Unable to find element by id \&quot;ftpDirectoryTable\&quot; in the template document.&quot;);
</span><del>-    else if (!is&lt;HTMLTableElement&gt;(*tableElement))
</del><ins>+    else if (!is&lt;HTMLTableElement&gt;(*foundElement))
</ins><span class="cx">         LOG_ERROR(&quot;Element of id \&quot;ftpDirectoryTable\&quot; is not a table element&quot;);
</span><del>-    else 
-        m_tableElement = downcast&lt;HTMLTableElement&gt;(tableElement.get());
-
-    // Bail if we found the table element
-    if (m_tableElement)
</del><ins>+    else {
+        m_tableElement = downcast&lt;HTMLTableElement&gt;(foundElement);
</ins><span class="cx">         return true;
</span><ins>+    }
</ins><span class="cx"> 
</span><del>-    // Otherwise create one manually
-    tableElement = document()-&gt;createElement(tableTag, false);
-    m_tableElement = downcast&lt;HTMLTableElement&gt;(tableElement.get());
</del><ins>+    m_tableElement = HTMLTableElement::create(document);
</ins><span class="cx">     m_tableElement-&gt;setAttributeWithoutSynchronization(HTMLNames::idAttr, AtomicString(&quot;ftpDirectoryTable&quot;, AtomicString::ConstructFromLiteral));
</span><span class="cx"> 
</span><del>-    // If we didn't find the table element, lets try to append our own to the body
-    // If that fails for some reason, cram it on the end of the document as a last
-    // ditch effort
-    if (auto* body = document()-&gt;bodyOrFrameset())
</del><ins>+    // If we didn't find the table element, lets try to append our own to the body.
+    // If that fails for some reason, cram it on the end of the document as a last ditch effort.
+    if (auto* body = document.bodyOrFrameset())
</ins><span class="cx">         body-&gt;appendChild(*m_tableElement);
</span><span class="cx">     else
</span><del>-        document()-&gt;appendChild(*m_tableElement);
</del><ins>+        document.appendChild(*m_tableElement);
</ins><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -323,20 +328,18 @@
</span><span class="cx"> {
</span><span class="cx">     LOG(FTP, &quot;Creating a basic FTP document structure as no template was loaded&quot;);
</span><span class="cx"> 
</span><del>-    // FIXME: Make this &quot;basic document&quot; more acceptable
</del><ins>+    auto&amp; document = *this-&gt;document();
</ins><span class="cx"> 
</span><del>-    Ref&lt;Element&gt; bodyElement = document()-&gt;createElement(bodyTag, false);
</del><ins>+    auto bodyElement = HTMLBodyElement::create(document);
+    document.appendChild(bodyElement);
</ins><span class="cx"> 
</span><del>-    document()-&gt;appendChild(bodyElement);
-
-    auto tableElement = document()-&gt;createElement(tableTag, false);
-    m_tableElement = downcast&lt;HTMLTableElement&gt;(tableElement.ptr());
</del><ins>+    m_tableElement = HTMLTableElement::create(document);
</ins><span class="cx">     m_tableElement-&gt;setAttributeWithoutSynchronization(HTMLNames::idAttr, AtomicString(&quot;ftpDirectoryTable&quot;, AtomicString::ConstructFromLiteral));
</span><span class="cx">     m_tableElement-&gt;setAttribute(HTMLNames::styleAttr, AtomicString(&quot;width:100%&quot;, AtomicString::ConstructFromLiteral));
</span><span class="cx"> 
</span><del>-    bodyElement-&gt;appendChild(tableElement);
</del><ins>+    bodyElement-&gt;appendChild(*m_tableElement);
</ins><span class="cx"> 
</span><del>-    document()-&gt;processViewport(&quot;width=device-width&quot;, ViewportArguments::ViewportMeta);
</del><ins>+    document.processViewport(&quot;width=device-width&quot;, ViewportArguments::ViewportMeta);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void FTPDirectoryDocumentParser::append(RefPtr&lt;StringImpl&gt;&amp;&amp; inputSource)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLEmbedElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLEmbedElement.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLEmbedElement.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/HTMLEmbedElement.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -54,6 +54,11 @@
</span><span class="cx">     return adoptRef(*new HTMLEmbedElement(tagName, document, createdByParser));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+Ref&lt;HTMLEmbedElement&gt; HTMLEmbedElement::create(Document&amp; document)
+{
+    return adoptRef(*new HTMLEmbedElement(embedTag, document, false));
+}
+
</ins><span class="cx"> static inline RenderWidget* findWidgetRenderer(const Node* node)
</span><span class="cx"> {
</span><span class="cx">     if (!node-&gt;renderer()) {
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLEmbedElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLEmbedElement.h (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLEmbedElement.h        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/HTMLEmbedElement.h        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class HTMLEmbedElement final : public HTMLPlugInImageElement {
</span><span class="cx"> public:
</span><ins>+    static Ref&lt;HTMLEmbedElement&gt; create(Document&amp;);
</ins><span class="cx">     static Ref&lt;HTMLEmbedElement&gt; create(const QualifiedName&amp;, Document&amp;, bool createdByParser);
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -47,7 +47,6 @@
</span><span class="cx"> #include &quot;DocumentLoader.h&quot;
</span><span class="cx"> #include &quot;ElementIterator.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FrameLoader.h&quot;
</span><span class="cx"> #include &quot;FrameLoaderClient.h&quot;
</span><span class="cx"> #include &quot;FrameView.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMetaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMetaElement.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMetaElement.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/HTMLMetaElement.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -38,6 +38,11 @@
</span><span class="cx">     ASSERT(hasTagName(metaTag));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+Ref&lt;HTMLMetaElement&gt; HTMLMetaElement::create(Document&amp; document)
+{
+    return adoptRef(*new HTMLMetaElement(metaTag, document));
+}
+
</ins><span class="cx"> Ref&lt;HTMLMetaElement&gt; HTMLMetaElement::create(const QualifiedName&amp; tagName, Document&amp; document)
</span><span class="cx"> {
</span><span class="cx">     return adoptRef(*new HTMLMetaElement(tagName, document));
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMetaElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMetaElement.h (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMetaElement.h        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/HTMLMetaElement.h        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> class HTMLMetaElement final : public HTMLElement {
</span><span class="cx"> public:
</span><ins>+    static Ref&lt;HTMLMetaElement&gt; create(Document&amp;);
</ins><span class="cx">     static Ref&lt;HTMLMetaElement&gt; create(const QualifiedName&amp;, Document&amp;);
</span><span class="cx"> 
</span><span class="cx">     const AtomicString&amp; content() const;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLOutputElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLOutputElement.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLOutputElement.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/HTMLOutputElement.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;HTMLOutputElement.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;HTMLFormElement.h&quot;
</span><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><span class="cx"> #include &lt;wtf/NeverDestroyed.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLSelectElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLSelectElement.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLSelectElement.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/HTMLSelectElement.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -34,7 +34,6 @@
</span><span class="cx"> #include &quot;ElementTraversal.h&quot;
</span><span class="cx"> #include &quot;EventHandler.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FormController.h&quot;
</span><span class="cx"> #include &quot;FormDataList.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="lines">@@ -459,8 +458,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (diff &lt; 0) { // Add dummy elements.
</span><span class="cx">         do {
</span><del>-            auto option = document().createElement(optionTag, false);
-            auto result = add(downcast&lt;HTMLOptionElement&gt;(option.ptr()), Nullopt);
</del><ins>+            auto result = add(HTMLOptionElement::create(document()).ptr(), Nullopt);
</ins><span class="cx">             if (result.hasException())
</span><span class="cx">                 return result;
</span><span class="cx">         } while (++diff);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLSourceElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLSourceElement.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLSourceElement.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/HTMLSourceElement.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -51,11 +51,16 @@
</span><span class="cx"> 
</span><span class="cx"> Ref&lt;HTMLSourceElement&gt; HTMLSourceElement::create(const QualifiedName&amp; tagName, Document&amp; document)
</span><span class="cx"> {
</span><del>-    Ref&lt;HTMLSourceElement&gt; sourceElement = adoptRef(*new HTMLSourceElement(tagName, document));
</del><ins>+    auto sourceElement = adoptRef(*new HTMLSourceElement(tagName, document));
</ins><span class="cx">     sourceElement-&gt;suspendIfNeeded();
</span><span class="cx">     return sourceElement;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+Ref&lt;HTMLSourceElement&gt; HTMLSourceElement::create(Document&amp; document)
+{
+    return create(sourceTag, document);
+}
+
</ins><span class="cx"> Node::InsertionNotificationRequest HTMLSourceElement::insertedInto(ContainerNode&amp; insertionPoint)
</span><span class="cx"> {
</span><span class="cx">     HTMLElement::insertedInto(insertionPoint);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLSourceElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLSourceElement.h (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLSourceElement.h        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/HTMLSourceElement.h        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> class HTMLSourceElement final : public HTMLElement, public ActiveDOMObject {
</span><span class="cx"> public:
</span><ins>+    static Ref&lt;HTMLSourceElement&gt; create(Document&amp;);
</ins><span class="cx">     static Ref&lt;HTMLSourceElement&gt; create(const QualifiedName&amp;, Document&amp;);
</span><span class="cx"> 
</span><span class="cx">     String media() const;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLStyleElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLStyleElement.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLStyleElement.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/HTMLStyleElement.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -50,8 +50,6 @@
</span><span class="cx"> inline HTMLStyleElement::HTMLStyleElement(const QualifiedName&amp; tagName, Document&amp; document, bool createdByParser)
</span><span class="cx">     : HTMLElement(tagName, document)
</span><span class="cx">     , m_styleSheetOwner(document, createdByParser)
</span><del>-    , m_firedLoad(false)
-    , m_loadedSheet(false)
</del><span class="cx"> {
</span><span class="cx">     ASSERT(hasTagName(styleTag));
</span><span class="cx"> }
</span><span class="lines">@@ -68,6 +66,11 @@
</span><span class="cx">     return adoptRef(*new HTMLStyleElement(tagName, document, createdByParser));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+Ref&lt;HTMLStyleElement&gt; HTMLStyleElement::create(Document&amp; document)
+{
+    return adoptRef(*new HTMLStyleElement(styleTag, document, false));
+}
+
</ins><span class="cx"> void HTMLStyleElement::parseAttribute(const QualifiedName&amp; name, const AtomicString&amp; value)
</span><span class="cx"> {
</span><span class="cx">     if (name == titleAttr &amp;&amp; sheet())
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLStyleElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLStyleElement.h (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLStyleElement.h        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/HTMLStyleElement.h        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -36,6 +36,7 @@
</span><span class="cx"> 
</span><span class="cx"> class HTMLStyleElement final : public HTMLElement {
</span><span class="cx"> public:
</span><ins>+    static Ref&lt;HTMLStyleElement&gt; create(Document&amp;);
</ins><span class="cx">     static Ref&lt;HTMLStyleElement&gt; create(const QualifiedName&amp;, Document&amp;, bool createdByParser);
</span><span class="cx">     virtual ~HTMLStyleElement();
</span><span class="cx"> 
</span><span class="lines">@@ -47,6 +48,8 @@
</span><span class="cx">     void dispatchPendingEvent(StyleEventSender*);
</span><span class="cx">     static void dispatchPendingLoadEvents();
</span><span class="cx"> 
</span><ins>+    void finishParsingChildren() final;
+
</ins><span class="cx"> private:
</span><span class="cx">     HTMLStyleElement(const QualifiedName&amp;, Document&amp;, bool createdByParser);
</span><span class="cx"> 
</span><span class="lines">@@ -55,8 +58,6 @@
</span><span class="cx">     void removedFrom(ContainerNode&amp;) final;
</span><span class="cx">     void childrenChanged(const ChildChange&amp;) final;
</span><span class="cx"> 
</span><del>-    void finishParsingChildren() final;
-
</del><span class="cx">     bool isLoading() const { return m_styleSheetOwner.isLoading(); }
</span><span class="cx">     bool sheetLoaded() final { return m_styleSheetOwner.sheetLoaded(*this); }
</span><span class="cx">     void notifyLoadedSheetAndAllCriticalSubresources(bool errorOccurred) final;
</span><span class="lines">@@ -65,8 +66,8 @@
</span><span class="cx">     void addSubresourceAttributeURLs(ListHashSet&lt;URL&gt;&amp;) const final;
</span><span class="cx"> 
</span><span class="cx">     InlineStyleSheetOwner m_styleSheetOwner;
</span><del>-    bool m_firedLoad;
-    bool m_loadedSheet;
</del><ins>+    bool m_firedLoad { false };
+    bool m_loadedSheet { false };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } //namespace
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTableElement.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableElement.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/HTMLTableElement.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include &quot;CSSValuePool.h&quot;
</span><span class="cx"> #include &quot;ElementChildIterator.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;GenericCachedHTMLCollection.h&quot;
</span><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><span class="cx"> #include &quot;HTMLParserIdioms.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTextAreaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTextAreaElement.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTextAreaElement.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/HTMLTextAreaElement.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -34,7 +34,6 @@
</span><span class="cx"> #include &quot;EventHandler.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FormController.h&quot;
</span><span class="cx"> #include &quot;FormDataList.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLVideoElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLVideoElement.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLVideoElement.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/HTMLVideoElement.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -24,11 +24,10 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><ins>+#include &quot;HTMLVideoElement.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIDEO)
</span><span class="cx"> 
</span><del>-#include &quot;HTMLVideoElement.h&quot;
-
</del><span class="cx"> #include &quot;CSSPropertyNames.h&quot;
</span><span class="cx"> #include &quot;Chrome.h&quot;
</span><span class="cx"> #include &quot;ChromeClient.h&quot;
</span><span class="lines">@@ -66,13 +65,18 @@
</span><span class="cx"> 
</span><span class="cx"> Ref&lt;HTMLVideoElement&gt; HTMLVideoElement::create(const QualifiedName&amp; tagName, Document&amp; document, bool createdByParser)
</span><span class="cx"> {
</span><del>-    Ref&lt;HTMLVideoElement&gt; videoElement = adoptRef(*new HTMLVideoElement(tagName, document, createdByParser));
</del><ins>+    auto videoElement = adoptRef(*new HTMLVideoElement(tagName, document, createdByParser));
</ins><span class="cx">     videoElement-&gt;suspendIfNeeded();
</span><span class="cx">     return videoElement;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool HTMLVideoElement::rendererIsNeeded(const RenderStyle&amp; style) 
</del><ins>+Ref&lt;HTMLVideoElement&gt; HTMLVideoElement::create(Document&amp; document)
</ins><span class="cx"> {
</span><ins>+    return create(videoTag, document, false);
+}
+
+bool HTMLVideoElement::rendererIsNeeded(const RenderStyle&amp; style)
+{
</ins><span class="cx">     return HTMLElement::rendererIsNeeded(style); 
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLVideoElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLVideoElement.h (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLVideoElement.h        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/HTMLVideoElement.h        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -37,6 +37,7 @@
</span><span class="cx"> 
</span><span class="cx"> class HTMLVideoElement final : public HTMLMediaElement {
</span><span class="cx"> public:
</span><ins>+    static Ref&lt;HTMLVideoElement&gt; create(Document&amp;);
</ins><span class="cx">     static Ref&lt;HTMLVideoElement&gt; create(const QualifiedName&amp;, Document&amp;, bool createdByParser);
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT unsigned videoWidth() const;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlImageDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/ImageDocument.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/ImageDocument.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/ImageDocument.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include &quot;DocumentLoader.h&quot;
</span><span class="cx"> #include &quot;EventListener.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FrameLoader.h&quot;
</span><span class="cx"> #include &quot;FrameLoaderClient.h&quot;
</span><span class="cx"> #include &quot;FrameView.h&quot;
</span><span class="lines">@@ -210,16 +209,16 @@
</span><span class="cx"> 
</span><span class="cx"> void ImageDocument::createDocumentStructure()
</span><span class="cx"> {
</span><del>-    auto rootElement = Document::createElement(htmlTag, false);
</del><ins>+    auto rootElement = HTMLHtmlElement::create(*this);
</ins><span class="cx">     appendChild(rootElement);
</span><del>-    downcast&lt;HTMLHtmlElement&gt;(rootElement.get()).insertedByParser();
</del><ins>+    rootElement-&gt;insertedByParser();
</ins><span class="cx"> 
</span><span class="cx">     frame()-&gt;injectUserScripts(InjectAtDocumentStart);
</span><span class="cx"> 
</span><del>-    auto body = Document::createElement(bodyTag, false);
</del><ins>+    auto body = HTMLBodyElement::create(*this);
</ins><span class="cx">     body-&gt;setAttribute(styleAttr, &quot;margin: 0px&quot;);
</span><span class="cx">     if (MIMETypeRegistry::isPDFMIMEType(document().loader()-&gt;responseMIMEType()))
</span><del>-        downcast&lt;HTMLBodyElement&gt;(body.get()).setInlineStyleProperty(CSSPropertyBackgroundColor, &quot;white&quot;, CSSPrimitiveValue::CSS_IDENT);
</del><ins>+        body-&gt;setInlineStyleProperty(CSSPropertyBackgroundColor, &quot;white&quot;, CSSPrimitiveValue::CSS_IDENT);
</ins><span class="cx">     rootElement-&gt;appendChild(body);
</span><span class="cx">     
</span><span class="cx">     auto imageElement = ImageDocumentElement::create(*this);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/InputType.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/InputType.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/InputType.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -40,7 +40,6 @@
</span><span class="cx"> #include &quot;EmailInputType.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FileInputType.h&quot;
</span><span class="cx"> #include &quot;FileList.h&quot;
</span><span class="cx"> #include &quot;FormController.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlMediaDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/MediaDocument.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/MediaDocument.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/MediaDocument.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -24,20 +24,22 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><ins>+#include &quot;MediaDocument.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIDEO)
</span><del>-#include &quot;MediaDocument.h&quot;
</del><span class="cx"> 
</span><span class="cx"> #include &quot;Chrome.h&quot;
</span><span class="cx"> #include &quot;ChromeClient.h&quot;
</span><span class="cx"> #include &quot;DocumentLoader.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;FrameLoader.h&quot;
</span><span class="cx"> #include &quot;FrameLoaderClient.h&quot;
</span><ins>+#include &quot;HTMLBodyElement.h&quot;
</ins><span class="cx"> #include &quot;HTMLEmbedElement.h&quot;
</span><ins>+#include &quot;HTMLHeadElement.h&quot;
</ins><span class="cx"> #include &quot;HTMLHtmlElement.h&quot;
</span><ins>+#include &quot;HTMLMetaElement.h&quot;
</ins><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><span class="cx"> #include &quot;HTMLSourceElement.h&quot;
</span><span class="cx"> #include &quot;HTMLVideoElement.h&quot;
</span><span class="lines">@@ -80,58 +82,57 @@
</span><span class="cx">     
</span><span class="cx"> void MediaDocumentParser::createDocumentStructure()
</span><span class="cx"> {
</span><del>-    auto rootElement = document()-&gt;createElement(htmlTag, false);
-    document()-&gt;appendChild(rootElement);
-    document()-&gt;setCSSTarget(rootElement.ptr());
-    downcast&lt;HTMLHtmlElement&gt;(rootElement.get()).insertedByParser();
</del><ins>+    auto&amp; document = *this-&gt;document();
</ins><span class="cx"> 
</span><del>-    if (document()-&gt;frame())
-        document()-&gt;frame()-&gt;injectUserScripts(InjectAtDocumentStart);
</del><ins>+    auto rootElement = HTMLHtmlElement::create(document);
+    document.appendChild(rootElement);
+    document.setCSSTarget(rootElement.ptr());
+    rootElement-&gt;insertedByParser();
</ins><span class="cx"> 
</span><ins>+    if (document.frame())
+        document.frame()-&gt;injectUserScripts(InjectAtDocumentStart);
+
</ins><span class="cx"> #if PLATFORM(IOS)
</span><del>-    auto headElement = document()-&gt;createElement(headTag, false);
</del><ins>+    auto headElement = HTMLHeadElement::create(document);
</ins><span class="cx">     rootElement-&gt;appendChild(headElement);
</span><span class="cx"> 
</span><del>-    auto metaElement = document()-&gt;createElement(metaTag, false);
</del><ins>+    auto metaElement = HTMLMetaElement::create(document);
</ins><span class="cx">     metaElement-&gt;setAttributeWithoutSynchronization(nameAttr, AtomicString(&quot;viewport&quot;, AtomicString::ConstructFromLiteral));
</span><span class="cx">     metaElement-&gt;setAttributeWithoutSynchronization(contentAttr, AtomicString(&quot;width=device-width,initial-scale=1,user-scalable=no&quot;, AtomicString::ConstructFromLiteral));
</span><span class="cx">     headElement-&gt;appendChild(metaElement);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    auto body = document()-&gt;createElement(bodyTag, false);
</del><ins>+    auto body = HTMLBodyElement::create(document);
</ins><span class="cx">     rootElement-&gt;appendChild(body);
</span><span class="cx"> 
</span><del>-    auto mediaElement = document()-&gt;createElement(videoTag, false);
</del><ins>+    auto videoElement = HTMLVideoElement::create(document);
+    m_mediaElement = videoElement.ptr();
+    videoElement-&gt;setAttributeWithoutSynchronization(controlsAttr, emptyAtom);
+    videoElement-&gt;setAttributeWithoutSynchronization(autoplayAttr, emptyAtom);
+    videoElement-&gt;setAttributeWithoutSynchronization(nameAttr, AtomicString(&quot;media&quot;, AtomicString::ConstructFromLiteral));
</ins><span class="cx"> 
</span><del>-    m_mediaElement = downcast&lt;HTMLVideoElement&gt;(mediaElement.ptr());
-    m_mediaElement-&gt;setAttributeWithoutSynchronization(controlsAttr, emptyAtom);
-    m_mediaElement-&gt;setAttributeWithoutSynchronization(autoplayAttr, emptyAtom);
-
-    m_mediaElement-&gt;setAttributeWithoutSynchronization(nameAttr, AtomicString(&quot;media&quot;, AtomicString::ConstructFromLiteral));
-
</del><span class="cx">     StringBuilder elementStyle;
</span><span class="cx">     elementStyle.appendLiteral(&quot;max-width: 100%; max-height: 100%;&quot;);
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     elementStyle.appendLiteral(&quot;width: 100%; height: 100%;&quot;);
</span><span class="cx"> #endif
</span><del>-    m_mediaElement-&gt;setAttribute(styleAttr, elementStyle.toString());
</del><ins>+    videoElement-&gt;setAttribute(styleAttr, elementStyle.toString());
</ins><span class="cx"> 
</span><del>-    auto sourceElement = document()-&gt;createElement(sourceTag, false);
-    HTMLSourceElement&amp; source = downcast&lt;HTMLSourceElement&gt;(sourceElement.get());
-    source.setSrc(document()-&gt;url());
</del><ins>+    auto sourceElement = HTMLSourceElement::create(document);
+    sourceElement-&gt;setSrc(document.url());
</ins><span class="cx"> 
</span><del>-    if (DocumentLoader* loader = document()-&gt;loader())
-        source.setType(loader-&gt;responseMIMEType());
</del><ins>+    if (auto* loader = document.loader())
+        sourceElement-&gt;setType(loader-&gt;responseMIMEType());
</ins><span class="cx"> 
</span><del>-    m_mediaElement-&gt;appendChild(sourceElement);
-    body-&gt;appendChild(mediaElement);
</del><ins>+    videoElement-&gt;appendChild(sourceElement);
+    body-&gt;appendChild(videoElement);
</ins><span class="cx"> 
</span><del>-    Frame* frame = document()-&gt;frame();
</del><ins>+    Frame* frame = document.frame();
</ins><span class="cx">     if (!frame)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     frame-&gt;loader().activeDocumentLoader()-&gt;setMainResourceDataBufferingPolicy(DoNotBufferData);
</span><del>-    frame-&gt;loader().setOutgoingReferrer(frame-&gt;document()-&gt;completeURL(m_outgoingReferrer));
</del><ins>+    frame-&gt;loader().setOutgoingReferrer(document.completeURL(m_outgoingReferrer));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaDocumentParser::appendBytes(DocumentWriter&amp;, const char*, size_t)
</span><span class="lines">@@ -241,19 +242,17 @@
</span><span class="cx">     htmlBody-&gt;setAttributeWithoutSynchronization(marginwidthAttr, AtomicString(&quot;0&quot;, AtomicString::ConstructFromLiteral));
</span><span class="cx">     htmlBody-&gt;setAttributeWithoutSynchronization(marginheightAttr, AtomicString(&quot;0&quot;, AtomicString::ConstructFromLiteral));
</span><span class="cx"> 
</span><del>-    if (HTMLVideoElement* videoElement = descendantVideoElement(*htmlBody)) {
-        RefPtr&lt;Element&gt; element = Document::createElement(embedTag, false);
-        HTMLEmbedElement&amp; embedElement = downcast&lt;HTMLEmbedElement&gt;(*element);
</del><ins>+    if (auto* videoElement = descendantVideoElement(*htmlBody)) {
+        auto embedElement = HTMLEmbedElement::create(*this);
</ins><span class="cx"> 
</span><del>-        embedElement.setAttributeWithoutSynchronization(widthAttr, AtomicString(&quot;100%&quot;, AtomicString::ConstructFromLiteral));
-        embedElement.setAttributeWithoutSynchronization(heightAttr, AtomicString(&quot;100%&quot;, AtomicString::ConstructFromLiteral));
-        embedElement.setAttributeWithoutSynchronization(nameAttr, AtomicString(&quot;plugin&quot;, AtomicString::ConstructFromLiteral));
-        embedElement.setAttributeWithoutSynchronization(srcAttr, url().string());
</del><ins>+        embedElement-&gt;setAttributeWithoutSynchronization(widthAttr, AtomicString(&quot;100%&quot;, AtomicString::ConstructFromLiteral));
+        embedElement-&gt;setAttributeWithoutSynchronization(heightAttr, AtomicString(&quot;100%&quot;, AtomicString::ConstructFromLiteral));
+        embedElement-&gt;setAttributeWithoutSynchronization(nameAttr, AtomicString(&quot;plugin&quot;, AtomicString::ConstructFromLiteral));
+        embedElement-&gt;setAttributeWithoutSynchronization(srcAttr, url().string());
</ins><span class="cx"> 
</span><del>-        DocumentLoader* documentLoader = loader();
-        ASSERT(documentLoader);
-        if (documentLoader)
-            embedElement.setAttributeWithoutSynchronization(typeAttr, documentLoader-&gt;writer().mimeType());
</del><ins>+        ASSERT(loader());
+        if (auto* loader = this-&gt;loader())
+            embedElement-&gt;setAttributeWithoutSynchronization(typeAttr, loader-&gt;writer().mimeType());
</ins><span class="cx"> 
</span><span class="cx">         videoElement-&gt;parentNode()-&gt;replaceChild(embedElement, *videoElement);
</span><span class="cx">     }
</span><span class="lines">@@ -272,4 +271,5 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span><ins>+
</ins><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlPluginDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/PluginDocument.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/PluginDocument.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/PluginDocument.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -26,11 +26,11 @@
</span><span class="cx"> #include &quot;PluginDocument.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;DocumentLoader.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;FrameLoader.h&quot;
</span><span class="cx"> #include &quot;FrameLoaderClient.h&quot;
</span><span class="cx"> #include &quot;FrameView.h&quot;
</span><ins>+#include &quot;HTMLBodyElement.h&quot;
</ins><span class="cx"> #include &quot;HTMLEmbedElement.h&quot;
</span><span class="cx"> #include &quot;HTMLHtmlElement.h&quot;
</span><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><span class="lines">@@ -66,19 +66,21 @@
</span><span class="cx"> 
</span><span class="cx"> void PluginDocumentParser::createDocumentStructure()
</span><span class="cx"> {
</span><del>-    auto rootElement = document()-&gt;createElement(htmlTag, false);
-    document()-&gt;appendChild(rootElement);
-    downcast&lt;HTMLHtmlElement&gt;(rootElement.get()).insertedByParser();
</del><ins>+    auto&amp; document = downcast&lt;PluginDocument&gt;(*this-&gt;document());
</ins><span class="cx"> 
</span><del>-    if (document()-&gt;frame())
-        document()-&gt;frame()-&gt;injectUserScripts(InjectAtDocumentStart);
</del><ins>+    auto rootElement = HTMLHtmlElement::create(document);
+    document.appendChild(rootElement);
+    rootElement-&gt;insertedByParser();
</ins><span class="cx"> 
</span><ins>+    if (document.frame())
+        document.frame()-&gt;injectUserScripts(InjectAtDocumentStart);
+
</ins><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     // Should not be able to zoom into standalone plug-in documents.
</span><del>-    document()-&gt;processViewport(ASCIILiteral(&quot;user-scalable=no&quot;), ViewportArguments::PluginDocument);
</del><ins>+    document.processViewport(ASCIILiteral(&quot;user-scalable=no&quot;), ViewportArguments::PluginDocument);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    auto body = document()-&gt;createElement(bodyTag, false);
</del><ins>+    auto body = HTMLBodyElement::create(document);
</ins><span class="cx">     body-&gt;setAttributeWithoutSynchronization(marginwidthAttr, AtomicString(&quot;0&quot;, AtomicString::ConstructFromLiteral));
</span><span class="cx">     body-&gt;setAttributeWithoutSynchronization(marginheightAttr, AtomicString(&quot;0&quot;, AtomicString::ConstructFromLiteral));
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="lines">@@ -89,21 +91,20 @@
</span><span class="cx"> 
</span><span class="cx">     rootElement-&gt;appendChild(body);
</span><span class="cx">         
</span><del>-    auto embedElement = document()-&gt;createElement(embedTag, false);
</del><ins>+    auto embedElement = HTMLEmbedElement::create(document);
</ins><span class="cx">         
</span><del>-    m_embedElement = downcast&lt;HTMLEmbedElement&gt;(embedElement.ptr());
-    m_embedElement-&gt;setAttributeWithoutSynchronization(widthAttr, AtomicString(&quot;100%&quot;, AtomicString::ConstructFromLiteral));
-    m_embedElement-&gt;setAttributeWithoutSynchronization(heightAttr, AtomicString(&quot;100%&quot;, AtomicString::ConstructFromLiteral));
</del><ins>+    m_embedElement = embedElement.ptr();
+    embedElement-&gt;setAttributeWithoutSynchronization(widthAttr, AtomicString(&quot;100%&quot;, AtomicString::ConstructFromLiteral));
+    embedElement-&gt;setAttributeWithoutSynchronization(heightAttr, AtomicString(&quot;100%&quot;, AtomicString::ConstructFromLiteral));
</ins><span class="cx">     
</span><del>-    m_embedElement-&gt;setAttributeWithoutSynchronization(nameAttr, AtomicString(&quot;plugin&quot;, AtomicString::ConstructFromLiteral));
-    m_embedElement-&gt;setAttributeWithoutSynchronization(srcAttr, document()-&gt;url().string());
</del><ins>+    embedElement-&gt;setAttributeWithoutSynchronization(nameAttr, AtomicString(&quot;plugin&quot;, AtomicString::ConstructFromLiteral));
+    embedElement-&gt;setAttributeWithoutSynchronization(srcAttr, document.url().string());
</ins><span class="cx">     
</span><del>-    DocumentLoader* loader = document()-&gt;loader();
-    ASSERT(loader);
-    if (loader)
</del><ins>+    ASSERT(document.loader());
+    if (auto* loader = document.loader())
</ins><span class="cx">         m_embedElement-&gt;setAttributeWithoutSynchronization(typeAttr, loader-&gt;writer().mimeType());
</span><span class="cx"> 
</span><del>-    downcast&lt;PluginDocument&gt;(*document()).setPluginElement(m_embedElement);
</del><ins>+    document.setPluginElement(m_embedElement);
</ins><span class="cx"> 
</span><span class="cx">     body-&gt;appendChild(embedElement);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlRangeInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/RangeInputType.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/RangeInputType.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/RangeInputType.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -34,7 +34,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;AXObjectCache.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;HTMLInputElement.h&quot;
</span><span class="cx"> #include &quot;HTMLParserIdioms.h&quot;
</span><span class="cx"> #include &quot;InputTypeNames.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlRubyElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/RubyElement.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/RubyElement.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/RubyElement.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -43,6 +43,11 @@
</span><span class="cx">     return adoptRef(*new RubyElement(tagName, document));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+Ref&lt;RubyElement&gt; RubyElement::create(Document&amp; document)
+{
+    return adoptRef(*new RubyElement(rubyTag, document));
+}
+
</ins><span class="cx"> RenderPtr&lt;RenderElement&gt; RubyElement::createElementRenderer(RenderStyle&amp;&amp; style, const RenderTreePosition&amp; insertionPosition)
</span><span class="cx"> {
</span><span class="cx">     if (style.display() == INLINE)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlRubyElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/RubyElement.h (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/RubyElement.h        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/RubyElement.h        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> 
</span><span class="cx"> class RubyElement final : public HTMLElement {
</span><span class="cx"> public:
</span><ins>+    static Ref&lt;RubyElement&gt; create(Document&amp;);
</ins><span class="cx">     static Ref&lt;RubyElement&gt; create(const QualifiedName&amp;, Document&amp;);
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlRubyTextElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/RubyTextElement.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/RubyTextElement.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/RubyTextElement.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -45,6 +45,11 @@
</span><span class="cx">     return adoptRef(*new RubyTextElement(tagName, document));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+Ref&lt;RubyTextElement&gt; RubyTextElement::create(Document&amp; document)
+{
+    return adoptRef(*new RubyTextElement(rtTag, document));
+}
+
</ins><span class="cx"> RenderPtr&lt;RenderElement&gt; RubyTextElement::createElementRenderer(RenderStyle&amp;&amp; style, const RenderTreePosition&amp; insertionPosition)
</span><span class="cx"> {
</span><span class="cx">     // RenderRubyText requires its parent to be RenderRubyRun.
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlRubyTextElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/RubyTextElement.h (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/RubyTextElement.h        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/RubyTextElement.h        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> 
</span><span class="cx"> class RubyTextElement final : public HTMLElement {
</span><span class="cx"> public:
</span><ins>+    static Ref&lt;RubyTextElement&gt; create(Document&amp;);
</ins><span class="cx">     static Ref&lt;RubyTextElement&gt; create(const QualifiedName&amp;, Document&amp;);
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlValidationMessagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/ValidationMessage.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/ValidationMessage.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/ValidationMessage.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CSSPropertyNames.h&quot;
</span><span class="cx"> #include &quot;CSSValueKeywords.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;HTMLBRElement.h&quot;
</span><span class="cx"> #include &quot;HTMLDivElement.h&quot;
</span><span class="cx"> #include &quot;HTMLFormControlElement.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Dcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -43,7 +43,6 @@
</span><span class="cx"> #include &quot;DOMPath.h&quot;
</span><span class="cx"> #include &quot;DisplayListRecorder.h&quot;
</span><span class="cx"> #include &quot;DisplayListReplayer.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FloatQuad.h&quot;
</span><span class="cx"> #include &quot;HTMLImageElement.h&quot;
</span><span class="cx"> #include &quot;HTMLVideoElement.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMediaControlElementTypescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/MediaControlElementTypes.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MediaControlElementTypes.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/shadow/MediaControlElementTypes.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -34,7 +34,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CSSValueKeywords.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><span class="cx"> #include &quot;MouseEvent.h&quot;
</span><span class="cx"> #include &quot;RenderMedia.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMediaControlElementscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/MediaControlElements.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MediaControlElements.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/shadow/MediaControlElements.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -28,17 +28,19 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><ins>+#include &quot;MediaControlElements.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIDEO)
</span><del>-#include &quot;MediaControlElements.h&quot;
</del><span class="cx"> 
</span><span class="cx"> #include &quot;DOMTokenList.h&quot;
</span><span class="cx"> #include &quot;ElementChildIterator.h&quot;
</span><span class="cx"> #include &quot;EventHandler.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;GraphicsContext.h&quot;
</span><ins>+#include &quot;HTMLHeadingElement.h&quot;
+#include &quot;HTMLLIElement.h&quot;
+#include &quot;HTMLUListElement.h&quot;
</ins><span class="cx"> #include &quot;HTMLVideoElement.h&quot;
</span><span class="cx"> #include &quot;ImageBuffer.h&quot;
</span><span class="cx"> #include &quot;Language.h&quot;
</span><span class="lines">@@ -54,9 +56,7 @@
</span><span class="cx"> #include &quot;RenderView.h&quot;
</span><span class="cx"> #include &quot;Settings.h&quot;
</span><span class="cx"> #include &quot;ShadowRoot.h&quot;
</span><del>-#if ENABLE(VIDEO_TRACK)
</del><span class="cx"> #include &quot;TextTrackList.h&quot;
</span><del>-#endif
</del><span class="cx"> #include &quot;VTTRegionList.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -805,13 +805,13 @@
</span><span class="cx">     auto&amp; captionPreferences = document().page()-&gt;group().captionPreferences();
</span><span class="cx">     Vector&lt;RefPtr&lt;TextTrack&gt;&gt; tracksForMenu = captionPreferences.sortedTrackListForMenu(&amp;trackList);
</span><span class="cx"> 
</span><del>-    auto captionsHeader = document().createElement(h3Tag, ASSERT_NO_EXCEPTION);
</del><ins>+    auto captionsHeader = HTMLHeadingElement::create(h3Tag, document());
</ins><span class="cx">     captionsHeader-&gt;appendChild(document().createTextNode(textTrackSubtitlesText()));
</span><span class="cx">     appendChild(captionsHeader);
</span><del>-    auto captionsMenuList = document().createElement(ulTag, ASSERT_NO_EXCEPTION);
</del><ins>+    auto captionsMenuList = HTMLUListElement::create(document());
</ins><span class="cx"> 
</span><span class="cx">     for (auto&amp; textTrack : tracksForMenu) {
</span><del>-        auto menuItem = document().createElement(liTag, ASSERT_NO_EXCEPTION);
</del><ins>+        auto menuItem = HTMLLIElement::create(document());
</ins><span class="cx">         menuItem-&gt;appendChild(document().createTextNode(captionPreferences.displayNameForTrack(textTrack.get())));
</span><span class="cx">         captionsMenuList-&gt;appendChild(menuItem);
</span><span class="cx">         m_menuItems.append(menuItem.ptr());
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMediaControlscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/MediaControls.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MediaControls.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/shadow/MediaControls.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -30,7 +30,6 @@
</span><span class="cx"> #include &quot;MediaControls.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;Page.h&quot;
</span><span class="cx"> #include &quot;RenderElement.h&quot;
</span><span class="cx"> #include &quot;Settings.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMediaControlsApplecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/MediaControlsApple.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MediaControlsApple.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/shadow/MediaControlsApple.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CSSValueKeywords.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span><span class="cx"> #include &quot;WheelEvent.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackInbandDataTextTrackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/InbandDataTextTrack.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/InbandDataTextTrack.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/track/InbandDataTextTrack.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -30,7 +30,6 @@
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx"> 
</span><span class="cx"> #include &quot;DataCue.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;HTMLMediaElement.h&quot;
</span><span class="cx"> #include &quot;InbandTextTrackPrivate.h&quot;
</span><span class="cx"> #include &quot;Logging.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackInbandGenericTextTrackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/InbandGenericTextTrack.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/InbandGenericTextTrack.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/track/InbandGenericTextTrack.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx"> 
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;HTMLMediaElement.h&quot;
</span><span class="cx"> #include &quot;InbandTextTrackPrivate.h&quot;
</span><span class="cx"> #include &quot;Logging.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackInbandTextTrackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/InbandTextTrack.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/InbandTextTrack.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/track/InbandTextTrack.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Document.h&quot;
</span><span class="cx"> #include &quot;Event.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;HTMLMediaElement.h&quot;
</span><span class="cx"> #include &quot;InbandDataTextTrack.h&quot;
</span><span class="cx"> #include &quot;InbandGenericTextTrack.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackVTTRegioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/VTTRegion.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/VTTRegion.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/track/VTTRegion.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -37,7 +37,6 @@
</span><span class="cx"> #include &quot;ClientRect.h&quot;
</span><span class="cx"> #include &quot;DOMTokenList.h&quot;
</span><span class="cx"> #include &quot;ElementChildIterator.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;HTMLDivElement.h&quot;
</span><span class="cx"> #include &quot;HTMLParserIdioms.h&quot;
</span><span class="cx"> #include &quot;Logging.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackWebVTTElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/WebVTTElement.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/WebVTTElement.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/html/track/WebVTTElement.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -24,12 +24,13 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><ins>+#include &quot;WebVTTElement.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx"> 
</span><del>-#include &quot;WebVTTElement.h&quot;
-
-#include &quot;HTMLElementFactory.h&quot;
</del><ins>+#include &quot;HTMLSpanElement.h&quot;
+#include &quot;RubyElement.h&quot;
+#include &quot;RubyTextElement.h&quot;
</ins><span class="cx"> #include &quot;TextTrack.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -95,24 +96,24 @@
</span><span class="cx">     case WebVTTNodeTypeClass:
</span><span class="cx">     case WebVTTNodeTypeLanguage:
</span><span class="cx">     case WebVTTNodeTypeVoice:
</span><del>-        htmlElement = HTMLElementFactory::createElement(HTMLNames::spanTag, document);
</del><ins>+        htmlElement = HTMLSpanElement::create(document);
</ins><span class="cx">         htmlElement-&gt;setAttributeWithoutSynchronization(HTMLNames::titleAttr, attributeWithoutSynchronization(voiceAttributeName()));
</span><span class="cx">         htmlElement-&gt;setAttributeWithoutSynchronization(HTMLNames::langAttr, attributeWithoutSynchronization(langAttributeName()));
</span><span class="cx">         break;
</span><span class="cx">     case WebVTTNodeTypeItalic:
</span><del>-        htmlElement = HTMLElementFactory::createElement(HTMLNames::iTag, document);
</del><ins>+        htmlElement = HTMLElement::create(HTMLNames::iTag, document);
</ins><span class="cx">         break;
</span><span class="cx">     case WebVTTNodeTypeBold:
</span><del>-        htmlElement = HTMLElementFactory::createElement(HTMLNames::bTag, document);
</del><ins>+        htmlElement = HTMLElement::create(HTMLNames::bTag, document);
</ins><span class="cx">         break;
</span><span class="cx">     case WebVTTNodeTypeUnderline:
</span><del>-        htmlElement = HTMLElementFactory::createElement(HTMLNames::uTag, document);
</del><ins>+        htmlElement = HTMLElement::create(HTMLNames::uTag, document);
</ins><span class="cx">         break;
</span><span class="cx">     case WebVTTNodeTypeRuby:
</span><del>-        htmlElement = HTMLElementFactory::createElement(HTMLNames::rubyTag, document);
</del><ins>+        htmlElement = RubyElement::create(document);
</ins><span class="cx">         break;
</span><span class="cx">     case WebVTTNodeTypeRubyText:
</span><del>-        htmlElement = HTMLElementFactory::createElement(HTMLNames::rtTag, document);
</del><ins>+        htmlElement = RubyTextElement::create(document);
</ins><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorCSSAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -36,7 +36,6 @@
</span><span class="cx"> #include &quot;CSSStyleSheet.h&quot;
</span><span class="cx"> #include &quot;ContentSecurityPolicy.h&quot;
</span><span class="cx"> #include &quot;DOMWindow.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FontCache.h&quot;
</span><span class="cx"> #include &quot;HTMLHeadElement.h&quot;
</span><span class="cx"> #include &quot;HTMLStyleElement.h&quot;
</span><span class="lines">@@ -783,7 +782,7 @@
</span><span class="cx">     if (!document.isHTMLDocument() &amp;&amp; !document.isSVGDocument())
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    Ref&lt;Element&gt; styleElement = document.createElement(HTMLNames::styleTag, false);
</del><ins>+    auto styleElement = HTMLStyleElement::create(document);
</ins><span class="cx">     styleElement-&gt;setAttributeWithoutSynchronization(HTMLNames::typeAttr, AtomicString(&quot;text/css&quot;, AtomicString::ConstructFromLiteral));
</span><span class="cx"> 
</span><span class="cx">     ContainerNode* targetNode;
</span></span></pre></div>
<a id="trunkSourceWebCorepageContextMenuControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/ContextMenuController.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ContextMenuController.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/page/ContextMenuController.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -43,7 +43,6 @@
</span><span class="cx"> #include &quot;Event.h&quot;
</span><span class="cx"> #include &quot;EventHandler.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FormState.h&quot;
</span><span class="cx"> #include &quot;FrameLoadRequest.h&quot;
</span><span class="cx"> #include &quot;FrameLoader.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorepageDOMWindowcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DOMWindow.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DOMWindow.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/page/DOMWindow.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -57,7 +57,6 @@
</span><span class="cx"> #include &quot;EventListener.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FloatRect.h&quot;
</span><span class="cx"> #include &quot;FocusController.h&quot;
</span><span class="cx"> #include &quot;FrameLoadRequest.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorepageDragControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DragController.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DragController.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/page/DragController.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -43,7 +43,6 @@
</span><span class="cx"> #include &quot;Editor.h&quot;
</span><span class="cx"> #include &quot;EditorClient.h&quot;
</span><span class="cx"> #include &quot;EventHandler.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FloatRect.h&quot;
</span><span class="cx"> #include &quot;FrameLoadRequest.h&quot;
</span><span class="cx"> #include &quot;FrameLoader.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorepageEventHandlercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/EventHandler.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/EventHandler.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/page/EventHandler.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -43,7 +43,6 @@
</span><span class="cx"> #include &quot;Editor.h&quot;
</span><span class="cx"> #include &quot;EditorClient.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FileList.h&quot;
</span><span class="cx"> #include &quot;FloatPoint.h&quot;
</span><span class="cx"> #include &quot;FloatRect.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorepagePagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Page.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Page.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/page/Page.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -42,7 +42,6 @@
</span><span class="cx"> #include &quot;Event.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;ExtensionStyleSheets.h&quot;
</span><span class="cx"> #include &quot;FileSystem.h&quot;
</span><span class="cx"> #include &quot;FocusController.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -36,7 +36,6 @@
</span><span class="cx"> #import &quot;AuthenticationChallenge.h&quot;
</span><span class="cx"> #import &quot;CDMSessionAVFoundationObjC.h&quot;
</span><span class="cx"> #import &quot;Cookie.h&quot;
</span><del>-#import &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #import &quot;Extensions3D.h&quot;
</span><span class="cx"> #import &quot;FloatConversion.h&quot;
</span><span class="cx"> #import &quot;FloatConversion.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaSourcePrivateAVFObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -30,7 +30,6 @@
</span><span class="cx"> 
</span><span class="cx"> #import &quot;CDMSessionMediaSourceAVFObjC.h&quot;
</span><span class="cx"> #import &quot;ContentType.h&quot;
</span><del>-#import &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #import &quot;MediaPlayerPrivateMediaSourceAVFObjC.h&quot;
</span><span class="cx"> #import &quot;MediaSourcePrivateClient.h&quot;
</span><span class="cx"> #import &quot;SourceBufferPrivateAVFObjC.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcSourceBufferPrivateAVFObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #import &quot;AVFoundationSPI.h&quot;
</span><span class="cx"> #import &quot;CDMSessionAVContentKeySession.h&quot;
</span><span class="cx"> #import &quot;CDMSessionMediaSourceAVFObjC.h&quot;
</span><del>-#import &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #import &quot;Logging.h&quot;
</span><span class="cx"> #import &quot;MediaDescription.h&quot;
</span><span class="cx"> #import &quot;MediaPlayerPrivateMediaSourceAVFObjC.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmacPasteboardMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/PasteboardMac.mm (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/PasteboardMac.mm        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/platform/mac/PasteboardMac.mm        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> #import &quot;DragData.h&quot;
</span><span class="cx"> #import &quot;Editor.h&quot;
</span><span class="cx"> #import &quot;EditorClient.h&quot;
</span><del>-#import &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #import &quot;Frame.h&quot;
</span><span class="cx"> #import &quot;FrameView.h&quot;
</span><span class="cx"> #import &quot;FrameLoaderClient.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmacWebVideoFullscreenHUDWindowControllermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/WebVideoFullscreenHUDWindowController.mm (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/WebVideoFullscreenHUDWindowController.mm        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/platform/mac/WebVideoFullscreenHUDWindowController.mm        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -23,12 +23,10 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #import &quot;config.h&quot;
</span><ins>+#import &quot;WebVideoFullscreenHUDWindowController.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIDEO)
</span><span class="cx"> 
</span><del>-#import &quot;WebVideoFullscreenHUDWindowController.h&quot;
-
-#import &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #import &quot;FloatConversion.h&quot;
</span><span class="cx"> #import &lt;WebCore/CoreGraphicsSPI.h&gt;
</span><span class="cx"> #import &lt;WebCore/HTMLVideoElement.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockmediasourceMockMediaPlayerMediaSourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span><span class="cx"> 
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;MediaPlayer.h&quot;
</span><span class="cx"> #include &quot;MediaSourcePrivateClient.h&quot;
</span><span class="cx"> #include &quot;MockMediaSourcePrivate.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockmediasourceMockMediaSourcePrivatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/mediasource/MockMediaSourcePrivate.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/mediasource/MockMediaSourcePrivate.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/platform/mock/mediasource/MockMediaSourcePrivate.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -29,7 +29,6 @@
</span><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ContentType.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;MediaSourcePrivateClient.h&quot;
</span><span class="cx"> #include &quot;MockMediaPlayerMediaSource.h&quot;
</span><span class="cx"> #include &quot;MockSourceBufferPrivate.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderNamedFlowThreadcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -27,7 +27,6 @@
</span><span class="cx"> #include &quot;RenderNamedFlowThread.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ComposedTreeAncestorIterator.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FlowThreadController.h&quot;
</span><span class="cx"> #include &quot;InlineTextBox.h&quot;
</span><span class="cx"> #include &quot;InspectorInstrumentation.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeEflcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeEfl.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeEfl.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/rendering/RenderThemeEfl.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -29,7 +29,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CSSValueKeywords.h&quot;
</span><span class="cx"> #include &quot;CairoUtilitiesEfl.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;FloatRoundedRect.h&quot;
</span><span class="cx"> #include &quot;FontDescription.h&quot;
</span><span class="cx"> #include &quot;GraphicsContext.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeMac.mm (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeMac.mm        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/rendering/RenderThemeMac.mm        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -29,7 +29,6 @@
</span><span class="cx"> #import &quot;CoreGraphicsSPI.h&quot;
</span><span class="cx"> #import &quot;Document.h&quot;
</span><span class="cx"> #import &quot;Element.h&quot;
</span><del>-#import &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #import &quot;FileList.h&quot;
</span><span class="cx"> #import &quot;FloatRoundedRect.h&quot;
</span><span class="cx"> #import &quot;FocusController.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleSVGRenderStyleh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/SVGRenderStyle.h (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/SVGRenderStyle.h        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/rendering/style/SVGRenderStyle.h        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -26,7 +26,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CSSValueList.h&quot;
</span><span class="cx"> #include &quot;DataRef.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;GraphicsTypes.h&quot;
</span><span class="cx"> #include &quot;Path.h&quot;
</span><span class="cx"> #include &quot;RenderStyleConstants.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGTRefElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGTRefElement.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGTRefElement.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/svg/SVGTRefElement.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -24,7 +24,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;EventListener.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;MutationEvent.h&quot;
</span><span class="cx"> #include &quot;RenderSVGInline.h&quot;
</span><span class="cx"> #include &quot;RenderSVGInlineText.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLErrorscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLErrors.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XMLErrors.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/xml/XMLErrors.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -30,12 +30,17 @@
</span><span class="cx"> #include &quot;XMLErrors.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Document.h&quot;
</span><del>-#include &quot;Element.h&quot;
</del><span class="cx"> #include &quot;Frame.h&quot;
</span><ins>+#include &quot;HTMLBodyElement.h&quot;
+#include &quot;HTMLDivElement.h&quot;
+#include &quot;HTMLHeadElement.h&quot;
+#include &quot;HTMLHeadingElement.h&quot;
+#include &quot;HTMLHtmlElement.h&quot;
</ins><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><ins>+#include &quot;HTMLParagraphElement.h&quot;
+#include &quot;HTMLStyleElement.h&quot;
</ins><span class="cx"> #include &quot;SVGNames.h&quot;
</span><span class="cx"> #include &quot;Text.h&quot;
</span><del>-#include &lt;wtf/text/WTFString.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -43,9 +48,8 @@
</span><span class="cx"> 
</span><span class="cx"> const int maxErrors = 25;
</span><span class="cx"> 
</span><del>-XMLErrors::XMLErrors(Document* document)
</del><ins>+XMLErrors::XMLErrors(Document&amp; document)
</ins><span class="cx">     : m_document(document)
</span><del>-    , m_errorCount(0)
</del><span class="cx">     , m_lastErrorPosition(TextPosition::belowRangePosition())
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="lines">@@ -84,29 +88,29 @@
</span><span class="cx">     m_errorMessages.append(message);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline Ref&lt;Element&gt; createXHTMLParserErrorHeader(Document* doc, const String&amp; errorMessages)
</del><ins>+static inline Ref&lt;Element&gt; createXHTMLParserErrorHeader(Document&amp; document, const String&amp; errorMessages)
</ins><span class="cx"> {
</span><del>-    Ref&lt;Element&gt; reportElement = doc-&gt;createElement(QualifiedName(nullAtom, &quot;parsererror&quot;, xhtmlNamespaceURI), true);
</del><ins>+    Ref&lt;Element&gt; reportElement = document.createElement(QualifiedName(nullAtom, &quot;parsererror&quot;, xhtmlNamespaceURI), true);
</ins><span class="cx"> 
</span><span class="cx">     Vector&lt;Attribute&gt; reportAttributes;
</span><span class="cx">     reportAttributes.append(Attribute(styleAttr, &quot;display: block; white-space: pre; border: 2px solid #c77; padding: 0 1em 0 1em; margin: 1em; background-color: #fdd; color: black&quot;));
</span><span class="cx">     reportElement-&gt;parserSetAttributes(reportAttributes);
</span><span class="cx"> 
</span><del>-    auto h3 = doc-&gt;createElement(h3Tag, true);
</del><ins>+    auto h3 = HTMLHeadingElement::create(h3Tag, document);
</ins><span class="cx">     reportElement-&gt;parserAppendChild(h3);
</span><del>-    h3-&gt;parserAppendChild(doc-&gt;createTextNode(&quot;This page contains the following errors:&quot;));
</del><ins>+    h3-&gt;parserAppendChild(Text::create(document, ASCIILiteral(&quot;This page contains the following errors:&quot;)));
</ins><span class="cx"> 
</span><del>-    auto fixed = doc-&gt;createElement(divTag, true);
</del><ins>+    auto fixed = HTMLDivElement::create(document);
</ins><span class="cx">     Vector&lt;Attribute&gt; fixedAttributes;
</span><span class="cx">     fixedAttributes.append(Attribute(styleAttr, &quot;font-family:monospace;font-size:12px&quot;));
</span><span class="cx">     fixed-&gt;parserSetAttributes(fixedAttributes);
</span><span class="cx">     reportElement-&gt;parserAppendChild(fixed);
</span><span class="cx"> 
</span><del>-    fixed-&gt;parserAppendChild(doc-&gt;createTextNode(errorMessages));
</del><ins>+    fixed-&gt;parserAppendChild(Text::create(document, errorMessages));
</ins><span class="cx"> 
</span><del>-    h3 = doc-&gt;createElement(h3Tag, true);
</del><ins>+    h3 = HTMLHeadingElement::create(h3Tag, document);
</ins><span class="cx">     reportElement-&gt;parserAppendChild(h3);
</span><del>-    h3-&gt;parserAppendChild(doc-&gt;createTextNode(&quot;Below is a rendering of the page up to the first error.&quot;));
</del><ins>+    h3-&gt;parserAppendChild(Text::create(document, ASCIILiteral(&quot;Below is a rendering of the page up to the first error.&quot;)));
</ins><span class="cx"> 
</span><span class="cx">     return reportElement;
</span><span class="cx"> }
</span><span class="lines">@@ -118,29 +122,28 @@
</span><span class="cx">     // where the errors are located)
</span><span class="cx"> 
</span><span class="cx">     // Create elements for display
</span><del>-    RefPtr&lt;Element&gt; documentElement = m_document-&gt;documentElement();
</del><ins>+    RefPtr&lt;Element&gt; documentElement = m_document.documentElement();
</ins><span class="cx">     if (!documentElement) {
</span><del>-        auto rootElement = m_document-&gt;createElement(htmlTag, true);
-        auto body = m_document-&gt;createElement(bodyTag, true);
</del><ins>+        auto rootElement = HTMLHtmlElement::create(m_document);
+        auto body = HTMLBodyElement::create(m_document);
</ins><span class="cx">         rootElement-&gt;parserAppendChild(body);
</span><del>-        m_document-&gt;parserAppendChild(rootElement);
</del><ins>+        m_document.parserAppendChild(rootElement);
</ins><span class="cx">         documentElement = WTFMove(body);
</span><del>-    }
-    else if (documentElement-&gt;namespaceURI() == SVGNames::svgNamespaceURI) {
-        auto rootElement = m_document-&gt;createElement(htmlTag, true);
-        auto head = m_document-&gt;createElement(headTag, true);
-        auto style = m_document-&gt;createElement(styleTag, true);
</del><ins>+    } else if (documentElement-&gt;namespaceURI() == SVGNames::svgNamespaceURI) {
+        auto rootElement = HTMLHtmlElement::create(m_document);
+        auto head = HTMLHeadElement::create(m_document);
+        auto style = HTMLStyleElement::create(m_document);
</ins><span class="cx">         head-&gt;parserAppendChild(style);
</span><del>-        style-&gt;parserAppendChild(m_document-&gt;createTextNode(&quot;html, body { height: 100% } parsererror + svg { width: 100%; height: 100% }&quot;));
</del><ins>+        style-&gt;parserAppendChild(m_document.createTextNode(ASCIILiteral(&quot;html, body { height: 100% } parsererror + svg { width: 100%; height: 100% }&quot;)));
</ins><span class="cx">         style-&gt;finishParsingChildren();
</span><span class="cx">         rootElement-&gt;parserAppendChild(head);
</span><del>-        auto body = m_document-&gt;createElement(bodyTag, true);
</del><ins>+        auto body = HTMLBodyElement::create(m_document);
</ins><span class="cx">         rootElement-&gt;parserAppendChild(body);
</span><span class="cx"> 
</span><del>-        m_document-&gt;parserRemoveChild(*documentElement);
</del><ins>+        m_document.parserRemoveChild(*documentElement);
</ins><span class="cx"> 
</span><span class="cx">         body-&gt;parserAppendChild(*documentElement);
</span><del>-        m_document-&gt;parserAppendChild(rootElement);
</del><ins>+        m_document.parserAppendChild(rootElement);
</ins><span class="cx"> 
</span><span class="cx">         documentElement = WTFMove(body);
</span><span class="cx">     }
</span><span class="lines">@@ -149,12 +152,12 @@
</span><span class="cx">     auto reportElement = createXHTMLParserErrorHeader(m_document, errorMessages);
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(XSLT)
</span><del>-    if (m_document-&gt;transformSourceDocument()) {
</del><ins>+    if (m_document.transformSourceDocument()) {
</ins><span class="cx">         Vector&lt;Attribute&gt; attributes;
</span><span class="cx">         attributes.append(Attribute(styleAttr, &quot;white-space: normal&quot;));
</span><del>-        auto paragraph = m_document-&gt;createElement(pTag, true);
</del><ins>+        auto paragraph = HTMLParagraphElement::create(m_document);
</ins><span class="cx">         paragraph-&gt;parserSetAttributes(attributes);
</span><del>-        paragraph-&gt;parserAppendChild(m_document-&gt;createTextNode(&quot;This document was created as the result of an XSL transformation. The line and column numbers given are from the transformed result.&quot;));
</del><ins>+        paragraph-&gt;parserAppendChild(m_document.createTextNode(ASCIILiteral(&quot;This document was created as the result of an XSL transformation. The line and column numbers given are from the transformed result.&quot;)));
</ins><span class="cx">         reportElement-&gt;parserAppendChild(paragraph);
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="lines">@@ -165,7 +168,7 @@
</span><span class="cx">     else
</span><span class="cx">         documentElement-&gt;parserAppendChild(reportElement);
</span><span class="cx"> 
</span><del>-    m_document-&gt;updateStyleIfNeeded();
</del><ins>+    m_document.updateStyleIfNeeded();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLErrorsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLErrors.h (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XMLErrors.h        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/xml/XMLErrors.h        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -38,9 +38,8 @@
</span><span class="cx"> 
</span><span class="cx"> class XMLErrors {
</span><span class="cx"> public:
</span><del>-    explicit XMLErrors(Document*);
</del><ins>+    explicit XMLErrors(Document&amp;);
</ins><span class="cx"> 
</span><del>-    // Exposed for callbacks:
</del><span class="cx">     enum ErrorType { warning, nonFatal, fatal };
</span><span class="cx">     void handleError(ErrorType, const char* message, int lineNumber, int columnNumber);
</span><span class="cx">     void handleError(ErrorType, const char* message, TextPosition);
</span><span class="lines">@@ -50,9 +49,8 @@
</span><span class="cx"> private:
</span><span class="cx">     void appendErrorMessage(const String&amp; typeString, TextPosition, const char* message);
</span><span class="cx"> 
</span><del>-    Document* m_document;
-
-    int m_errorCount;
</del><ins>+    Document&amp; m_document;
+    int m_errorCount { 0 };
</ins><span class="cx">     TextPosition m_lastErrorPosition;
</span><span class="cx">     StringBuilder m_errorMessages;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLTreeViewercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLTreeViewer.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XMLTreeViewer.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/xml/XMLTreeViewer.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -34,7 +34,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Document.h&quot;
</span><span class="cx"> #include &quot;Element.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;ScriptController.h&quot;
</span><span class="cx"> #include &quot;ScriptSourceCode.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCorexmlparserXMLDocumentParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/parser/XMLDocumentParser.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/parser/XMLDocumentParser.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/xml/parser/XMLDocumentParser.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -128,7 +128,7 @@
</span><span class="cx"> void XMLDocumentParser::handleError(XMLErrors::ErrorType type, const char* m, TextPosition position)
</span><span class="cx"> {
</span><span class="cx">     if (!m_xmlErrors)
</span><del>-        m_xmlErrors = std::make_unique&lt;XMLErrors&gt;(document());
</del><ins>+        m_xmlErrors = std::make_unique&lt;XMLErrors&gt;(*document());
</ins><span class="cx">     m_xmlErrors-&gt;handleError(type, m, position);
</span><span class="cx">     if (type != XMLErrors::warning)
</span><span class="cx">         m_sawError = true;
</span></span></pre></div>
<a id="trunkSourceWebCorexmlparserXMLDocumentParserLibxml2cpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp (208657 => 208658)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp        2016-11-12 22:24:33 UTC (rev 208657)
+++ trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp        2016-11-12 22:30:22 UTC (rev 208658)
</span><span class="lines">@@ -35,7 +35,6 @@
</span><span class="cx"> #include &quot;Document.h&quot;
</span><span class="cx"> #include &quot;DocumentFragment.h&quot;
</span><span class="cx"> #include &quot;DocumentType.h&quot;
</span><del>-#include &quot;ExceptionCodePlaceholder.h&quot;
</del><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;FrameLoader.h&quot;
</span><span class="cx"> #include &quot;FrameView.h&quot;
</span></span></pre>
</div>
</div>

</body>
</html>