[CSS Parser] Support unprefixed cross-fade
[WebKit-https.git] / Source / WebCore / ChangeLog
index 4569962..478719d 100644 (file)
-2016-10-29  Darin Adler  <darin@apple.com>
+2016-10-31  Dave Hyatt  <hyatt@apple.com>
 
-        Convert more of DOM from ExceptionCode to Exception
-        https://bugs.webkit.org/show_bug.cgi?id=164173
+        [CSS Parser] Support unprefixed cross-fade
+        https://bugs.webkit.org/show_bug.cgi?id=164224
 
-        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 fhcanged resturn 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
+        Reviewed by Zalan Bujtas.
 
-        There are separate code paths for the old and new CSS parser.
+        * css/CSSValueKeywords.in:
+        * css/parser/CSSPropertyParserHelpers.cpp:
+        (WebCore::CSSPropertyParserHelpers::consumeCrossFade):
+        (WebCore::CSSPropertyParserHelpers::consumeGeneratedImage):
 
-        Tests: css3/color/color-function-computed-style.html
-               css3/color/color-function-parsing.html
+2016-10-31  Dave Hyatt  <hyatt@apple.com>
 
-        * css/CSSComputedStyleDeclaration.cpp: Use Color directly, not via rgb().
-        (WebCore::ComputedStyleExtractor::currentColorOrValidColor):
-        (WebCore::ComputedStyleExtractor::valueForShadow):
-        (WebCore::ComputedStyleExtractor::propertyValue):
+        [CSS Parser] Simplify background-position-x/y style mapping
+        https://bugs.webkit.org/show_bug.cgi?id=164223
 
-        * 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:
+        Reviewed by Zalan Bujtas.
 
-        * css/parser/CSSPropertyParserHelpers.cpp: New CSS parser code to handle color().
-        (WebCore::CSSPropertyParserHelpers::parseColorFunctionParameters):
-        (WebCore::CSSPropertyParserHelpers::parseColorFunction):
+        * css/CSSToStyleMap.cpp:
+        (WebCore::CSSToStyleMap::mapFillXPosition):
+        (WebCore::CSSToStyleMap::mapFillYPosition):
+        * css/StyleBuilderConverter.h:
+        (WebCore::StyleBuilderConverter::convertFontSynthesis):
 
-        * 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.
+2016-10-31  Darin Adler  <darin@apple.com>
 
-        * platform/graphics/ExtendedColor.cpp:
-        (WebCore::ExtendedColor::cssText): Alpha output is only needed if != 1.
+        Move ChildNode and ParentNode from ExceptionCode to Exception, add support for ExceptionOr<T&>
+        https://bugs.webkit.org/show_bug.cgi?id=164214
 
-        * platform/graphics/cg/ColorCG.cpp: Handle ExtendedColor -> CGColor.
-        (WebCore::leakCGColor):
-        (WebCore::cachedCGColor):
+        Reviewed by Alex Christensen.
 
-2016-10-29  Dave Hyatt  <hyatt@apple.com>
+        * Modules/fetch/FetchRequest.cpp:
+        (WebCore::FetchRequest::initializeOptions): Use FetchHeaders& instead of
+        Ref<FetchHeaders> for return value.
+        (WebCore::FetchRequest::initializeWith): Ditto.
+        * Modules/fetch/FetchRequest.h: Updated for above.
 
-        [CSS Parser] Disable -webkit-text-size-adjust when the context says to.
-        https://bugs.webkit.org/show_bug.cgi?id=164191
+        * Modules/mediasource/MediaSource.cpp:
+        (WebCore::MediaSource::addSourceBuffer): Use SourceBuffer& instead of
+        SourceBuffer* for return value.
+        * Modules/mediasource/MediaSource.h: Updated for above.
 
-        Reviewed by Dean Jackson.
+        * bindings/js/JSDOMBinding.h: Added overloads of checkSecurityForNode so
+        it works with a function returning a reference.
 
-        * css/parser/CSSPropertyParser.cpp:
-        (WebCore::CSSPropertyParser::parseSingleValue):
+        * css/CSSPrimitiveValue.cpp:
+        (WebCore::CSSPrimitiveValue::getCounterValue): Use Counter& instead of
+        Counter* for return value.
+        (WebCore::CSSPrimitiveValue::getRectValue): Use Rect& instead of
+        Rect* for return value.
+        * css/CSSPrimitiveValue.h: Updated for above.
 
-2016-10-29  Dave Hyatt  <hyatt@apple.com>
+        * dom/ChildNode.idl: Use non-legacy exceptions.
 
-        [CSS Parser] Match old parser's image-rendering values
-        https://bugs.webkit.org/show_bug.cgi?id=164190
+        * dom/ContainerNode.cpp:
+        (WebCore::ContainerNode::querySelector): Use ExceptionOr.
+        (WebCore::ContainerNode::querySelectorAll): Ditto.
+        (WebCore::ContainerNode::append): Ditto.
+        (WebCore::ContainerNode::prepend): Ditto.
+        * dom/ContainerNode.h: Updated for above.
 
