<!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>[208137] trunk/Source/WebCore/ChangeLog</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/208137">208137</a></dd>
<dt>Author</dt> <dd>bfulgham@apple.com</dd>
<dt>Date</dt> <dd>2016-10-30 17:48:18 -0700 (Sun, 30 Oct 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Unreviewed fix: Correct ChangeLog after my bad merge.
* ChangeLog</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (208136 => 208137)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-10-30 23:27:43 UTC (rev 208136)
+++ trunk/Source/WebCore/ChangeLog        2016-10-31 00:48:18 UTC (rev 208137)
</span><span class="lines">@@ -1,3 +1,9 @@
</span><ins>+2016-10-30 Brent Fulgham <bfulgham@apple.com>
+
+ Unreviewed fix: Correct ChangeLog after my bad merge.
+
+ * ChangeLog
+
</ins><span class="cx"> 2016-10-30 Darin Adler <darin@apple.com>
</span><span class="cx">
</span><span class="cx"> Move Element, NamedNodeMap, and DOMStringMap from ExceptionCode to Exception
</span><span class="lines">@@ -154,7 +160,7 @@
</span><span class="cx"> and then serialize them. Strip whitepsace from the ends and set that
</span><span class="cx"> as the selector argument.
</span><span class="cx">
</span><del>-2016-10-28 Brent Fulgham <bfulgham@apple.com>
</del><ins>+2016-10-30 Brent Fulgham <bfulgham@apple.com>
</ins><span class="cx">
</span><span class="cx"> [Win][Direct2D] Correct bookkeeping for begin/end draw pairs
</span><span class="cx"> https://bugs.webkit.org/show_bug.cgi?id=163898
</span><span class="lines">@@ -209,6 +215,1567 @@
</span><span class="cx"> * svg/graphics/SVGImage.cpp:
</span><span class="cx"> (WebCore::SVGImage::nativeImage): Remove unneeded use of RenderTargetScopedDrawing class.
</span><span class="cx">
</span><ins>+2016-10-30 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Clean up the two types of descendant relations in CSSSelector
+ https://bugs.webkit.org/show_bug.cgi?id=164203
+
+ Reviewed by Zalan Bujtas.
+
+ This patch gets rid of the separate boolean for double child and allows it
+ to be a unique relation type. Rename Descendant to DescendantSpace and
+ name the new relation DescendantDoubleChild.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::CSSSelector):
+ (WebCore::CSSSelector::selectorText):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::hasDescendantRelation):
+ (WebCore::CSSSelector::hasDescendantOrChildRelation):
+ (WebCore::CSSSelector::CSSSelector):
+ (WebCore::CSSSelector::setDescendantUseDoubleChildSyntax): Deleted.
+ * css/RuleFeature.cpp:
+ (WebCore::RuleFeatureSet::recursivelyCollectFeaturesFromSelector):
+ * css/SelectorChecker.cpp:
+ (WebCore::SelectorChecker::matchRecursively):
+ (WebCore::SelectorChecker::determineLinkMatchType):
+ * css/SelectorFilter.cpp:
+ (WebCore::SelectorFilter::collectIdentifierHashes):
+ * css/parser/CSSParserValues.cpp:
+ (WebCore::CSSParserSelector::appendTagHistory):
+ * css/parser/CSSParserValues.h:
+ (WebCore::CSSParserSelector::setDescendantUseDoubleChildSyntax): Deleted.
+ * css/parser/CSSSelectorParser.cpp:
+ (WebCore::isDescendantCombinator):
+ (WebCore::CSSSelectorParser::consumeComplexSelector):
+ (WebCore::CSSSelectorParser::consumeCombinator):
+ * cssjit/SelectorCompiler.cpp:
+ (WebCore::SelectorCompiler::fragmentRelationForSelectorRelation):
+
+2016-10-30 Frederic Wang <fwang@igalia.com>
+
+ Unreviewed gardening
+
+ Fix build error on WinCairo.
+
+ * platform/graphics/opentype/OpenTypeMathData.cpp:
+
+2016-10-30 Frederic Wang <fwang@igalia.com>
+
+ Use HarfBuzz ot-math API to parse the OpenType MATH table
+ https://bugs.webkit.org/show_bug.cgi?id=162671
+
+ Reviewed by Michael Catanzaro.
+
+ No new tests, already covered by existing tests.
+
+ * platform/graphics/opentype/OpenTypeMathData.cpp: Add alternative implementation relying on
+ HarfBuzz's new OpenType MATH API.
+ * platform/graphics/opentype/OpenTypeMathData.h: Ditto.
+ (WebCore::OpenTypeMathData::hasMathData):
+ (WebCore::OpenTypeMathData::HbFontDeleter::operator()):
+
+2016-10-29 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Support unprefixed image-sets
+ https://bugs.webkit.org/show_bug.cgi?id=164198
+
+ Reviewed by Dean Jackson.
+
+ * css/CSSValueKeywords.in:
+ * css/parser/CSSPropertyParserHelpers.cpp:
+ (WebCore::CSSPropertyParserHelpers::consumeImage):
+
+2016-10-30 Yusuke Suzuki <utatane.tea@gmail.com>
+
+ [DOM] Introduce WebCore::jsDynamicDowncast
+ https://bugs.webkit.org/show_bug.cgi?id=164137
+
+ Reviewed by Darin Adler.
+
+ In WebCore, we have several extended JSTypes, like JSElementType.
+ For these types, WebCore offers the faster casting function compared
+ to JSC::jsDynamicCast. For example, for JSElementType, we have
+ jsElementCast.
+
+ The problem is that we may fall into the slow code if we choose
+ JSC::jsDynamicCast by accident. Selecting the appropriate function
+ requires special care in the IDL code generator when we would like
+ to use faster casting functions.
+
+ This patch implements a new casting function, WebCore::jsDynamicDowncast.
+ It is a thin wrapper to the JSC::jsDynamicCast. But it selects the
+ faster casting functions correctly by template specialization.
+
+ We do not choose the way specializing JSC::jsDynamicCast directly.
+ If we forget to include the header that specializes JSC::jsDyanmicCast,
+ it does not cause any compile errors, but it causes performance regression.
+ This bug is hard to figure out. To avoid this problem, we add a new function.
+
+ Outside JSC, only Tools' DumpRenderTree uses JSC::jsDynamicCast.
+ This code has FIXME that we should use JSC APIs instead of directly calling
+ JSC thingy. So this should be solved in the layer of JSC APIs and changing
+ this jsDynamicCast to WebCore's jsDynamicDowncast and exposing WebCore's thingy
+ are not good change. So we leave the code as is.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSApplePaySessionCustom.cpp:
+ (WebCore::JSApplePaySession::completeShippingMethodSelection):
+ (WebCore::JSApplePaySession::completeShippingContactSelection):
+ (WebCore::JSApplePaySession::completePaymentMethodSelection):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::reportException):
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::castThisValue):
+ (WebCore::toArrayBufferView):
+ * bindings/js/JSDOMIterator.h:
+ (WebCore::IteratorTraits>::next):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::toWrapped):
+ * bindings/js/JSDictionary.cpp:
+ (WebCore::JSDictionary::convertValue):
+ * bindings/js/JSDocumentCustom.h:
+ (WebCore::jsDocumentCast):
+ * bindings/js/JSDynamicDowncast.h: Added.
+ (WebCore::JSDynamicCastTrait::cast):
+ (WebCore::JSDynamicCastTrait<JSNode>::cast):
+ (WebCore::JSDynamicCastTrait<JSElement>::cast):
+ (WebCore::JSDynamicCastTrait<JSDocument>::cast):
+ (WebCore::JSDynamicCastTrait<JSEvent>::cast):
+ (WebCore::jsDynamicDowncast):
+ * bindings/js/JSElementCustom.h:
+ (WebCore::jsElementCast):
+ * bindings/js/JSEventCustom.h:
+ (WebCore::jsEventCast):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::setDocumentEventHandlerAttribute):
+ * bindings/js/JSEventTargetCustom.cpp:
+ (WebCore::jsEventTargetCast):
+ * bindings/js/JSMediaStreamTrackCustom.cpp:
+ (WebCore::JSMediaStreamTrack::getSettings):
+ (WebCore::JSMediaStreamTrack::getCapabilities):
+ * bindings/js/JSNodeCustom.h:
+ (WebCore::jsNodeCast):
+ * bindings/js/JSPluginElementFunctions.cpp:
+ (WebCore::pluginElementPropertyGetter):
+ * bindings/js/JSReadableStreamPrivateConstructors.cpp:
+ (WebCore::constructJSReadableStreamDefaultReader):
+ * bindings/js/JSReadableStreamSourceCustom.cpp:
+ (WebCore::startReadableStream):
+ (WebCore::JSReadableStreamSource::start):
+ (WebCore::pullReadableStream):
+ * bindings/js/JSWorkerGlobalScopeBase.cpp:
+ (WebCore::toJSDedicatedWorkerGlobalScope):
+ * bindings/js/ScriptModuleLoader.cpp:
+ (WebCore::ScriptModuleLoader::evaluate):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneSerializer::serialize):
+ * bindings/js/StructuredClone.cpp:
+ (WebCore::structuredCloneArrayBufferView):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GetCastingHelperForThisObject):
+ (GenerateImplementation):
+ * bindings/scripts/test/JS/JSInterfaceName.cpp:
+ (WebCore::jsInterfaceNameConstructor):
+ (WebCore::setJSInterfaceNameConstructor):
+ (WebCore::JSInterfaceName::toWrapped):
+ * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
+ (WebCore::BindingCaller<JSTestActiveDOMObject>::castForAttribute):
+ (WebCore::BindingCaller<JSTestActiveDOMObject>::castForOperation):
+ (WebCore::jsTestActiveDOMObjectConstructor):
+ (WebCore::setJSTestActiveDOMObjectConstructor):
+ (WebCore::JSTestActiveDOMObject::toWrapped):
+ * bindings/scripts/test/JS/JSTestCEReactions.cpp:
+ (WebCore::BindingCaller<JSTestCEReactions>::castForAttribute):
+ (WebCore::BindingCaller<JSTestCEReactions>::castForOperation):
+ (WebCore::jsTestCEReactionsConstructor):
+ (WebCore::setJSTestCEReactionsConstructor):
+ (WebCore::JSTestCEReactions::toWrapped):
+ * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
+ (WebCore::BindingCaller<JSTestCEReactionsStringifier>::castForAttribute):
+ (WebCore::BindingCaller<JSTestCEReactionsStringifier>::castForOperation):
+ (WebCore::jsTestCEReactionsStringifierConstructor):
+ (WebCore::setJSTestCEReactionsStringifierConstructor):
+ (WebCore::JSTestCEReactionsStringifier::toWrapped):
+ * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
+ (WebCore::jsTestClassWithJSBuiltinConstructorConstructor):
+ (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor):
+ (WebCore::JSTestClassWithJSBuiltinConstructor::toWrapped):
+ * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
+ (WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor):
+ (WebCore::setJSTestCustomConstructorWithNoInterfaceObjectConstructor):
+ (WebCore::JSTestCustomConstructorWithNoInterfaceObject::toWrapped):
+ * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
+ (WebCore::BindingCaller<JSTestCustomNamedGetter>::castForOperation):
+ (WebCore::jsTestCustomNamedGetterConstructor):
+ (WebCore::setJSTestCustomNamedGetterConstructor):
+ (WebCore::JSTestCustomNamedGetter::toWrapped):
+ * bindings/scripts/test/JS/JSTestDOMJIT.cpp:
+ (WebCore::BindingCaller<JSTestDOMJIT>::castForAttribute):
+ (WebCore::jsTestDOMJITConstructor):
+ (WebCore::setJSTestDOMJITConstructor):
+ * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
+ (WebCore::BindingCaller<JSTestEventConstructor>::castForAttribute):
+ (WebCore::jsTestEventConstructorConstructor):
+ (WebCore::setJSTestEventConstructorConstructor):
+ * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+ (WebCore::BindingCaller<JSTestEventTarget>::castForOperation):
+ (WebCore::jsTestEventTargetConstructor):
+ (WebCore::setJSTestEventTargetConstructor):
+ (WebCore::JSTestEventTarget::toWrapped):
+ * bindings/scripts/test/JS/JSTestException.cpp:
+ (WebCore::BindingCaller<JSTestException>::castForAttribute):
+ (WebCore::jsTestExceptionConstructor):
+ (WebCore::setJSTestExceptionConstructor):
+ (WebCore::JSTestException::toWrapped):
+ * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
+ (WebCore::jsTestGenerateIsReachableConstructor):
+ (WebCore::setJSTestGenerateIsReachableConstructor):
+ (WebCore::JSTestGenerateIsReachable::toWrapped):
+ * bindings/scripts/test/JS/JSTestGlobalObject.cpp:
+ (WebCore::BindingCaller<JSTestGlobalObject>::castForAttribute):
+ (WebCore::BindingCaller<JSTestGlobalObject>::castForOperation):
+ (WebCore::jsTestGlobalObjectConstructor):
+ (WebCore::setJSTestGlobalObjectConstructor):
+ (WebCore::JSTestGlobalObject::toWrapped):
+ * bindings/scripts/test/JS/JSTestInterface.cpp:
+ (WebCore::BindingCaller<JSTestInterface>::castForAttribute):
+ (WebCore::BindingCaller<JSTestInterface>::castForOperation):
+ (WebCore::jsTestInterfaceConstructor):
+ (WebCore::setJSTestInterfaceConstructor):
+ (WebCore::JSTestInterface::toWrapped):
+ * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
+ (WebCore::BindingCaller<JSTestInterfaceLeadingUnderscore>::castForAttribute):
+ (WebCore::jsTestInterfaceLeadingUnderscoreConstructor):
+ (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor):
+ (WebCore::JSTestInterfaceLeadingUnderscore::toWrapped):
+ * bindings/scripts/test/JS/JSTestIterable.cpp:
+ (WebCore::BindingCaller<JSTestIterable>::castForOperation):
+ (WebCore::jsTestIterableConstructor):
+ (WebCore::setJSTestIterableConstructor):
+ (WebCore::JSTestIterable::toWrapped):
+ * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
+ (WebCore::BindingCaller<JSTestJSBuiltinConstructor>::castForAttribute):
+ (WebCore::BindingCaller<JSTestJSBuiltinConstructor>::castForOperation):
+ (WebCore::jsTestJSBuiltinConstructorConstructor):
+ (WebCore::setJSTestJSBuiltinConstructorConstructor):
+ * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
+ (WebCore::BindingCaller<JSTestMediaQueryListListener>::castForOperation):
+ (WebCore::jsTestMediaQueryListListenerConstructor):
+ (WebCore::setJSTestMediaQueryListListenerConstructor):
+ (WebCore::JSTestMediaQueryListListener::toWrapped):
+ * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
+ (WebCore::jsTestNamedConstructorConstructor):
+ (WebCore::setJSTestNamedConstructorConstructor):
+ (WebCore::JSTestNamedConstructor::toWrapped):
+ * bindings/scripts/test/JS/JSTestNode.cpp:
+ (WebCore::BindingCaller<JSTestNode>::castForAttribute):
+ (WebCore::BindingCaller<JSTestNode>::castForOperation):
+ (WebCore::jsTestNodeConstructor):
+ (WebCore::setJSTestNodeConstructor):
+ * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
+ (WebCore::BindingCaller<JSTestNondeterministic>::castForAttribute):
+ (WebCore::BindingCaller<JSTestNondeterministic>::castForOperation):
+ (WebCore::jsTestNondeterministicConstructor):
+ (WebCore::setJSTestNondeterministicConstructor):
+ (WebCore::JSTestNondeterministic::toWrapped):
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::BindingCaller<JSTestObj>::castForAttribute):
+ (WebCore::BindingCaller<JSTestObj>::castForOperation):
+ (WebCore::jsTestObjConstructor):
+ (WebCore::setJSTestObjConstructor):
+ (WebCore::JSTestObj::toWrapped):
+ * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
+ (WebCore::jsTestOverloadedConstructorsConstructor):
+ (WebCore::setJSTestOverloadedConstructorsConstructor):
+ (WebCore::JSTestOverloadedConstructors::toWrapped):
+ * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
+ (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor):
+ (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor):
+ (WebCore::JSTestOverloadedConstructorsWithSequence::toWrapped):
+ * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
+ (WebCore::BindingCaller<JSTestOverrideBuiltins>::castForOperation):
+ (WebCore::jsTestOverrideBuiltinsConstructor):
+ (WebCore::setJSTestOverrideBuiltinsConstructor):
+ (WebCore::JSTestOverrideBuiltins::toWrapped):
+ * bindings/scripts/test/JS/JSTestSerialization.cpp:
+ (WebCore::BindingCaller<JSTestSerialization>::castForAttribute):
+ (WebCore::BindingCaller<JSTestSerialization>::castForOperation):
+ (WebCore::jsTestSerializationConstructor):
+ (WebCore::setJSTestSerializationConstructor):
+ (WebCore::JSTestSerialization::toWrapped):
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+ (WebCore::BindingCaller<JSTestSerializedScriptValueInterface>::castForAttribute):
+ (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
+ (WebCore::setJSTestSerializedScriptValueInterfaceConstructor):
+ (WebCore::JSTestSerializedScriptValueInterface::toWrapped):
+ * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+ (WebCore::BindingCaller<JSTestTypedefs>::castForAttribute):
+ (WebCore::BindingCaller<JSTestTypedefs>::castForOperation):
+ (WebCore::jsTestTypedefsConstructor):
+ (WebCore::setJSTestTypedefsConstructor):
+ (WebCore::JSTestTypedefs::toWrapped):
+ * bridge/objc/WebScriptObject.mm:
+ (-[WebScriptObject setValue:forKey:]):
+ * bridge/runtime_array.cpp:
+ (JSC::RuntimeArray::lengthGetter):
+ * bridge/runtime_method.cpp:
+ (JSC::RuntimeMethod::lengthGetter):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::controllerJSValue):
+ (WebCore::HTMLMediaElement::updateCaptionContainer):
+ (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::buildObjectForEventListener):
+
+2016-10-29 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Add font-variant-* keyword property support
+ https://bugs.webkit.org/show_bug.cgi?id=164195
+
+ Reviewed by Zalan Bujtas.
+
+ * css/parser/CSSParserFastPaths.cpp:
+ (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
+
+2016-10-29 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Fix text-emphasis-position parsing
+ https://bugs.webkit.org/show_bug.cgi?id=164197
+
+ Reviewed by Zalan Bujtas.
+
+ * css/parser/CSSParserFastPaths.cpp:
+ (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
+ (WebCore::CSSParserFastPaths::isKeywordPropertyID):
+ * css/parser/CSSPropertyParser.cpp:
+ (WebCore::consumeTextEmphasisPosition):
+ (WebCore::CSSPropertyParser::parseSingleValue):
+
+2016-10-29 Darin Adler <darin@apple.com>
+
+ Convert more of DOM from ExceptionCode to Exception
+ https://bugs.webkit.org/show_bug.cgi?id=164173
+
+ Reviewed by Ryosuke Niwa.
+
+ * Modules/mediastream/MediaDevices.cpp:
+ (WebCore::MediaDevices::getUserMedia): Use ExceptionOr.
+ (WebCore::MediaDevices::enumerateDevices): Ditto.
+ * Modules/mediastream/MediaDevices.h: Updated for above.
+ * Modules/mediastream/MediaDevices.idl: Use non-legacy exceptions.
+
+ * Modules/mediastream/MediaEndpointSessionDescription.cpp:
+ Added now-needed include of ExceptionCode.h.
+
+ * Modules/mediastream/RTCConfiguration.cpp:
+ (WebCore::parseIceServer): Use ExceptionOr.
+ (WebCore::RTCConfiguration::create): Ditto.
+ (WebCore::RTCConfiguration::initialize): Ditto.
+ * Modules/mediastream/RTCConfiguration.h: Updated for above.
+ * Modules/mediastream/RTCConfiguration.idl: Use non-legacy exceptions.
+
+ * Modules/mediastream/RTCDTMFSender.cpp:
+ (WebCore::RTCDTMFSender::create): Use ExceptionOr.
+ (WebCore::RTCDTMFSender::insertDTMF): Ditto.
+ * Modules/mediastream/RTCDTMFSender.h: Updated for above.
+ * Modules/mediastream/RTCDTMFSender.idl: Use non-legacy exceptions.
+
+ * Modules/mediastream/RTCDataChannel.cpp:
+ (WebCore::RTCDataChannel::create): Use ExceptionOr.
+ (WebCore::RTCDataChannel::setBinaryType): Ditto.
+ (WebCore::RTCDataChannel::send): Ditto.
+ (WebCore::RTCDataChannel::didReceiveRawData): Ditto.
+ * Modules/mediastream/RTCDataChannel.h: Updated for above.
+ Also changed return values to use const AtomicString& and
+ unsigned instead of unsigned long. Also made more private.
+ Also changed BinaryType into an enum class.
+ * Modules/mediastream/RTCDataChannel.idl: Use non-legacy exceptions.
+
+ * Modules/mediastream/RTCIceCandidate.cpp:
+ (WebCore::RTCIceCandidate::create): Use ExceptionOr.
+ * Modules/mediastream/RTCIceCandidate.h: Updated for above.
+ * Modules/mediastream/RTCIceCandidate.idl: Use non-legacy exception.
+
+ * Modules/mediastream/RTCOfferAnswerOptions.cpp:
+ (WebCore::RTCOfferOptions::create): Use ExceptionOr.
+ (WebCore::RTCAnswerOptions::create): Ditto.
+ * Modules/mediastream/RTCOfferAnswerOptions.h: Updated for above.
+ Also removed all virtual functions since nothing here is polymorphic
+ and initalized data members in the header.
+
+ * Modules/mediastream/RTCPeerConnection.cpp:
+ (WebCore::RTCPeerConnection::initializeWith): Use ExceptionOr.
+ (WebCore::RTCPeerConnection::addTrack): Ditto.
+ (WebCore::RTCPeerConnection::removeTrack): Ditto.
+ (WebCore::RTCPeerConnection::addTransceiver): Ditto.
+ (WebCore::RTCPeerConnection::completeAddTransceiver): Ditto.
+ (WebCore::RTCPeerConnection::queuedCreateOffer): Ditto.
+ (WebCore::RTCPeerConnection::queuedCreateAnswer): Ditto.
+ (WebCore::RTCPeerConnection::setConfiguration): Ditto.
+ (WebCore::RTCPeerConnection::createDataChannel): Ditto.
+ * Modules/mediastream/RTCPeerConnection.h: Updated for above.
+ * Modules/mediastream/RTCPeerConnection.idl: Use non-legacy exceptions.
+
+ * Modules/mediastream/RTCRtpSender.cpp:
+ (WebCore::RTCRtpSender::replaceTrack): Use ExceptionOr.
+ * Modules/mediastream/RTCRtpSender.h: Updated for above.
+ * Modules/mediastream/RTCRtpSender.idl: Use non-legacy exception.
+
+ * Modules/mediastream/RTCSessionDescription.cpp:
+ (WebCore::RTCSessionDescription::create): Use ExceptoinOr.
+ * Modules/mediastream/RTCSessionDescription.h: Updated for above.
+ (WebCore::RTCSessionDescription::~RTCSessionDescription):
+ * Modules/mediastream/RTCSessionDescription.idl: Use non-legacy exceptions.
+
+ * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
+ (WebCore::verifyCustomHandlerURL): Just return a boolean, no exception.
+ (WebCore::verifyProtocolHandlerScheme): Ditto.
+ (WebCore::NavigatorContentUtils::registerProtocolHandler): Use ExceptionOr.
+ (WebCore::NavigatorContentUtils::isProtocolHandlerRegistered): Ditto.
+ (WebCore::NavigatorContentUtils::unregisterProtocolHandler): Ditto.
+ * Modules/navigatorcontentutils/NavigatorContentUtils.h: Updated for above.
+ * Modules/navigatorcontentutils/NavigatorContentUtils.idl: Use non-legacy exceptions.
+
+ * bindings/js/JSMediaDevicesCustom.cpp:
+ (WebCore::JSMediaDevicesGetUserMediaPromiseFunction): Use propagateException.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (NeedsExplicitPropagateExceptionCall): Added. Helper function to decide whether
+ we need to call propagateException explicitly, if return value processing is not
+ going to propagate the exception for us.
+ (GenerateParametersCheck): Moved the code from GenerateReturnParameters inline
+ because it's almost as short as the function call. Use the newly created
+ NeedsExplicitPropagateExceptionCall function, which properly handles the case
+ where the return value is a promise.
+ (GenerateReturnParameters): Deleted.
+
+ * dom/CharacterData.cpp:
+ (WebCore::CharacterData::substringData): Use ExceptionOr.
+ (WebCore::CharacterData::insertData): Ditto.
+ (WebCore::CharacterData::deleteData): Ditto.
+ (WebCore::CharacterData::replaceData): Ditto.
+ * dom/CharacterData.h: Updated for above.
+ * dom/CharacterData.idl: Use non-legacy exceptions.
+
+ * dom/DataTransferItemList.h: Tried to use ExceptionOr, but this seems
+ like dead code that doesn't compile.
+ * dom/DataTransferItemList.idl: Use non-legacy exceptions.
+
+ * dom/MessagePort.idl: Use non-legacy exceptions, except this has
+ already been converted and was a custom binding.
+
+ * dom/MutationObserver.cpp:
+ (WebCore::MutationObserver::observe): Use ExceptionOr.
+ * dom/MutationObserver.h: Updated for above.
+ * dom/MutationObserver.idl: Use non-legacy exception.
+
+ * dom/Range.cpp:
+ (WebCore::deleteCharacterData): Updated use of calls that now use
+ ExceptionOr.
+ (WebCore::Range::processContentsBetweenOffsets): Ditto.
+ (WebCore::Range::insertNode): Ditto.
+
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::setInnerHTML): Use ExceptionOr.
+ * dom/ShadowRoot.h: Updated for above.
+ * dom/ShadowRoot.idl: Use non-legacy exception.
+
+ * dom/Text.cpp:
+ (WebCore::Text::splitText): Use ExceptionOr.
+ (WebCore::Text::replaceWholeText): Removed unused ExceptionCode&.
+ * dom/Text.h: Updated for above.
+ * dom/Text.idl: Use non-legacy exception.
+
+ * editing/ApplyBlockElementCommand.cpp:
+ (WebCore::isNewLineAtPosition): Rewrote to use data rather than
+ substringData; more efficient.
+
+ * editing/DeleteFromTextNodeCommand.cpp:
+ (WebCore::DeleteFromTextNodeCommand::doApply): Updated to work with
+ functions that return ExceptionOr.
+ (WebCore::DeleteFromTextNodeCommand::doUnapply): Removed IGNORE_EXCEPTION.
+
+ * editing/InsertIntoTextNodeCommand.cpp:
+ (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand):
+ Use WTFMove to avoid a little bit of reference count churn.
+ (WebCore::InsertIntoTextNodeCommand::doApply): Removed IGNORE_EXCEPTION.
+ (WebCore::InsertIntoTextNodeCommand::doReapply): Removed ExceptionCode.
+ (WebCore::InsertIntoTextNodeCommand::doUnapply): Removed IGNORE_EXCEPTION.
+
+ * editing/SplitTextNodeCommand.cpp:
+ (WebCore::SplitTextNodeCommand::doApply): Updated to work with functions
+ that return ExceptionCode.
+ (WebCore::SplitTextNodeCommand::doUnapply): Removed ASSERT_NO_EXCEPTION.
+ (WebCore::SplitTextNodeCommand::insertText1AndTrimText2): Updated to work
+ with functions that return ExceptionCode.
+
+ * html/HTMLTextFormControlElement.cpp:
+ Added now-needed include of ExceptionCode.h.
+
+ * inspector/DOMEditor.cpp: Removed ExceptionCode out argument from calls
+ to replaceWholeText, which never throws an exception.
+
+2016-10-29 Dean Jackson <dino@apple.com>
+
+ Parse color() function
+ https://bugs.webkit.org/show_bug.cgi?id=164146
+ <rdar://problems/29007218>
+
+ Reviewed by Darin Adler.
+
+ Support the new CSS color() function:
+ https://drafts.csswg.org/css-color/#color-function
+
+ There are separate code paths for the old and new CSS parser.
+
+ Tests: css3/color/color-function-computed-style.html
+ css3/color/color-function-parsing.html
+
+ * css/CSSComputedStyleDeclaration.cpp: Use Color directly, not via rgb().
+ (WebCore::ComputedStyleExtractor::currentColorOrValidColor):
+ (WebCore::ComputedStyleExtractor::valueForShadow):
+ (WebCore::ComputedStyleExtractor::propertyValue):
+
+ * css/CSSValueKeywords.in: Note that there is a color function, but the
+ keyword is already defined. Also add keywords for the color spaces.
+ * css/SVGCSSValueKeywords.in: sRGB is used outside of SVG now.
+
+ * css/parser/CSSParser.cpp: Old CSS parser code to handle color().
+ (WebCore::isPercent): Helper to tell if a ValueWithCalculation is a percentage or not.
+ (WebCore::CSSParser::parseColorInt): Renamed.
+ (WebCore::CSSParser::parseColorDouble): Helper to get a Number/Percentage into a double
+ (WebCore::CSSParser::parseRGBParameters):
+ (WebCore::CSSParser::parseColorFunctionParameters):
+ (WebCore::CSSParser::parseHSLParameters):
+ (WebCore::CSSParser::parseColorFromValue):
+ (WebCore::CSSParser::colorIntFromValue): Deleted.
+ * css/parser/CSSParser.h:
+
+ * css/parser/CSSPropertyParserHelpers.cpp: New CSS parser code to handle color().
+ (WebCore::CSSPropertyParserHelpers::parseColorFunctionParameters):
+ (WebCore::CSSPropertyParserHelpers::parseColorFunction):
+
+ * platform/graphics/Color.h:
+ (WebCore::Color::isValid): An extended color is valid.
+ (WebCore::Color::rgb): Move the code to a standalone inline
+ so that I could add a longer comment.
+
+ * platform/graphics/ExtendedColor.cpp:
+ (WebCore::ExtendedColor::cssText): Alpha output is only needed if != 1.
+
+ * platform/graphics/cg/ColorCG.cpp: Handle ExtendedColor -> CGColor.
+ (WebCore::leakCGColor):
+ (WebCore::cachedCGColor):
+
+2016-10-29 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Disable -webkit-text-size-adjust when the context says to.
+ https://bugs.webkit.org/show_bug.cgi?id=164191
+
+ Reviewed by Dean Jackson.
+
+ * css/parser/CSSPropertyParser.cpp:
+ (WebCore::CSSPropertyParser::parseSingleValue):
+
+2016-10-29 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Match old parser's image-rendering values
+ https://bugs.webkit.org/show_bug.cgi?id=164190
+
+ Reviewed by Dean Jackson.
+
+ * css/parser/CSSParserFastPaths.cpp:
+ (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
+
+2016-10-29 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Support -webkit-text value for background-clip and -webkit-background-clip
+ https://bugs.webkit.org/show_bug.cgi?id=164189
+
+ Reviewed by Dean Jackson.
+
+ * css/parser/CSSPropertyParser.cpp:
+ (WebCore::consumeBackgroundBox):
+ (WebCore::consumePrefixedBackgroundBox):
+
+2016-10-29 Joseph Pecoraro <pecoraro@apple.com>
+
+ Remove some unnecessary includes
+ https://bugs.webkit.org/show_bug.cgi?id=164174
+
+ Reviewed by Darin Adler.
+
+2016-10-29 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Support -webkit-aspect-ratio
+ https://bugs.webkit.org/show_bug.cgi?id=164187
+
+ Reviewed by Simon Fraser.
+
+ * css/parser/CSSPropertyParser.cpp:
+ (WebCore::consumeWebkitAspectRatio):
+ (WebCore::CSSPropertyParser::parseSingleValue):
+
+2016-10-29 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Support the caps lock indicator appearance
+ https://bugs.webkit.org/show_bug.cgi?id=164186
+
+ Reviewed by Simon Fraser.
+
+ * css/parser/CSSParserFastPaths.cpp:
+ (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
+
+2016-10-29 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Support the alt property
+ https://bugs.webkit.org/show_bug.cgi?id=164184
+
+ Reviewed by Simon Fraser.
+
+ * css/parser/CSSPropertyParser.cpp:
+ (WebCore::consumeAlt):
+ (WebCore::CSSPropertyParser::parseSingleValue):
+
+2016-10-29 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Add support for -webkit-hyphenate-limit-* properties
+ https://bugs.webkit.org/show_bug.cgi?id=164183
+
+ Reviewed by Simon Fraser.
+
+ * css/parser/CSSPropertyParser.cpp:
+ (WebCore::consumeHyphenateLimit):
+ (WebCore::CSSPropertyParser::parseSingleValue):
+
+2016-10-29 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Fix transform-origin and perspective-origin to parse as shorthands
+ https://bugs.webkit.org/show_bug.cgi?id=164178
+
+ Reviewed by Zalan Bujtas.
+
+ * css/CSSPropertyNames.in:
+ Patch the transform-origin-x/y and perspective-origin-x/y properties
+ to use new converters that can handle keywords.
+
+ * css/StyleBuilderConverter.h:
+ (WebCore::StyleBuilderConverter::convertPositionComponentX):
+ (WebCore::StyleBuilderConverter::convertPositionComponentY):
+ Add the new converters. They just call convertPositionComponent method
+ that we already use for object-position and background-position.
+
+ * css/parser/CSSPropertyParser.cpp:
+ (WebCore::CSSPropertyParser::consumeTransformOrigin):
+ (WebCore::CSSPropertyParser::consumePerspectiveOrigin):
+ Changed to treat the properties as shorthands and add the longhand
+ properties once parsed.
+
+ (WebCore::CSSPropertyParser::parseSingleValue):
+ (WebCore::CSSPropertyParser::parseShorthand):
+ * css/parser/CSSPropertyParser.h:
+ Move the parsing into the shorthand method, since we're still treating
+ these properties as shorthands.
+
+2016-10-29 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Support -webkit-background-composite
+ https://bugs.webkit.org/show_bug.cgi?id=164179
+
+ Reviewed by Zalan Bujtas.
+
+ * css/parser/CSSPropertyParser.cpp:
+ (WebCore::consumeBackgroundComponent):
+ (WebCore::CSSPropertyParser::parseSingleValue):
+
+2016-10-29 Youenn Fablet <youenn@apple.com>
+
+ REGRESSION (r207754): LayoutTest http/tests/security/svg-image-with-css-cross-domain.html is a flaky failure
+ https://bugs.webkit.org/show_bug.cgi?id=163922
+
+ Reviewed by Alex Christensen.
+
+ Test: http/tests/security/cached-svg-image-with-css-cross-domain.html
+
+ Raw data was not copied in cloned CachedCSSStyleSheet while it is used by some of its clients.
+ Updated CachedCSSStyleSheet and CachedImage cloning to copy its raw data.
+
+ * loader/cache/CachedCSSStyleSheet.cpp:
+ (WebCore::CachedCSSStyleSheet::setBodyDataFrom):
+ * loader/cache/CachedImage.cpp:
+ (WebCore::CachedImage::setBodyDataFrom):
+ * loader/cache/CachedResource.h:
+ (WebCore::CachedResource::mayTryReplaceEncodedData):
+
+2016-10-29 Youenn Fablet <youenn@apple.com>
+
+ REGRESSION (Safari 10 / r189445): WKWebView and WebView no longer allow async XMLHttpRequest timeout to exceed 60 seconds
+ https://bugs.webkit.org/show_bug.cgi?id=163814
+ <rdar://problem/28917420>
+
+ Reviewed by Darin Adler.
+
+ Tests: http/tests/xmlhttprequest/resetting-timeout-to-zero.html
+ http/tests/xmlhttprequest/timeout-greater-than-default-network-timeout.html
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::setTimeout): If the XHR timeout is active, resetting the timeout to zero should lead to using the default network timeout.
+ Since it is difficult to update the timeout once the request is sent, we mimic the default network timeout with a 60 seconds XHR timeout.
+ (WebCore::XMLHttpRequest::createRequest): Setting network timeout to infinity if the XHR timeout is active.
+
+2016-10-29 Youenn Fablet <youenn@apple.com>
+
+ MediaEndpoint::generateDtlsInfo is not needed
+ https://bugs.webkit.org/show_bug.cgi?id=164130
+
+ Reviewed by Eric Carlson.
+
+ No change of behavior.
+
+ Removing MediaEndpoint::generateDtlsInfo as it can be called directly from createMediaEndpointOwr.
+
+ * Modules/mediastream/MediaEndpointPeerConnection.cpp:
+ (WebCore::MediaEndpointPeerConnection::MediaEndpointPeerConnection):
+ * platform/mediastream/MediaEndpoint.cpp:
+ * platform/mediastream/MediaEndpoint.h:
+ * platform/mediastream/openwebrtc/MediaEndpointOwr.cpp:
+ (WebCore::createMediaEndpointOwr):
+ * platform/mediastream/openwebrtc/MediaEndpointOwr.h:
+ * platform/mock/MockMediaEndpoint.cpp:
+ (WebCore::MockMediaEndpoint::MockMediaEndpoint):
+ (WebCore::MockMediaEndpoint::generateDtlsInfo): Deleted.
+ * platform/mock/MockMediaEndpoint.h:
+
+2016-10-28 Wenson Hsieh <wenson_hsieh@apple.com>
+
+ Unreviewed, add Input Events to the features list.
+
+ * features.json:
+
+2016-10-28 Darin Adler <darin@apple.com>
+
+ Fix mismerge that broke a CEReactions test.
+
+ * html/HTMLOptionsCollection.idl: Add back CEReactions to the remove function.
+
+2016-10-28 Darin Adler <darin@apple.com>
+
+ Move all classes in the HTML directory from ExceptionCode to Exception
+ https://bugs.webkit.org/show_bug.cgi?id=163876
+
+ Reviewed by Sam Weinig.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::shouldAllowAccessToNode): Deleted.
+ (WebCore::BindingSecurity::shouldAllowAccessToFrame): Moved function into the
+ BindingSecurity namespace. Also changed arguments to references.
+ (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): Ditto.
+ (WebCore::BindingSecurity::shouldAllowAccessToNode): Changed argument type
+ from pointer to reference.
+
+ * bindings/js/JSDOMBinding.h: Removed top level shouldAllowAccessTo functions,
+ moving all of them into the BindingSecurity namespace. Changed BindingSecurity
+ from a class into a namespace. Added new checkSecurityForNode functions that
+ can be used directly to implement CheckSecurityForNode; they turn the node
+ into a null, which is no change in behavior from what bindings already did.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): Changed argument
+ type for passed-in string to const String& instead of String&.
+ (WebCore::JSDOMWindow::getOwnPropertySlot): Updated for BindingSecurity changes.
+ (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): Ditto.
+ (WebCore::JSDOMWindow::put): Ditto.
+
+ * bindings/js/JSHTMLCanvasElementCustom.cpp:
+ (WebCore::attributesFor3DContext): Renamed from get3DContextAttributes and
+ changed to use a return value instead of an out argument.
+ (WebCore::JSHTMLCanvasElement::getContext): Updated for the above.
+ (WebCore::JSHTMLCanvasElement::toDataURL): Rewrote to handle ExceptionOr
+ and also to use Optional<double> instead of const double*.
+
+ * bindings/js/JSHTMLFrameElementCustom.cpp:
+ (WebCore::JSHTMLFrameElement::setLocation): Moved the logic from
+ allowSettingJavascriptURL in here and updated for BindingSecurity changes.
+
+ * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
+ (WebCore::JSHTMLOptionsCollection::setLength): Use propagateException.
+ Also streamlined the code a bit.
+ (WebCore::JSHTMLOptionsCollection::indexSetter): Updated for new name and
+ argument types for selectElementIndexSetter.
+
+ * bindings/js/JSHTMLSelectElementCustom.cpp:
+ (WebCore::selectElementIndexSetter): Updated name and argument types and
+ to use propagateException.
+ (WebCore::JSHTMLSelectElement::indexSetter): Updated for above.
+ * bindings/js/JSHTMLSelectElementCustom.h: Ditto.
+
+ * bindings/js/JSLocationCustom.cpp:
+ (WebCore::JSLocation::getOwnPropertySlotDelegate): Updated for changes to
+ BindingSecurity.
+ (WebCore::JSLocation::putDelegate): Ditto. Also rearranged logic a bit.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::canAccessFromCurrentOrigin): Updated for
+ changes to BindingSecurity.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateImplementation): Removed old support for CheckSecurityForNode.
+ (NativeToJSValue): Added new support for CheckSecurityForNode, which uses
+ the new checkSecurityForNode function, and works properly with ExceptionOr.
+
+ * bindings/scripts/test/JS/JSTestObj.cpp: Updated for change below.
+
+ * dom/ChildNode.idl: Move the remove function to non-legacy exception.
+ Needed now because this needs to match the one in HTMLSelectElement.
+
+ * dom/Element.cpp:
+ (WebCore::Element::dispatchMouseForceWillBegin): Refactored a little bit.
+ (WebCore::Element::mergeWithNextTextNode): Support ExceptionOr for remove.
+ (WebCore::Element::setOuterHTML): Support ExceptionOr for
+ createFragmentForInnerOuterHTML.
+ (WebCore::Element::setInnerHTML): Ditto.
+ (WebCore::Element::insertAdjacentHTML): Ditto.
+
+ * dom/Node.cpp:
+ (WebCore::Node::remove): Use ExceptionOr.
+ (WebCore::Node::normalize): Remove use of IGNORE_EXCEPTION.
+ * dom/Node.h: Use ExceptionOr for remove.
+
+ * dom/Range.cpp:
+ (WebCore::Range::insertNode): Updated for change to remove.
+ (WebCore::Range::createContextualFragment): Updated for change
+ to WebCore::createContextualFragment.
+
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::setInnerHTML): Use ExceptionOr for
+ createFragmentForInnerOuterHTML and replaceChildrenWithFragment.
+
+ * editing/AppendNodeCommand.cpp:
+ (WebCore::AppendNodeCommand::doUnapply): Remove IGNORE_EXCEPTION.
+ * editing/InsertNodeBeforeCommand.cpp:
+ (WebCore::InsertNodeBeforeCommand::doUnapply): Ditto.
+ * editing/MergeIdenticalElementsCommand.cpp:
+ (WebCore::MergeIdenticalElementsCommand::doApply): Ditto.
+ * editing/RemoveNodeCommand.cpp:
+ (WebCore::RemoveNodeCommand::doApply): Ditto.
+ * editing/SplitElementCommand.cpp:
+ (WebCore::SplitElementCommand::doUnapply): Ditto.
+ * editing/SplitTextNodeCommand.cpp:
+ (WebCore::SplitTextNodeCommand::doUnapply): Ditto.
+ * editing/WrapContentsInDummySpanCommand.cpp:
+ (WebCore::WrapContentsInDummySpanCommand::doUnapply): Ditto.
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::insertDictationPhrases): Deleted. Moved this
+ iOS-specific function to EditorIOS.mm.
+ (WebCore::Editor::setDictationPhrasesAsChildOfElement): Ditto.
+ (WebCore::Editor::confirmMarkedText): Ditto.
+ (WebCore::Editor::setTextAsChildOfElement): Ditto.
+ (WebCore::Editor::ensureLastEditCommandHasCurrentSelectionIfOpenForMoreTyping): Ditto.
+
+ * editing/ios/EditorIOS.mm:
+ (WebCore::Editor::fontForSelection): Remove ASSERT_NO_EXCEPTION.
+ (WebCore::Editor::fontAttributesForSelectionStart): Ditto.
+ (WebCore::Editor::insertDictationPhrases): Moved here from Editor.cpp.
+ (WebCore::Editor::setDictationPhrasesAsChildOfElement): Ditto. Also
+ updated code that used remove to not pass an ExceptionCode.
+ (WebCore::Editor::confirmMarkedText): Ditto.
+ (WebCore::Editor::setTextAsChildOfElement): Ditto.
+ (WebCore::Editor::ensureLastEditCommandHasCurrentSelectionIfOpenForMoreTyping): Ditto.
+
+ * editing/mac/EditorMac.mm:
+ (WebCore::Editor::fontForSelection): Remove ASSERT_NO_EXCEPTION.
+ (WebCore::Editor::fontAttributesForSelectionStart): Ditto.
+
+ * editing/markup.cpp:
+ (WebCore::createFragmentForInnerOuterHTML): Use ExceptionOr.
+ (WebCore::createContextualFragment): Ditto.
+ (WebCore::replaceChildrenWithFragment): Ditto.
+ (WebCore::replaceChildrenWithText): Ditto.
+ * editing/markup.h: Updated for above changes.
+
+ * html/BaseChooserOnlyDateAndTimeInputType.cpp:
+ (WebCore::BaseChooserOnlyDateAndTimeInputType::updateAppearance):
+ Removed ASSERT_NO_EXCEPTION.
+
+ * html/BaseDateAndTimeInputType.cpp:
+ (WebCore::BaseDateAndTimeInputType::setValueAsDate): Use ExceptionOr.
+ (WebCore::BaseDateAndTimeInputType::setValueAsDecimal): Ditto.
+ * html/BaseDateAndTimeInputType.h: Updated for above changes.
+
+ * html/DateTimeLocalInputType.cpp:
+ (WebCore::DateTimeLocalInputType::setValueAsDate): Use ExceptionOr.
+ * html/DateTimeLocalInputType.h: Updated for above changes.
+
+ * html/DOMTokenList.cpp:
+ (WebCore::DOMTokenList::validateToken): Use ExceptionOr.
+ (WebCore::DOMTokenList::validateTokens): Ditto.
+ (WebCore::DOMTokenList::addInternal): Ditto.
+ (WebCore::DOMTokenList::add): Ditto.
+ (WebCore::DOMTokenList::removeInternal): Ditto.
+ (WebCore::DOMTokenList::remove): Ditto.
+ (WebCore::DOMTokenList::toggle): Ditto.
+ (WebCore::DOMTokenList::replace): Ditto.
+ (WebCore::DOMTokenList::supports): Ditto.
+ * html/DOMTokenList.h: Updated for above changes.
+ * html/DOMTokenList.idl: Use non-legacy exceptions.
+
+ * html/DOMURL.cpp:
+ (WebCore::DOMURL::DOMURL): Just take the two URL objects and let
+ the create functions do all the processing.
+ (WebCore::DOMURL::create): Use ExceptionOr, and move the processing
+ of the URLs here out of the constructors.
+ (WebCore::DOMURL::setHref): Use ExceptionOr.
+ * html/DOMURL.h: Updated for above changes.
+ * html/DOMURL.idl: Use non-legacy exceptions.
+
+ * html/FTPDirectoryDocument.cpp:
+ (WebCore::FTPDirectoryDocumentParser::appendEntry): Remove
+ IGNORE_EXCEPTION and use releaseReturnValue().
+
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::toDataURL): Use ExceptionOr.
+ * html/HTMLCanvasElement.h: Updated for above changes.
+ * html/HTMLCanvasElement.idl: Use non-legacy exception.
+
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::textToFragment): Use ExceptionOr.
+ (WebCore::HTMLElement::setInnerText): Ditto.
+ (WebCore::HTMLElement::setOuterText): Ditto.
+ (WebCore::HTMLElement::setContentEditable): Ditto.
+ (WebCore::HTMLElement::translateAttributeMode): Deleted.
+ (WebCore::HTMLElement::translate): Moved the logic from the
+ translateAttributeMode function in here.
+ * html/HTMLElement.h: Updated for above changes.
+ * html/HTMLElement.idl: Use non-legacy exceptions.
+
+ * html/HTMLEmbedElement.idl: Use non-legacy exception.
+ * html/HTMLFrameElement.idl: Ditto.
+
+ * html/HTMLFrameOwnerElement.cpp:
+ (WebCore::HTMLFrameOwnerElement::getSVGDocument): Use ExceptionOr.
+ * html/HTMLFrameOwnerElement.h: Updated for above.
+
+ * html/HTMLIFrameElement.idl: Use non-legacy exception.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::stepUp): Use ExceptionOr.
+ (WebCore::HTMLInputElement::stepDown): Ditto.
+ (WebCore::HTMLInputElement::setValue): Ditto.
+ (WebCore::HTMLInputElement::setValueAsDate): Ditto.
+ (WebCore::HTMLInputElement::setValueAsNumber): Ditto.
+ (WebCore::HTMLInputElement::setSize): Ditto.
+ (WebCore::HTMLInputElement::maxLengthAttributeChanged): Use the
+ new internalSetMaxLength function; old code relied on a setMaxLength
+ that was different from the one exposed to bindings.
+ (WebCore::HTMLInputElement::minLengthAttributeChanged): Ditto.
+ (WebCore::HTMLInputElement::setRangeText): Use ExceptionOr.
+ * html/HTMLInputElement.h: Updated for above changes. Also use
+ data member initialization for InputElementClickState instead of
+ a constructor.
+ * html/HTMLInputElement.idl: Use non-legacy exception.
+
+ * html/HTMLMarqueeElement.cpp:
+ (WebCore::HTMLMarqueeElement::setLoop): Use ExceptionOr.
+ (WebCore::HTMLMarqueeElement::renderMarquee): Tweaked.
+ * html/HTMLMarqueeElement.h: Updated for above changes.
+ * html/HTMLMarqueeElement.idl: Ditto.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::TrackGroup::TrackGroup):
+ Initialize most data members in class definition rather than
+ the constructor.
+ (WebCore::HTMLMediaElement::HTMLMediaElement): Ditto.
+ (WebCore::HTMLMediaElement::~HTMLMediaElement): Updated since
+ removeMediaElement now takes a reference.
+ (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Use
+ a modern for loop to streamline code.
+ (WebCore::HTMLMediaElement::textTrackModeChanged): Updated since
+ track now returns a reference.
+ (WebCore::HTMLMediaElement::setCurrentTimeForBindings): Renamed
+ to prevent ambiguity with the other version that has slightly
+ different semantics and overloading and changed to use ExceptionOr.
+ (WebCore::HTMLMediaElement::playInternal): Updated to use reference.
+ (WebCore::HTMLMediaElement::setVolume): Use ExceptionOr.
+ (WebCore::HTMLMediaElement::mediaPlayerDidAddAudioTrack): Take a
+ reference instead of a PassRefPtr.
+ (WebCore::HTMLMediaElement::mediaPlayerDidAddTextTrack): Ditto.
+ (WebCore::HTMLMediaElement::mediaPlayerDidAddVideoTrack): Ditto.
+ (WebCore::HTMLMediaElement::mediaPlayerDidRemoveAudioTrack): Ditto.
+ (WebCore::HTMLMediaElement::mediaPlayerDidRemoveTextTrack): Ditto.
+ (WebCore::HTMLMediaElement::mediaPlayerDidRemoveVideoTrack): Ditto.
+ (WebCore::HTMLMediaElement::addTextTrack): Use ExceptionOr.
+ (WebCore::HTMLMediaElement::didAddTextTrack): Use a reference.
+ (WebCore::HTMLMediaElement::didRemoveTextTrack): Ditto.
+ (WebCore::HTMLMediaElement::maxBufferedTime): Update to use different
+ interface to time ranges that does not need to deal with exceptions.
+ (WebCore::HTMLMediaElement::setController): Pass references.
+ (WebCore::HTMLMediaElement::outOfBandTrackSources): Use reference.
+ * html/HTMLMediaElement.h: Updated for above.
+ * html/HTMLMediaElement.idl: Use non-legacy exceptions.
+
+ * html/HTMLObjectElement.idl: Use non-legacy exception.
+
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::createForJSConstructor): Use ExceptionOr.
+ * html/HTMLOptionElement.h: Updated for above change.
+ * html/HTMLOptionElement.idl: Use non-legacy exception.
+
+ * html/HTMLOptionsCollection.cpp:
+ (WebCore::HTMLOptionsCollection::setLength): Use ExceptionOr.
+ * html/HTMLOptionsCollection.h: Updated for above change.
+ * html/HTMLOptionsCollection.idl: Use non-legacy exception.
+
+ * html/HTMLProgressElement.cpp:
+ (WebCore::HTMLProgressElement::setValue): Removed non-finite handling
+ because that is now handled by the bindings.
+ (WebCore::HTMLProgressElement::setMax): Ditto.
+ * html/HTMLProgressElement.h: Updated for above.
+ * html/HTMLProgressElement.idl: Changed attributes to be double instead
+ of unrestricted double, and this was able to remove exceptions.
+
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::removeByIndex): Drop IGNORE_EXCEPTION.
+ (WebCore::HTMLSelectElement::remove): Use ExceptionOr.
+ (WebCore::HTMLSelectElement::setOption): Ditto.
+ (WebCore::HTMLSelectElement::setLength): Ditto.
+ * html/HTMLSelectElement.h: Updated for above changes.
+ * html/HTMLSelectElement.idl: Use non-legacy exceptions.
+
+ * html/HTMLTableElement.cpp:
+ (WebCore::HTMLTableElement::setCaption): Use ExceptionOr.
+ (WebCore::HTMLTableElement::setTHead): Ditto.
+ (WebCore::HTMLTableElement::setTFoot): Ditto.
+ (WebCore::HTMLTableElement::createTHead): Streamline a bit.
+ (WebCore::HTMLTableElement::deleteTHead): Ditto.
+ (WebCore::HTMLTableElement::createTFoot): Ditto.
+ (WebCore::HTMLTableElement::deleteTFoot): Ditto.
+ (WebCore::HTMLTableElement::createTBody): Ditto.
+ (WebCore::HTMLTableElement::createCaption): Ditto.
+ (WebCore::HTMLTableElement::insertRow): Use ExceptionOr.
+ (WebCore::HTMLTableElement::deleteRow): Ditto.
+ * html/HTMLTableElement.h: Updated for above changes.
+ * html/HTMLTableElement.idl: Use non-legacy exceptions.
+
+ * html/HTMLTableRowElement.cpp:
+ (WebCore::findTable): Added.
+ (WebCore::HTMLTableRowElement::rowIndex): Streamline a bit using the
+ findTable function above.
+ (WebCore::findRows): Added.
+ (WebCore::HTMLTableRowElement::sectionRowIndex): Streamline a bit using
+ the findRows function above.
+ (WebCore::HTMLTableRowElement::insertCell): Use ExceptionOr.
+ (WebCore::HTMLTableRowElement::deleteCell): Ditto.
+ (WebCore::HTMLTableRowElement::setCells): Deleted.
+ * html/HTMLTableRowElement.h: Updated for the above. The setCells function
+ was dead code.
+ * html/HTMLTableRowElement.idl: Use non-legacy exceptions.
+
+ * html/HTMLTableSectionElement.cpp:
+ (WebCore::HTMLTableSectionElement::additionalPresentationAttributeStyle):
+ Tweaked a bit to use early return.
+ (WebCore::HTMLTableSectionElement::insertRow): Use ExceptionOr.
+ (WebCore::HTMLTableSectionElement::deleteRow): Ditto.
+ (WebCore::HTMLTableSectionElement::numRows): Use childrenOfType.
+ (WebCore::HTMLTableSectionElement::align): Deleted.
+ (WebCore::HTMLTableSectionElement::setAlign): Deleted.
+ (WebCore::HTMLTableSectionElement::ch): Deleted.
+ (WebCore::HTMLTableSectionElement::setCh): Deleted.
+ (WebCore::HTMLTableSectionElement::chOff): Deleted.
+ (WebCore::HTMLTableSectionElement::setChOff): Deleted.
+ (WebCore::HTMLTableSectionElement::vAlign): Deleted.
+ (WebCore::HTMLTableSectionElement::setVAlign): Deleted.
+ * html/HTMLTableSectionElement.h: Updated for the above.
+ * html/HTMLTableSectionElement.idl: Use non-legacy exception.
+
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::maxLengthAttributeChanged): Use the new
+ internalSetMaxLength function; old code relied on a setMaxLength
+ that was different from the one exposed to bindings.
+ (WebCore::HTMLTextAreaElement::minLengthAttributeChanged): Ditto.
+ (WebCore::HTMLTextAreaElement::updatePlaceholderText): Removed
+ ASSERT_NO_EXCEPTION.
+ * html/HTMLTextAreaElement.idl: Use non-legacy exceptions.
+
+ * html/HTMLTextFormControlElement.cpp:
+ (WebCore::HTMLTextFormControlElement::setRangeText): Use ExceptionOr.
+ (WebCore::HTMLTextFormControlElement::setInnerTextValue): Ditto.
+ (WebCore::HTMLTextFormControlElement::setMaxLength): Ditto.
+ (WebCore::HTMLTextFormControlElement::setMinLength): Ditto.
+ * html/HTMLTextFormControlElement.h: Updated for above changes.
+ Also renamed the setMin/MaxLength function overloads for internal use
+ to internSetMin/MaxLength and made them protected.
+
+ * html/HTMLTrackElement.cpp:
+ (WebCore::HTMLTrackElement::~HTMLTrackElement): Call clearElement on the
+ track to break the connection. Before this was done as a side effect of
+ clearClient, but that is called in other cases where we do not want to
+ clear the link back to the track element.
+ (WebCore::HTMLTrackElement::insertedInto): Removed code that uses the
+ track function for its side effect of creating a track; no longer needed.
+ Rewrote this so it's more symmetric with removedFrom.
+ (WebCore::HTMLTrackElement::removedFrom): Pass reference. Also reordered
+ and removed an unnecessary check for null parent.
+ (WebCore::HTMLTrackElement::parseAttribute): Use track.
+ (WebCore::HTMLTrackElement::kind): Ditto.
+ (WebCore::HTMLTrackElement::track): Renamed ensureTrack to this. Also
+ removed the redundant code to call setTrackElement; we no longer change
+ the track element on a track until the track element is destroyed.
+ (WebCore::HTMLTrackElement::scheduleLoad): Use track.
+ (WebCore::HTMLTrackElement::loadTimerFired): Ditto.
+ (WebCore::HTMLTrackElement::setReadyState): Ditto.
+ (WebCore::HTMLTrackElement::readyState): Ditto.
+ (WebCore::HTMLTrackElement::mediaElement): Rearranged to use early return.
+ * html/HTMLTrackElement.h: Updated for above changes.
+
+ * html/HTMLVideoElement.cpp:
+ (WebCore::HTMLVideoElement::webkitEnterFullscreen): Use ExceptionOr.
+ * html/HTMLVideoElement.h: Removed the functions used just for
+ capitalization reasons; that's now handled in the bindings.
+ * html/HTMLVideoElement.idl: Use non-legacy bindings and ImplementedAs.
+
+ * html/ImageData.cpp:
+ (WebCore::ImageData::create): Return ExceptionOr.
+ * html/ImageData.h: Updated for above changes.
+ * html/ImageData.idl: Use non-legacy exceptions.
+
+ * html/InputType.cpp:
+ (WebCore::InputType::setValueAsDate): Use ExceptionOr.
+ (WebCore::InputType::setValueAsDouble): Ditto.
+ (WebCore::InputType::setValueAsDecimal): Ditto.
+ (WebCore::InputType::applyStep): Ditto.
+ (WebCore::InputType::stepUp): Ditto.
+ (WebCore::InputType::stepUpFromRenderer): Removed IGNORE_EXCEPTION.
+ * html/InputType.h: Updated for the above.
+
+ * html/MediaController.cpp:
+ (MediaController::addMediaElement): Take a reference instead of a pointer.
+ (MediaController::removeMediaElement): Ditto.
+ (MediaController::containsMediaElement): Ditto.
+ (MediaController::setVolume): Use ExceptionOr.
+ (MediaController::bringElementUpToSpeed): Take a reference.
+ * html/MediaController.h: Updated for above changes. Also made lots of
+ function overrides private.
+ * html/MediaController.idl: Use non-legacy exception.
+
+ * html/MediaControllerInterface.h: Use ExceptionOr for setVolume.
+
+ * html/NumberInputType.cpp:
+ (WebCore::RealNumberRenderSize::max): Use aggregate initialization instead
+ of a constructor.
+ (WebCore::calculateRenderSize): Ditto.
+ (WebCore::NumberInputType::setValueAsDouble): Use ExceptionOr.
+ (WebCore::NumberInputType::setValueAsDecimal): Ditto.
+ * html/NumberInputType.h: Updated for above changes.
+
+ * html/RangeInputType.cpp:
+ (WebCore::RangeInputType::RangeInputType): Initialize scalar data member
+ in class definition instead of here.
+ (WebCore::RangeInputType::setValueAsDecimal): Use ExceptionOr.
+ (WebCore::RangeInputType::handleKeydownEvent): Removed IGNORE_EXCEPTION.
+ * html/RangeInputType.h: Updated for above changes.
+
+ * html/TextFieldInputType.cpp:
+ (WebCore::TextFieldInputType::updatePlaceholderText): Removed
+ ASSERT_NO_EXCEPTION.
+
+ * html/TimeRanges.cpp:
+ (WebCore::TimeRanges::start): Use ExceptionOr.
+ (WebCore::TimeRanges::end): Ditto.
+ * html/TimeRanges.h: Updated for the above.
+ * html/TimeRanges.idl: Use non-legacy exceptions.
+
+ * html/URLUtils.idl: Use non-legacy exception.
+
+ * html/ValidationMessage.cpp:
+ (WebCore::ValidationMessage::setMessageDOMAndStartTimer): Removed
+ ASSERT_NO_EXCEPTION, IGNORE_EXCEPTION, and other exception-ignoring idioms.
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
+ * html/shadow/MediaControlElementTypes.cpp:
+ (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): Ditto.
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore::MediaControlPanelElement::setPosition): Ditto.
+ (WebCore::MediaControlPanelElement::resetPosition): Ditto.
+ (WebCore::MediaControlStatusDisplayElement::update): Ditto.
+ (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Ditto.
+ (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler): Ditto.
+ (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler): Ditto.
+ * html/shadow/MediaControls.cpp:
+ (WebCore::MediaControls::updateCurrentTimeDisplay): Ditto.
+ * html/shadow/MediaControlsApple.cpp:
+ (WebCore::MediaControlsApple::updateCurrentTimeDisplay): Ditto.
+
+ * html/track/LoadableTextTrack.cpp:
+ (WebCore::LoadableTextTrack::LoadableTextTrack): Take reference.
+ (WebCore::LoadableTextTrack::~LoadableTextTrack): Deleted.
+ (WebCore::LoadableTextTrack::clearClient): Deleted override. We no longer
+ want to clear m_trackElement when clearing the client.
+ (WebCore::LoadableTextTrack::setTrackElement): Deleted.
+ (WebCore::LoadableTextTrack::id): Changed to use
+ attributeWithoutSynchronization for better performance and idAttr instead
+ of a string constant.
+ * html/track/LoadableTextTrack.h: Updated for above changes. Added a new
+ clearElement function. Made the element and isDefault functions private.
+
+ * html/track/VTTCue.cpp:
+ (WebCore::VTTCue::~VTTCue): Removed ASSERT_NO_EXCEPTION, IGNORE_EXCEPTION,
+ and other exception-ignoring idioms.
+ (WebCore::VTTCue::removeDisplayTree): Ditto.
+ * html/track/VTTRegion.cpp:
+ (WebCore::VTTRegion::displayLastTextTrackCueBox): Ditto.
+ (WebCore::VTTRegion::willRemoveTextTrackCueBox): Ditto.
+
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::pushNodeByBackendIdToFrontend):
+ Rewrote to avoid multiplehash table lookups and added a FIXME about
+ the peculiar code here.
+ (WebCore::InspectorDOMAgent::resolveNode): Streamlined.
+ (WebCore::InspectorDOMAgent::nodeAsScriptValue): Use the new
+ checkSecurityForNode instead of the old shouldAllowAccessToNode.
+
+ * platform/graphics/ImageBuffer.h: Take Optional<double> instead of
+ const double* in toDataURL. Renamed ImageDataToDataURL to just dataURL.
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::addAudioTrack): Take a reference instead of PassRefPtr.
+ (WebCore::MediaPlayer::removeAudioTrack): Ditto.
+ (WebCore::MediaPlayer::addTextTrack): Ditto.
+ (WebCore::MediaPlayer::removeTextTrack): Ditto.
+ (WebCore::MediaPlayer::addVideoTrack): Ditto.
+ (WebCore::MediaPlayer::removeVideoTrack): Ditto.
+ * platform/graphics/MediaPlayer.h: Updated for the above.
+
+ * platform/graphics/PlatformTimeRanges.h: Exported a couple of functions
+ that are now used in WebKit.
+
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
+ (WebCore::MediaPlayerPrivateAVFoundation::clearTextTracks): Use a modern for loop.
+ (WebCore::MediaPlayerPrivateAVFoundation::processNewAndRemovedTextTracks):
+ Fixed a bug that would cause this function to fail to process half the tracks.
+ Also updated for the change from PassRefPtr to references.
+
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::determineChangedTracksFromNewTracksAndOldItems): Pass references.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::audioSourceProvider): Ditto.
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::processMetadataTrack): Ditto.
+ (WebCore::assetMetadataKeyNames): Tweaked formatting.
+ (WebCore::itemKVOProperties): Ditto.
+ (WebCore::playerKVOProperties): Ditto.
+
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
+ (WebCore::updateTracksOfType): Pass references.
+
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (WebCore::ImageBuffer::toDataURL): Use Optional<double>
+
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ (WebCore::createBitmapImageAfterScalingIfNeeded): Use auto.
+ (WebCore::encodeImage): Ditto. Also renamed from CGImageEncodeToData.
+ (WebCore::dataURL): Ditto. Also renamed from CGImageToDataURL and from
+ ImageDataToDataURL.
+ (WebCore::ImageBuffer::toDataURL): Ditto.
+
+ * platform/graphics/efl/ImageBufferEfl.cpp:
+ (WebCore::encodeImageJPEG): Use Optional<double>
+ (WebCore::ImageBuffer::toDataURL): Ditto.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): Pass
+ a reference instead of pointer.
+ (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio): Ditto.
+ (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText): Ditto.
+ (WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection): Ditto.
+ (WebCore::MediaPlayerPrivateGStreamer::processTableOfContents): Ditto.
+
+ * platform/graphics/gtk/ImageBufferGtk.cpp:
+ (WebCore::encodeImage): Use Optional<double>
+ (WebCore::ImageBuffer::toDataURL): Ditto.
+
+2016-10-28 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Allow @font-face src descriptor's format function to contain identifiers
+ https://bugs.webkit.org/show_bug.cgi?id=164169
+
+ Reviewed by Simon Fraser.
+
+ * css/parser/CSSPropertyParser.cpp:
+ (WebCore::consumeFontFaceSrcURI):
+
+2016-10-28 Jer Noble <jer.noble@apple.com>
+
+ WebAudio does not resume when moving from background to foreground tab.
+ https://bugs.webkit.org/show_bug.cgi?id=164043
+
+ Reviewed by Darin Adler.
+
+ Test: webaudio/page-canstartmedia.html
+
+ * Modules/webaudio/AudioContext.cpp:
+ (WebCore::AudioContext::mediaCanStart):
+
+2016-10-28 Wenson Hsieh <wenson_hsieh@apple.com>
+
+ iOS autocorrection does not trigger an input event of inputType "insertReplacementText"
+ https://bugs.webkit.org/show_bug.cgi?id=164077
+ <rdar://problem/28987810>
+
+ Reviewed by Simon Fraser.
+
+ Fixes candidate insertion on iOS, so that it fires input events of type "insertReplacementText" and adds two
+ iOS unit tests covering this change as well as the test infrastructure needed to support these tests. See
+ comments below for more details.
+
+ Tests: fast/events/ios/before-input-events-prevent-candidate-insertion.html
+ fast/events/ios/input-events-insert-replacement-text.html
+
+ * dom/TextEvent.h:
+
+ Adds isAutocompletion() to TextEvent, as well as the TextEventInputAutocompletion text input type. When the
+ Editor handles this TextEvent, it will use this information when creating or modifying the corresponding typing
+ command.
+
+ * dom/TextEventInputType.h:
+ * editing/Editor.cpp:
+ (WebCore::Editor::insertText):
+ (WebCore::Editor::insertTextWithoutSendingTextEvent):
+ * editing/Editor.h:
+ * editing/TypingCommand.cpp:
+ (WebCore::editActionForTypingCommand):
+
+ Now takes whether the command is autocorrection into account. If so, the corresponding edit action should be
+ EditActionInsertReplacement rather than EditActionTypingInsertText.
+
+ (WebCore::TypingCommand::TypingCommand):
+ (WebCore::TypingCommand::deleteSelection):
+ (WebCore::TypingCommand::deleteKeyPressed):
+ (WebCore::TypingCommand::forwardDeleteKeyPressed):
+ (WebCore::TypingCommand::insertText):
+ (WebCore::TypingCommand::insertLineBreak):
+ (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
+ (WebCore::TypingCommand::insertParagraphSeparator):
+ (WebCore::TypingCommand::inputEventData):
+ (WebCore::TypingCommand::willAddTypingToOpenCommand):
+ * editing/TypingCommand.h:
+
+ Adds a new TypingCommand option, IsAutocompletion.
+
+2016-10-28 Commit Queue <commit-queue@webkit.org>
+
+ Unreviewed, rolling out r207700.
+ https://bugs.webkit.org/show_bug.cgi?id=164168
+
+ We are ready after r208086 (Requested by alexchristensen on
+ #webkit).
+
+ Reverted changeset:
+
+ "Unreviewed, rolling out r207582."
+ https://bugs.webkit.org/show_bug.cgi?id=163819
+ http://trac.webkit.org/changeset/207700
+
+2016-10-28 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Allow unknown properties in will-change
+ https://bugs.webkit.org/show_bug.cgi?id=164165
+
+ Reviewed by Simon Fraser.
+
+ * css/parser/CSSPropertyParser.cpp:
+ (WebCore::consumeWillChange):
+
+2016-10-28 Alex Christensen <achristensen@webkit.org>
+
+ Partially revert 207805 after resolution in URL spec issue 87
+ https://bugs.webkit.org/show_bug.cgi?id=164142
+
+ Reviewed by Andy Estes.
+
+ Covered by updated layout tests and API tests.
+
+ * platform/URLParser.cpp:
+ (WebCore::URLParser::isSingleDotPathSegment):
+ (WebCore::URLParser::isDoubleDotPathSegment):
+ (WebCore::URLParser::consumeSingleDotPathSegment):
+ (WebCore::URLParser::consumeDoubleDotPathSegment):
+ Treat %2e%2e as .. and %2e as . but only if it is entirety of the path segment.
+ There are tests for URLs like http://host/abc%2edef which have not changed because
+ the %2e is not the entirety of the path segment.
+
+2016-10-28 Alex Christensen <achristensen@webkit.org>
+
+ URLParser should not try to interpret host of URLs with unrecognized schemes as IPv4 address
+ https://bugs.webkit.org/show_bug.cgi?id=164154
+
+ Reviewed by Andy Estes.
+
+ This is needed to match behavior of all browsers.
+ This is being discussed in the spec at https://github.com/whatwg/url/issues/148
+
+ Covered by new API tests.
+
+ * platform/URLParser.cpp:
+ (WebCore::URLParser::parseHostAndPort):
+ Only try to parse and canonicalize the host as an IPv4 address if the scheme is special (http, wss, etc.)
+
+2016-10-28 Chris Dumez <cdumez@apple.com>
+
+ DOMStringMap reports properties as non-enumerable
+ https://bugs.webkit.org/show_bug.cgi?id=164114
+
+ Reviewed by Sam Weinig.
+
+ DOMStringMap's named properties should be configurable, enumerable
+ and writable as per:
+ - https://heycam.github.io/webidl/#getownproperty-guts (2.7-9)
+ - https://html.spec.whatwg.org/multipage/dom.html#domstringmap
+
+ Firefox and Chrome agree with the specification. However, WebKit
+ was doing the complete opposite.
+
+ No new tests, updated existing test.
+
+ * bindings/js/JSDOMStringMapCustom.cpp:
+ (WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
+
+2016-10-28 Ryosuke Niwa <rniwa@webkit.org>
+
+ Add CEReactions to the remaining HTML DOM APIs
+ https://bugs.webkit.org/show_bug.cgi?id=163969
+
+ Reviewed by Chris Dumez.
+
+ Added CEReactions to the remaining DOM and HTML APIs as needed.
+
+ Tests: fast/custom-elements/reactions-for-indieui.html
+ fast/custom-elements/reactions/Document.html
+ fast/custom-elements/reactions/HTMLAnchorElement.html
+ fast/custom-elements/reactions/HTMLOptionElement.html
+ fast/custom-elements/reactions/HTMLOptionsCollection.html
+ fast/custom-elements/reactions/HTMLOutputElement.html
+ fast/custom-elements/reactions/HTMLSelectElement.html
+ fast/custom-elements/reactions/HTMLTableElement.html
+ fast/custom-elements/reactions/HTMLTableRowElement.html
+ fast/custom-elements/reactions/HTMLTableSectionElement.html
+ fast/custom-elements/reactions/HTMLTitleElement.html
+ fast/custom-elements/reactions/ShadowRoot.html
+
+ * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
+ (WebCore::JSHTMLOptionsCollection::setLength):
+ (WebCore::JSHTMLOptionsCollection::indexSetter):
+ * bindings/js/JSHTMLSelectElementCustom.cpp:
+ (WebCore::JSHTMLSelectElement::indexSetter):
+ * dom/CharacterData.idl:
+ * dom/Document.idl:
+ * dom/Element.idl:
+ * dom/ShadowRoot.idl:
+ * html/HTMLAnchorElement.idl:
+ * html/HTMLDocument.idl:
+ * html/HTMLOptionElement.idl:
+ * html/HTMLOptionsCollection.idl:
+ * html/HTMLOutputElement.idl:
+ * html/HTMLSelectElement.idl:
+ * html/HTMLTableElement.idl:
+ * html/HTMLTableRowElement.idl:
+ * html/HTMLTableSectionElement.idl:
+ * html/HTMLTitleElement.idl:
+
+2016-10-28 Antoine Quint <graouts@apple.com>
+
+ [Modern Media Controls] Media Controller: volume control support
+ https://bugs.webkit.org/show_bug.cgi?id=163727
+
+ Reviewed by Dean Jackson.
+
+ We introduce the VolumeSupport class which brings support for modifying the media
+ volume by interacting with the mute volume slider in the media controls and correctly
+ reflecting the media's volume should it be changed via the media API.
+
+ Tests: media/modern-media-controls/volume-support/volume-support-click.html
+ media/modern-media-controls/volume-support/volume-support-drag.html
+ media/modern-media-controls/volume-support/volume-support-media-api-mute.html
+ media/modern-media-controls/volume-support/volume-support-media-api.html
+
+ * Modules/modern-media-controls/js-files:
+ * Modules/modern-media-controls/media/media-controller.js:
+ (MediaController):
+ * Modules/modern-media-controls/media/volume-support.js: Added.
+ (VolumeSupport.prototype.get control):
+ (VolumeSupport.prototype.get mediaEvents):
+ (VolumeSupport.prototype.controlValueWillStartChanging):
+ (VolumeSupport.prototype.controlValueDidChange):
+ (VolumeSupport.prototype.syncControl):
+ (VolumeSupport):
+ * WebCore.xcodeproj/project.pbxproj:
+
+2016-10-28 Yusuke Suzuki <utatane.tea@gmail.com>
+
+ [DOMJIT] Rename CallDOM to CallDOMGetter
+ https://bugs.webkit.org/show_bug.cgi?id=164157
+
+ Reviewed by Keith Miller.
+
+ No behavior change.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateHeader):
+ * bindings/scripts/test/JS/JSTestDOMJIT.h:
+ * domjit/JSDocumentDOMJIT.cpp:
+ (WebCore::DocumentDocumentElementDOMJIT::callDOMGetter):
+ (WebCore::DocumentDocumentElementDOMJIT::callDOM): Deleted.
+ * domjit/JSNodeDOMJIT.cpp:
+ (WebCore::createCallDOMGetterForOffsetAccess):
+ (WebCore::NodeFirstChildDOMJIT::callDOMGetter):
+ (WebCore::NodeLastChildDOMJIT::callDOMGetter):
+ (WebCore::NodeNextSiblingDOMJIT::callDOMGetter):
+ (WebCore::NodePreviousSiblingDOMJIT::callDOMGetter):
+ (WebCore::NodeParentNodeDOMJIT::callDOMGetter):
+ (WebCore::NodeNodeTypeDOMJIT::callDOMGetter):
+ (WebCore::NodeOwnerDocumentDOMJIT::callDOMGetter):
+ (WebCore::createCallDOMForOffsetAccess): Deleted.
+ (WebCore::NodeFirstChildDOMJIT::callDOM): Deleted.
+ (WebCore::NodeLastChildDOMJIT::callDOM): Deleted.
+ (WebCore::NodeNextSiblingDOMJIT::callDOM): Deleted.
+ (WebCore::NodePreviousSiblingDOMJIT::callDOM): Deleted.
+ (WebCore::NodeParentNodeDOMJIT::callDOM): Deleted.
+ (WebCore::NodeNodeTypeDOMJIT::callDOM): Deleted.
+ (WebCore::NodeOwnerDocumentDOMJIT::callDOM): Deleted.
+
+2016-10-28 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Fix font-family parsing inside @font-face
+ https://bugs.webkit.org/show_bug.cgi?id=164155
+
+ Reviewed by Simon Fraser.
+
+ * css/parser/CSSPropertyParser.cpp:
+ (WebCore::CSSPropertyParser::parseFontFaceDescriptor):
+ Use the full font-family parsing that returns a CSSValueList,
+ since we can handle multiple families.
+
+2016-10-28 Per Arne Vollan <pvollan@apple.com>
+
+ [Win][Direct2D] Implement ImageBufferData::putData.
+ https://bugs.webkit.org/show_bug.cgi?id=164151
+
+ Reviewed by Brent Fulgham.
+
+ * platform/graphics/win/ImageBufferDataDirect2D.cpp:
+ (WebCore::ImageBufferData::getData):
+ (WebCore::ImageBufferData::putData):
+
+2016-10-28 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Support hanging-punctuation
+ https://bugs.webkit.org/show_bug.cgi?id=164153
+
+ Reviewed by Simon Fraser.
+
+ * css/parser/CSSPropertyParser.cpp:
+ (WebCore::consumeHangingPunctuation):
+ (WebCore::CSSPropertyParser::parseSingleValue):
+
</ins><span class="cx"> 2016-10-28 Yusuke Suzuki <utatane.tea@gmail.com>
</span><span class="cx">
</span><span class="cx"> [DOMJIT] Implement Document::documentElement
</span></span></pre>
</div>
</div>
</body>
</html>