-        Reviewed by Dean Jackson.
+        * dom/Document.cpp:
+        (WebCore::Document::selectorQueryForString): Use ExceptionOr.
+        * dom/Document.h: Updated for above.
 
-        * css/parser/CSSParserFastPaths.cpp:
-        (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
+        * dom/Element.cpp:
+        (WebCore::Element::attachShadow): Return ShadowRoot& instead of
+        Ref<ShadowRoot> since the shadow root is owned by the element, not
+        the caller.
+        (WebCore::Element::matches): Updated for change to make the
+        selectorQueryForString function use ExceptionOr.
+        (WebCore::Element::closest): Ditto.
+        (WebCore::contextNodeForInsertion): Return ContainerNode& instead of
+        ContainerNode*.
+        (WebCore::contextElementForInsertion): Updated for above.
+        * dom/Element.h: Updated for above.
+        * dom/Element.idl: Changed return type for closest and for
+        insertAdjacentElement to be nullable since both can return null.
+
+        * dom/ExceptionOr.h: Added a specialization for ExceptionOr<T&>.
 
-2016-10-29  Dave Hyatt  <hyatt@apple.com>
+        * dom/Node.cpp:
+        (WebCore::Node::convertNodesOrStringsIntoNode): Use ExceptionOr.
+        (WebCore::Node::before): Ditto.
+        (WebCore::Node::after): Ditto.
+        (WebCore::Node::replaceWith): Ditto.
+        * dom/Node.h: Updated for above changes.
 
-        [CSS Parser] Support -webkit-text value for background-clip and -webkit-background-clip
-        https://bugs.webkit.org/show_bug.cgi?id=164189
+        * dom/ParentNode.idl: Use non-legacy exceptions.
 
-        Reviewed by Dean Jackson.
+        * dom/SelectorQuery.cpp:
+        (WebCore::SelectorDataList::queryAll): Changed return type to Ref.
+        (WebCore::SelectorQueryCache::add): Use ExceptionOr.
+        * dom/SelectorQuery.h: Updated for above changes.
 
-        * css/parser/CSSPropertyParser.cpp:
-        (WebCore::consumeBackgroundBox):
-        (WebCore::consumePrefixedBackgroundBox):
+        * html/HTMLFrameOwnerElement.cpp:
+        (WebCore::HTMLFrameOwnerElement::getSVGDocument): Return
+        Document& instead of Document*.
+        * html/HTMLFrameOwnerElement.h: Updated for above change.
 
-2016-10-29  Joseph Pecoraro  <pecoraro@apple.com>
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::addTextTrack): Return TextTrack&
+        instead of Ref<TextTrack>.
+        * html/HTMLMediaElement.h: Updated for above.
 
-        Remove some unnecessary includes
-        https://bugs.webkit.org/show_bug.cgi?id=164174
+        * html/HTMLPlugInImageElement.cpp:
+        (WebCore::HTMLPlugInImageElement::partOfSnapshotOverlay):
+        Updated for new exceptions.
+        * inspector/InspectorDOMAgent.cpp:
+        (WebCore::InspectorDOMAgent::querySelector): Ditto.
+        (WebCore::InspectorDOMAgent::querySelectorAll): Ditto.
+        (WebCore::InspectorDOMAgent::performSearch): Ditto.
+        (WebCore::InspectorDOMAgent::highlightSelector): Ditto.
 
-        Reviewed by Darin Adler.
+        * inspector/InspectorNodeFinder.cpp:
+        (WebCore::InspectorNodeFinder::performSearch): Put a null check
+        here so callers don't have to do it. Pass references to the
+        individual functions since the pointer can't be null.
+        (WebCore::InspectorNodeFinder::searchUsingDOMTreeTraversal):
+        Updated to use reference and streamlined code a bit, using
+        containsIgnoringASCIICase instead of findIgnoringCase.
+        (WebCore::InspectorNodeFinder::matchesAttribute): Ditto.
+        (WebCore::InspectorNodeFinder::matchesElement): Ditto.
+        (WebCore::InspectorNodeFinder::searchUsingXPath): Ditto.
+        (WebCore::InspectorNodeFinder::searchUsingCSSSelectors): Ditto.
+        Also updated  for new exceptions in querySelectorAll.
+        * inspector/InspectorNodeFinder.h: Updated for above.
 
-2016-10-29  Dave Hyatt  <hyatt@apple.com>
+        * page/Crypto.cpp:
+        (WebCore::Crypto::webkitSubtle): Return WebKitSubtleCrypto&
+        insetad of WebKitSubtleCrypto*.
+        * page/Crypto.h: Updated for above.
 
-        [CSS Parser] Support -webkit-aspect-ratio
-        https://bugs.webkit.org/show_bug.cgi?id=164187
+        * testing/Internals.h: Removed declarations for functions already
+        removed: ensureShadowRoot and createShadowRoot.
 
-        Reviewed by Simon Fraser.
+2016-10-31  Darin Adler  <darin@apple.com>
 
-        * css/parser/CSSPropertyParser.cpp:
-        (WebCore::consumeWebkitAspectRatio):
-        (WebCore::CSSPropertyParser::parseSingleValue):
+        Convert Document from ExceptionCode to Exception
+        https://bugs.webkit.org/show_bug.cgi?id=164212
 
-2016-10-29  Dave Hyatt  <hyatt@apple.com>
+        Reviewed by Alex Christensen.
 
-        [CSS Parser] Support the caps lock indicator appearance
-        https://bugs.webkit.org/show_bug.cgi?id=164186
+        * Modules/websockets/WebSocketChannel.cpp:
+        (WebCore::WebSocketChannel::processBuffer): Removed IGNORE_EXCEPTION.
 
-        Reviewed by Simon Fraser.
+        * dom/ContainerNode.cpp:
+        (WebCore::ContainerNode::takeAllChildrenFrom): Use releaseReturnValue
+        instead of ASSERT_NO_EXCEPTION.
+        (WebCore::ContainerNode::parserInsertBefore): Removed ASSERT_NO_EXCEPTION.
+        (WebCore::ContainerNode::parserAppendChild): Ditto.
 
-        * css/parser/CSSParserFastPaths.cpp:
-        (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
+        * dom/DOMImplementation.cpp:
+        (WebCore::DOMImplementation::createDocumentType): Updated for new
+        exception handling.
+        (WebCore::DOMImplementation::createDocument): Ditto.
 
-2016-10-29  Dave Hyatt  <hyatt@apple.com>
+        * dom/Document.cpp:
+        (WebCore::createHTMLElementWithNameValidation): Return ExceptionOr.
+        (WebCore::Document::createElementForBindings): Ditto.
+        (WebCore::Document::createCDATASection): Ditto.
+        (WebCore::Document::createProcessingInstruction): Ditto.
+        (WebCore::Document::importNode): Ditto.
+        (WebCore::Document::adoptNode): Ditto.
+        (WebCore::Document::createElementNS): Ditto.
+        (WebCore::Document::setXMLVersion): Ditto.
+        (WebCore::Document::setBodyOrFrameset): Ditto.
+        (WebCore::Document::processHttpEquiv): Ditto.
+        (WebCore::Document::createEvent): Ditto.
+        (WebCore::Document::cookie): Ditto.
+        (WebCore::Document::setCookie): Ditto.
+        (WebCore::Document::setDomain): Ditto.
+        (WebCore::Document::parseQualifiedName): Ditto. Also added an overload
+        that constructs a QualifiedName directly that most call sites can use.
+        (WebCore::Document::createAttribute): Return ExceptionOr.
+        (WebCore::Document::createAttributeNS): Ditto.
+        (WebCore::Document::createTouch): Removed unneeded ExceptionCode&.
+        * dom/Document.h: Updated for above.
+        * dom/Document.idl: Use non-legacy exceptions. Removed exception
+        entirely from createTouch.
 
-        [CSS Parser] Support the alt property
-        https://bugs.webkit.org/show_bug.cgi?id=164184
+        * dom/Element.cpp:
+        (WebCore::Element::parseAttributeName): Updated to use the new
+        Document::parseQualifiedName.
+        * editing/EditorCommand.cpp:
+        (WebCore::executeFormatBlock): Ditto.
 
-        Reviewed by Simon Fraser.
+        * inspector/InspectorDOMAgent.cpp:
+        (WebCore::InspectorDOMAgent::setNodeName): Updated for the new
+        exception handling.
+        * inspector/InspectorPageAgent.cpp:
+        (WebCore::InspectorPageAgent::getCookies): Ditto.
+
+        * page/ios/FrameIOS.mm:
+        (WebCore::Frame::initWithSimpleHTMLDocument): Use the
+        HTMLHtmlElement::create and HTMLBodyElement::create instead of using
+        createElementNS to make the simple document.
+
+        * svg/animation/SVGSMILElement.cpp:
+        (WebCore::SVGSMILElement::constructAttributeName): Renamed, made this
+        a member function, updated to use the new Document::parseQualifiedName,
+        and also moved the code to get the attribute in here.
+        (WebCore::SVGSMILElement::constructAttributeName): Added. Helper function
+        for the two places we update the attribute name from attributeNameAttr.
+        (WebCore::SVGSMILElement::insertedInto): Use updateAttributeName.
+        (WebCore::SVGSMILElement::svgAttributeChanged): Ditto.
+        * svg/animation/SVGSMILElement.h: Updated for the above.
 
-        * css/parser/CSSPropertyParser.cpp:
-        (WebCore::consumeAlt):
-        (WebCore::CSSPropertyParser::parseSingleValue):
+        * xml/parser/XMLDocumentParserLibxml2.cpp:
+        (WebCore::XMLDocumentParser::processingInstruction): Updated to understand
+        ExceptionOr rather than an out argument.
+        (WebCore::XMLDocumentParser::startDocument): Removed ASSERT_NO_EXCEPTION.
 
-2016-10-29  Dave Hyatt  <hyatt@apple.com>
+2016-10-31  Wenson Hsieh  <wenson_hsieh@apple.com>
 
-        [CSS Parser] Add support for -webkit-hyphenate-limit-* properties
-        https://bugs.webkit.org/show_bug.cgi?id=164183
+        Holding down a key to choose an accented character should fire "insertReplacementText" input events
+        https://bugs.webkit.org/show_bug.cgi?id=164209
+        <rdar://problem/29019305>
 
-        Reviewed by Simon Fraser.
+        Reviewed by Darin Adler.
 
-        * css/parser/CSSPropertyParser.cpp:
-        (WebCore::consumeHyphenateLimit):
-        (WebCore::CSSPropertyParser::parseSingleValue):
+        For TypingCommands that correspond to "insertReplacementText" inputTypes, vend dataTransfers for resulting
+        beforeinput and input events if the edited area is not an input field or textarea. To do this, convert the plain
+        text representation of the content to be inserted to HTML text using a helper function,
+        MarkupAccumulator::appendCharactersReplacingEntities, that is used when creating markup for Text nodes.
 
-2016-10-29  Dave Hyatt  <hyatt@apple.com>
+        Tests: fast/events/before-input-prevent-insert-replacement.html
+               fast/events/input-event-insert-replacement.html
 
-        [CSS Parser] Fix transform-origin and perspective-origin to parse as shorthands
-        https://bugs.webkit.org/show_bug.cgi?id=164178
+        * editing/TypingCommand.cpp:
+        (WebCore::TypingCommand::inputEventData):
+        (WebCore::TypingCommand::inputEventDataTransfer):
+        * editing/TypingCommand.h:
 
-        Reviewed by Zalan Bujtas.
+2016-10-30  Dave Hyatt  <hyatt@apple.com>
 
-        * css/CSSPropertyNames.in:
-        Patch the transform-origin-x/y and perspective-origin-x/y properties
-        to use new converters that can handle keywords.
+        [CSS Parser] Miscellaneous bug fixes
+        https://bugs.webkit.org/show_bug.cgi?id=164211
 
-        * 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.
+        Reviewed by Darin Adler.
 
         * 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
+        Make sure to properly reject invalid transform-origin-z values.
 
-        Reviewed by Alex Christensen.
-
-        Test: http/tests/security/cached-svg-image-with-css-cross-domain.html
+        * css/parser/CSSSelectorParser.cpp:
+        (WebCore::CSSSelectorParser::consumeAttribute):
+        Make attribute selector parsing strict about requiring a ] to end
+        the selector.
 
-        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.
+        (WebCore::CSSSelectorParser::consumePseudo):
+        Force the nth-child "of" syntax to have whitespace after "of" but
+        before the selector. It is unclear if this should be a requirement
+        or not (spec is ambiguous), but for now we match the old parser.
 
-        * loader/cache/CachedCSSStyleSheet.cpp:
-        (WebCore::CachedCSSStyleSheet::setBodyDataFrom):
-        * loader/cache/CachedImage.cpp:
-        (WebCore::CachedImage::setBodyDataFrom):
-        * loader/cache/CachedResource.h:
-        (WebCore::CachedResource::mayTryReplaceEncodedData):
+        (WebCore::CSSSelectorParser::consumeCombinator):
+        Fix a bug that caused the double child combinator to match even
+        when there was whitespace between the two > symbols.
 
-2016-10-29  Youenn Fablet  <youenn@apple.com>
+2016-10-31  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>
+        RTCOfferAnswerOptions does not need to be refcounted
+        https://bugs.webkit.org/show_bug.cgi?id=164216
 
         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.
+        Covered by existing tests.
 
-        Removing MediaEndpoint::generateDtlsInfo as it can be called directly from createMediaEndpointOwr.
+        Making RTCOffer/Answer options dictionaries as per specification.
+        Removing code that handles RTCOffer/Answer options dictionary since this is done by the binding generator.
+        Updated users of the options accordingly.
 
+        * CMakeLists.txt:
         * 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:
+        (WebCore::MediaEndpointPeerConnection::createOffer):
+        (WebCore::MediaEndpointPeerConnection::createOfferTask):
+        (WebCore::MediaEndpointPeerConnection::createAnswer):
+        (WebCore::MediaEndpointPeerConnection::createAnswerTask):
+        * Modules/mediastream/MediaEndpointPeerConnection.h:
+        * Modules/mediastream/PeerConnectionBackend.h:
+        * Modules/mediastream/RTCOfferAnswerOptions.cpp: Removed.
+        * Modules/mediastream/RTCOfferAnswerOptions.h:
+        * Modules/mediastream/RTCPeerConnection.cpp:
+        (WebCore::RTCPeerConnection::queuedCreateOffer):
+        (WebCore::RTCPeerConnection::queuedCreateAnswer):
+        * Modules/mediastream/RTCPeerConnection.h:
+        * Modules/mediastream/RTCPeerConnection.idl:
+        * WebCore.xcodeproj/project.pbxproj:
 
-2016-10-28  Wenson Hsieh  <wenson_hsieh@apple.com>
+2016-10-31  Youenn Fablet  <youenn@apple.com>
 
-        Unreviewed, add Input Events to the features list.
+        fast/mediastream/RTCPeerConnection-* tests crashing under ASan
+        https://bugs.webkit.org/show_bug.cgi?id=164215
 
-        * features.json:
+        Reviewed by Philippe Normand.
+
+        Covered by ASAN bot tests.
 
-2016-10-28  Darin Adler  <darin@apple.com>
+        * platform/mediastream/SDPProcessorScriptResource.cpp:
+        (WebCore::SDPProcessorScriptResource::scriptString):
 
-        Fix mismerge that broke a CEReactions test.
+2016-10-28  Philippe Normand  <pnormand@igalia.com>
 
-        * html/HTMLOptionsCollection.idl: Add back CEReactions to the remove function.
+        [OpenWebRTC] Initialize library one time only
+        https://bugs.webkit.org/show_bug.cgi?id=164118
 
-2016-10-28  Darin Adler  <darin@apple.com>
+        Reviewed by Darin Adler.
 
-        Move all classes in the HTML directory from ExceptionCode to Exception
-        https://bugs.webkit.org/show_bug.cgi?id=163876
+        * platform/mediastream/openwebrtc/OpenWebRTCUtilities.cpp:
+        (WebCore::initializeOpenWebRTC): Prevent multiple initialisations of the library.
 
-        Reviewed by Sam Weinig.
+2016-10-30  Brent Fulgham  <bfulgham@apple.com>
 
-        * 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.
+        Unreviewed fix: Correct ChangeLog after my bad merge.
 
-        * 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.
+        * ChangeLog
 
-        * 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.
+2016-10-30  Darin Adler  <darin@apple.com>
 
-        * bindings/js/ScriptController.cpp:
-        (WebCore::ScriptController::canAccessFromCurrentOrigin): Updated for
-        changes to BindingSecurity.
+        Move Element, NamedNodeMap, and DOMStringMap from ExceptionCode to Exception
+        https://bugs.webkit.org/show_bug.cgi?id=164206
 
-        * 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.
+        Reviewed by Chris Dumez.
 
-        * bindings/scripts/test/JS/JSTestObj.cpp: Updated for change below.
+        * bindings/js/JSDOMStringMapCustom.cpp:
+        (WebCore::JSDOMStringMap::getOwnPropertyNames): Use modern for loop, and
+        updates since the names function now returns a vector.
+        (WebCore::JSDOMStringMap::putDelegate): Use propagateException. Also return
+        true any time an exception is raised. Since true tells the caller to return
+        without doing any work, we always want to return that on an exception.
+        * dom/DatasetDOMStringMap.cpp:
+        (WebCore::DatasetDOMStringMap::names): Renamed from getNames and made this
+        return a Vector instead of populating a passed-in vector.
+        (WebCore::DatasetDOMStringMap::setItem): Use ExceptionOr.
+        * dom/DatasetDOMStringMap.h: Updated for above.
 
-        * dom/ChildNode.idl: Move the remove function to non-legacy exception.
-        Needed now because this needs to match the one in HTMLSelectElement.
+        * dom/Document.cpp:
+        (WebCore::Document::adoptNode): Updated to use ExceptionOr for
+        removeAttributeNode. Changed to use remove rather than removeChild for
+        better clarity.
 
         * 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::setAttribute): Use ExceptionOr.
+        (WebCore::Element::createShadowRoot): Deleted. Unused.
+        (WebCore::Element::attachShadow): Use ExceptionOr.
+        (WebCore::Element::shadowRootForBindings): Tweaked a bit.
+        (WebCore::Element::userAgentShadowRoot): Removed unneeded if statemment.
+        (WebCore::Element::ensureUserAgentShadowRoot): Tweaked a bit.
+        (WebCore::Element::setAttributeNode): Use ExceptionOr.
+        (WebCore::Element::setAttributeNodeNS): Ditto.
+        (WebCore::Element::removeAttributeNode): Ditto.
+        (WebCore::Element::parseAttributeName): Ditto. Also changed return result
+        to be a QualifiedName instead of using an out argument.
+        (WebCore::Element::setAttributeNS): Ditto.
+        (WebCore::Element::mergeWithNextTextNode): Ditto.
+        (WebCore::Element::setOuterHTML): Ditto.
         (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.
+        (WebCore::Element::matches): Ditto.
+        (WebCore::Element::closest): Ditto.
+        (WebCore::Element::insertAdjacent): Ditto.
+        (WebCore::Element::insertAdjacentElement): Ditto.
+        (WebCore::contextNodeForInsertion): Ditto.
+        (WebCore::contextElementForInsertion): Added. Helper for the
+        insertAdjacentHTML function to eliminate a local variable.
+        (WebCore::Element::insertAdjacentHTML): Use ExceptionOr.
+        (WebCore::Element::insertAdjacentText): Ditto.
+        * dom/Element.h: Updated for above.
+        * dom/Element.idl: Use non-legacy exceptions.
+
+        * dom/NamedNodeMap.cpp:
+        (WebCore::NamedNodeMap::removeNamedItem): Use ExceptionOr.
+        (WebCore::NamedNodeMap::supportedPropertyNames): Updated to check
+        which strings should be removed without copying the strings.
+        (WebCore::NamedNodeMap::removeNamedItemNS): Use ExceptionOr.
+        (WebCore::NamedNodeMap::setNamedItem): Ditto. Removed overload for
+        legacy bindings; move that to the bindings themselves.
+        * dom/NamedNodeMap.h: Updated for above.
+        * dom/NamedNodeMap.idl: Use non-legacy exceptions.
 
         * 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.
+        (WebCore::HTMLElement::setOuterText): Updated since mergeWithNextTextNode
+        now uses ExceptionOr.
 
-        * 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.
+        * inspector/DOMEditor.cpp: Updated to use ExceptionOr.
 
-        * 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.
+        * inspector/InspectorDOMAgent.cpp:
+        (WebCore::InspectorDOMAgent::toErrorString): Added an overload for
+        Exception.
+        (WebCore::InspectorDOMAgent::setAttributesAsText): Updated to use ExceptionOr.
+        * inspector/InspectorDOMAgent.h: Updated for above.
 
-        * html/HTMLObjectElement.idl: Use non-legacy exception.
+        * inspector/InspectorStyleSheet.cpp:
+        (WebCore::InspectorStyleSheetForInlineStyle::setStyleText): Updated to
+        use the correct version of setAttribute; there was never a risk that there
+        would be an exception, but now that's clearer.
 
-        * html/HTMLOptionElement.cpp:
-        (WebCore::HTMLOptionElement::createForJSConstructor): Use ExceptionOr.
-        * html/HTMLOptionElement.h: Updated for above change.
-        * html/HTMLOptionElement.idl: Use non-legacy exception.
+        * testing/Internals.cpp:
+        (WebCore::Internals::ensureShadowRoot): Deleted. Was unused.
+        (WebCore::Internals::createShadowRoot): Ditto.
+        * testing/Internals.idl: Updated for above.
 
-        * html/HTMLOptionsCollection.cpp:
-        (WebCore::HTMLOptionsCollection::setLength): Use ExceptionOr.
-        * html/HTMLOptionsCollection.h: Updated for above change.
-        * html/HTMLOptionsCollection.idl: Use non-legacy exception.
+        * xml/parser/XMLDocumentParserLibxml2.cpp:
+        (WebCore::handleNamespaceAttributes): Use updated parseAttributeName,
+        which uses ExceptionOr and a return value instead of an out argument.
+        (WebCore::handleElementAttributes): Ditto.
 
-        * 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.
+2016-10-30  Sam Weinig  <sam@webkit.org>
 
-        * 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.
+        [WebIDL] Restructure IDLParser structs to better match modern WebIDL concepts
+        https://bugs.webkit.org/show_bug.cgi?id=164208
 
-        * 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.
+        Reviewed by Darin Adler.
 
-        * 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.
+        Restructure IDLParsers structs to match modern WebIDL conventions:
+        - Rename structs to have more WebCore like naming, consistently using
+          the prefix IDL.
+        - Remove domSignature. Sinking it's properties into the structs that
+          contained it.
+        - Add IDLArgument, replacing the use of domSignatures for arguments.
+          IDLArgument is the subset of domSignatures needed for arguments.
+        - Rename domFunction to IDLOperation (matching WebILD nomenclature),
+          replace signature with its own name, type (for returnType), specials,
+          and extended attributes properties.
+        - Give IDLAttribute it's own name, type and extended attributes properties.
+        - Add IDLDictionaryMember, replacing the use of domSignature as the
+          type of members in IDLDictionary. Give it name, type, isRequired,
+          default and extendedAttributes properties.
+        - Renamed Typedef to be IDLTypedef. Remove the extended attributes 
+          property as those are not allowed in typedefs per-PebIDL.
+
+        Also fix some parsing issues:
+        - Stop parsing 'in' directives in function arguments.
+        - Stop parsing extended attributes in typedefs.
+        - Support applying typedefs to types deep in aggregate types
+          (e.g. (sequence<(LONG or STRING)> or DOMString)?).
 
-        * 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.
+        * bindings/scripts/CodeGenerator.pm:
+        * bindings/scripts/IDLParser.pm:
+        * bindings/scripts/generate-bindings.pl:
+        Update for new struct types.
 
-        * html/ImageData.cpp:
-        (WebCore::ImageData::create): Return ExceptionOr.
-        * html/ImageData.h: Updated for above changes.
-        * html/ImageData.idl: Use non-legacy exceptions.
+        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+        * bindings/scripts/test/TestTypedefs.idl:
+        Remove test which tested extended attributes in typedefs,
+        and add a test which tests typedefs used in deep type structures.
 
-        * 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.
+        * page/make_settings.pl:
+        Don't generate the 'in' prefix for arguments in IDL files.
 
-        * 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.
+2016-10-30  Dave Hyatt  <hyatt@apple.com>
 
-        * html/TextFieldInputType.cpp:
-        (WebCore::TextFieldInputType::updatePlaceholderText): Removed
-        ASSERT_NO_EXCEPTION.
+        [CSS Parser] Fix nth-child serialization
+        https://bugs.webkit.org/show_bug.cgi?id=164210
 
-        * 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.
+        Reviewed by Darin Adler.
 
-        * 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.
+        Our nth-child serialization preserves what the author originally
+        typed. Even though this is not spec-compliant (the latest CSS Syntax
+        spec has a dumbed down serialization process that doesn't preserve what
+        the author originally typed), I think it's better behavior to preserve
+        this text.
 
-        * 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.
+        * css/parser/CSSParserToken.cpp:
+        (WebCore::CSSParserToken::serialize):
+        Fix a bug in the serialization of number tokens that started with
+        a plus sign. Make sure the plus sign is preserved.
 
-        * platform/graphics/ImageBuffer.h: Take Optional<double> instead of
-        const double* in toDataURL. Renamed ImageDataToDataURL to just dataURL.
+        * css/parser/CSSSelectorParser.cpp:
+        (WebCore::CSSSelectorParser::consumePseudo):
+        Grab the range of tokens from after the ( and up to the ) or the "of"
+        and then serialize them. Strip whitepsace from the ends and set that
+        as the selector argument.
 
-        * 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.
+2016-10-30  Brent Fulgham  <bfulgham@apple.com>
 
-        * platform/graphics/PlatformTimeRanges.h: Exported a couple of functions
-        that are now used in WebKit.
+        [Win][Direct2D] Correct bookkeeping for begin/end draw pairs
+        https://bugs.webkit.org/show_bug.cgi?id=163898
 
-        * 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.
+        Reviewed by Darin Adler.
 
-        * 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.
+        Simon pointed out that GraphicsContext objects are generally only created at
+        the time we intend to do drawing, so calling 'BeginDraw' as part of object
+        construction, and 'EndDraw' at time of destruction should be sufficient.
 
-        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
-        (WebCore::updateTracksOfType): Pass references.
+        As usual, he was correct.
+        
+        This patch gets rid of unneeded code and greatly simplifies the Direct2D
+        drawing path.
+        
+        Tested by existing layout tests.
 
-        * platform/graphics/cairo/ImageBufferCairo.cpp:
-        (WebCore::ImageBuffer::toDataURL): Use Optional<double>
+        * platform/graphics/GraphicsContext.h:
+        * platform/graphics/win/GradientDirect2D.cpp:
+        (WebCore::Gradient::fill):Remove unneeded use
+        of 'RenderTargetScopedDrawing.h'.
+        * platform/graphics/win/GraphicsContextDirect2D.cpp:
+        (WebCore::GraphicsContext::releaseWindowsContext): Remove unneeded use
+        of RenderTargetScopedDrawing class.
+        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): Enter
+        the 'BeginDraw' state at object creation.
+        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): End
+        draw state at object destruction.
+        (WebCore::GraphicsContextPlatformPrivate::clip): Remove unneeded call to 'beginDraw'.
+        (WebCore::GraphicsContextPlatformPrivate::beginDraw): Renamed from 'beginDrawIfNeeded'.
+        (WebCore::GraphicsContextPlatformPrivate::endDraw): Get rid of draw state flags.
+        (WebCore::GraphicsContext::beginDraw): Renamed from 'beginDrawIfNeeded'.
+        (WebCore::GraphicsContext::flush): Added.
+        (WebCore::GraphicsContext::drawWithoutShadow): Remove unneeded use of
+        RenderTargetScopedDrawing class.
+        (WebCore::GraphicsContext::drawWithShadow): Ditto.
+        (WebCore::GraphicsContext::platformFillRoundedRect): Ditto.
+        (WebCore::GraphicsContext::fillRectWithRoundedHole): Ditto.
+        (WebCore::GraphicsContext::didBeginDraw): Deleted.
+        (WebCore::GraphicsContextPlatformPrivate::beginDrawIfNeeded): Deleted.
+        (WebCore::GraphicsContext::beginDrawIfNeeded): Deleted.
+        * platform/graphics/win/GraphicsContextPlatformPrivateDirect2D.h:
+        (WebCore::GraphicsContextPlatformPrivate::didBeginDraw): Deleted.
+        * platform/graphics/win/ImageBufferDataDirect2D.cpp:
+        (WebCore::ImageBufferData::getData): Remove unneeded use of RenderTargetScopedDrawing class.
+        (WebCore::ImageBufferData::putData):
+        * platform/graphics/win/ImageBufferDirect2D.cpp:
+        (WebCore::ImageBuffer::flushContext): Call new GraphicsContext 'flush' command.
+        (WebCore::ImageBuffer::draw): Remove unneeded use of RenderTargetScopedDrawing class.
+        * platform/graphics/win/NativeImageDirect2D.cpp: Ditto.
+        * platform/graphics/win/RenderTargetScopedDrawing.h: Removed.
+        * svg/graphics/SVGImage.cpp:
+        (WebCore::SVGImage::nativeImage): Remove unneeded use of RenderTargetScopedDrawing class.
 
-        * 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.
+2016-10-30  Dave Hyatt  <hyatt@apple.com> 
 
-        * platform/graphics/efl/ImageBufferEfl.cpp:
-        (WebCore::encodeImageJPEG): Use Optional<double>
-        (WebCore::ImageBuffer::toDataURL): Ditto.
+        [CSS Parser] Clean up the two types of descendant relations in CSSSelector 
+        https://bugs.webkit.org/show_bug.cgi?id=164203 
 
-        * 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.
+        Reviewed by Zalan Bujtas. 
 
-        * platform/graphics/gtk/ImageBufferGtk.cpp:
-        (WebCore::encodeImage): Use Optional<double>
-        (WebCore::ImageBuffer::toDataURL): Ditto.
+        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. 
 
-        * platform/graphics/win/ImageBufferDirect2D.cpp:
-        (WebCore::ImageBuffer::toDataURL): Use Optional<double>
+        * 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): 
 
-        * platform/image-encoders/JPEGImageEncoder.cpp:
-        (WebCore::compressRGBABigEndianToJPEG): Use Optional<double>
-        * platform/image-encoders/JPEGImageEncoder.h: Ditto.
+2016-10-30  Frederic Wang  <fwang@igalia.com> 
 
-        * platform/ios/WebPlaybackSessionInterfaceAVKit.mm:
-        (WebCore::WebPlaybackSessionInterfaceAVKit::seekableRangesChanged):
-        Updated for change to TimeRanges.
+        Unreviewed gardening 
 
-        * platform/mac/WebVideoFullscreenHUDWindowController.mm:
-        (-[WebVideoFullscreenHUDWindowController setVolume:]): Removed IGNORE_EXCEPTION.
-        * xml/parser/XMLDocumentParserLibxml2.cpp:
-        (WebCore::XMLDocumentParser::endElementNs): Ditto.
+        Fix build error on WinCairo. 
 
-        * rendering/RenderThemeGtk.cpp:
-        (WebCore::RenderThemeGtk::paintMediaSliderTrack): Updated for changes to
-        the TimeRanges class.
+        * platform/graphics/opentype/OpenTypeMathData.cpp: 
 
-2016-10-28  Dave Hyatt  <hyatt@apple.com>
+2016-10-30  Frederic Wang  <fwang@igalia.com> 
 
-        [CSS Parser] Allow @font-face src descriptor's format function to contain identifiers
-        https://bugs.webkit.org/show_bug.cgi?id=164169
+        Use HarfBuzz ot-math API to parse the OpenType MATH table 
+        https://bugs.webkit.org/show_bug.cgi?id=162671 
 
-        Reviewed by Simon Fraser.
+        Reviewed by Michael Catanzaro. 
 
-        * css/parser/CSSPropertyParser.cpp:
-        (WebCore::consumeFontFaceSrcURI):
+        No new tests, already covered by existing tests. 
 
-2016-10-28  Jer Noble  <jer.noble@apple.com>
+        * 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()): 
 
-        WebAudio does not resume when moving from background to foreground tab.
-        https://bugs.webkit.org/show_bug.cgi?id=164043
+2016-10-29  Dave Hyatt  <hyatt@apple.com> 
 
-        Reviewed by Darin Adler.
+        [CSS Parser] Support unprefixed image-sets 
+        https://bugs.webkit.org/show_bug.cgi?id=164198 
 
-        Test: webaudio/page-canstartmedia.html
+        Reviewed by Dean Jackson. 
 
-        * Modules/webaudio/AudioContext.cpp:
-        (WebCore::AudioContext::mediaCanStart):
+        * css/CSSValueKeywords.in: 
+        * css/parser/CSSPropertyParserHelpers.cpp: 
+        (WebCore::CSSPropertyParserHelpers::consumeImage): 
 
-2016-10-28  Wenson Hsieh  <wenson_hsieh@apple.com>
+2016-10-30  Yusuke Suzuki  <utatane.tea@gmail.com> 
 
-        iOS autocorrection does not trigger an input event of inputType "insertReplacementText"
-        https://bugs.webkit.org/show_bug.cgi?id=164077
-        <rdar://problem/28987810>
+        [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): 
 
-        Reviewed by Simon Fraser.
+2016-10-29  Dave Hyatt  <hyatt@apple.com> 
 
-        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.
+        [CSS Parser] Fix text-emphasis-position parsing 
+        https://bugs.webkit.org/show_bug.cgi?id=164197 
 
-        Tests: fast/events/ios/before-input-events-prevent-candidate-insertion.html
-               fast/events/ios/input-events-insert-replacement-text.html
+        Reviewed by Zalan Bujtas. 
 
-        * dom/TextEvent.h:
+        * css/parser/CSSParserFastPaths.cpp: 
+        (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue): 
+        (WebCore::CSSParserFastPaths::isKeywordPropertyID): 
+        * css/parser/CSSPropertyParser.cpp: 
+        (WebCore::consumeTextEmphasisPosition): 
+        (WebCore::CSSPropertyParser::parseSingleValue): 
 
-        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.
+2016-10-29  Darin Adler  <darin@apple.com> 
 
-        * 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):
+        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): 
 
 2016-10-28  Yusuke Suzuki  <utatane.tea@gmail.com>