RenderBox::haveSameDirection is used only by table items.
[WebKit-https.git] / Source / WebCore / ChangeLog
index e24986b..a9fa384 100644 (file)
+2016-07-25  Zalan Bujtas  <zalan@apple.com>
+
+        RenderBox::haveSameDirection is used only by table items.
+        https://bugs.webkit.org/show_bug.cgi?id=160141
+
+        Reviewed by Simon Fraser.
+
+        Remove RenderBox::haveSameDirection() since it's used only by RenderTable*
+        classes. The new stand alone function (with 2 arguments) now checks if both of
+        the objects are valid. 
+
+        No change in functionality.
+
+        * rendering/RenderBox.h:
+        (WebCore::RenderBox::hasSameDirectionAs): Deleted.
+        * rendering/RenderTable.cpp:
+        (WebCore::RenderTable::tableStartBorderAdjoiningCell):
+        (WebCore::RenderTable::tableEndBorderAdjoiningCell):
+        * rendering/RenderTable.h:
+        (WebCore::haveSameDirection):
+        * rendering/RenderTableCell.cpp:
+        (WebCore::RenderTableCell::hasStartBorderAdjoiningTable):
+        (WebCore::RenderTableCell::hasEndBorderAdjoiningTable):
+        * rendering/RenderTableCell.h:
+        (WebCore::RenderTableCell::borderAdjoiningTableStart):
+        (WebCore::RenderTableCell::borderAdjoiningTableEnd):
+        * rendering/RenderTableRow.h:
+        (WebCore::RenderTableRow::borderAdjoiningTableStart):
+        (WebCore::RenderTableRow::borderAdjoiningTableEnd):
+        * rendering/RenderTableSection.cpp:
+        (WebCore::RenderTableSection::borderAdjoiningStartCell):
+        (WebCore::RenderTableSection::borderAdjoiningEndCell):
+        (WebCore::RenderTableSection::firstRowCellAdjoiningTableStart):
+        (WebCore::RenderTableSection::firstRowCellAdjoiningTableEnd):
+        * rendering/RenderTableSection.h:
+        (WebCore::RenderTableSection::borderAdjoiningTableStart):
+        (WebCore::RenderTableSection::borderAdjoiningTableEnd):
+
+2016-07-25  Chris Dumez  <cdumez@apple.com>
+
+        ClientRect properties should be on the prototype
+        https://bugs.webkit.org/show_bug.cgi?id=160165
+
+        Reviewed by Geoffrey Garen.
+
+        Move ClientRect properties from the instance to the prototype. This
+        matches the specification, Firefox and Chrome.
+
+        Also add a serializer to ClientRect in order to match the specification:
+        - https://drafts.fxtf.org/geometry/Overview.html#domrectreadonly
+        - https://heycam.github.io/webidl/#es-serializer
+
+        This avoids breaking content that relies on JSON.stringify() to
+        serialize ClientRect objects.
+
+        Tests: fast/css/ClientRect-attributes-prototype.html
+               fast/css/ClientRect-serialization.html
+
+        * CMakeLists.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/js/JSBindingsAllInOne.cpp:
+        * bindings/js/JSClientRectCustom.cpp: Added.
+        (WebCore::JSClientRect::toJSON):
+        * bindings/scripts/CodeGeneratorJS.pm:
+        * dom/ClientRect.idl:
+
+2016-07-25  Chris Dumez  <cdumez@apple.com>
+
+        Parameters to DOMImplementation.createDocumentType() should be mandatory and non-nullable
+        https://bugs.webkit.org/show_bug.cgi?id=160167
+
+        Reviewed by Ryosuke Niwa.
+
+        Parameters to DOMImplementation.createDocumentType() should be mandatory
+        and non-nullable:
+        - https://dom.spec.whatwg.org/#domimplementation
+
+        Firefox and Chrome both agree with the specification. However, those
+        parameters were nullable and optional in WebKit.
+
+        Test: fast/dom/DOMImplementation/createDocumentType-parameters.html
+
+        * dom/DOMImplementation.idl:
+
+2016-07-25  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        Media controls should not be displayed for a video until it starts playing
+        https://bugs.webkit.org/show_bug.cgi?id=160092
+        <rdar://problem/26986673>
+
+        Reviewed by Beth Dakin.
+
+        For videos that have never played back yet, we should not show media controls. To ensure this
+        behavior, we ensure that the playback behavior restriction is set upon creating the media
+        element. This restriction is then removed when the media element begins to play.
+
+        Added two new WebKit API tests.
+
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::HTMLMediaElement):
+
+2016-07-25  Jiewen Tan  <jiewen_tan@apple.com>
+
+        Rename SubtleCrypto to WebKitSubtleCrypto
+        https://bugs.webkit.org/show_bug.cgi?id=160067
+        <rdar://problem/27483617>
+
+        Reviewed by Brent Fulgham.
+
+        Tests: crypto/webkitSubtle/gc-2.html
+               crypto/webkitSubtle/gc-3.html
+               crypto/webkitSubtle/gc.html
+
+        Rename Class SubtleCrypto to WebKitSubtleCrypto, and Crypto.subtle to Crypto.webkitSubtle in order
+        to let the new implementation to reuse the name SubtleCrypto. This renaming should match what our
+        current JSBindings use, and therefore should not introduce any change of behavoir.
+
+        * CMakeLists.txt:
+        Revise project files for for new file names.
+        * DerivedSources.cpp:
+        * DerivedSources.make:
+        * PlatformEfl.cmake:
+        * PlatformGTK.cmake:
+        * PlatformMac.cmake:
+        * WebCore.xcodeproj/project.pbxproj:
+        Revise project files for for new file names.
+        * bindings/js/JSWebKitSubtleCryptoCustom.cpp: Renamed from Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp.
+        * crypto/WebKitSubtleCrypto.cpp: Renamed from Source/WebCore/crypto/SubtleCrypto.cpp.
+        * crypto/WebKitSubtleCrypto.h: Renamed from Source/WebCore/crypto/SubtleCrypto.h.
+        * crypto/WebKitSubtleCrypto.idl: Renamed from Source/WebCore/crypto/SubtleCrypto.idl.
+        * page/Crypto.cpp:
+        (WebCore::Crypto::webkitSubtle):
+        (WebCore::Crypto::subtle): Deleted.
+        * page/Crypto.h:
+        * page/Crypto.idl:
+
+2016-07-25  Brady Eidson  <beidson@apple.com>
+
+        Allow LocalStorage by default for file URLs.
+        https://bugs.webkit.org/show_bug.cgi?id=160169
+
+        Reviewed by Brent Fulgham.
+
+        Test: storage/domstorage/localstorage/file-can-access.html
+
+        * page/SecurityOrigin.cpp:
+        (WebCore::SecurityOrigin::canAccessStorage): Remove the m_universalAccess check for local URLs.
+
+2016-07-25  Nan Wang  <n_wang@apple.com>
+
+        AX: AccessibilityRenderObject is adding duplicated children when CSS first-letter is being used.
+        https://bugs.webkit.org/show_bug.cgi?id=160155
+
+        Reviewed by Chris Fleizach.
+
+        We were adding the same text node twice if CSS first-letter selector was being used. Added a
+        check for the inline continuation so that we only add it once. 
+
+        Test: accessibility/mac/css-first-letter-children.html
+
+        * accessibility/AccessibilityRenderObject.cpp:
+        (WebCore::firstChildConsideringContinuation):
+
+2016-07-25  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        Media controls on apple.com don't disappear when movie finishes playing
+        https://bugs.webkit.org/show_bug.cgi?id=160068
+        <rdar://problem/26668526>
+
+        Reviewed by Darin Adler.
+
+        When a video ends, it should cause media controls to hide. While current logic
+        mostly accounts for this, it does not account for programmatic seeks causing
+        the video to lose its 'ended' status before querying for whether or not to
+        show media controls.
+
+        Three new API tests: large-video-seek-after-ending.html
+        large-video-hides-controls-after-seek-to-end.html
+        large-video-seek-to-beginning-and-play-after-ending.html
+
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
+        (WebCore::HTMLMediaElement::setPlaying):
+        * html/MediaElementSession.cpp:
+        (WebCore::MediaElementSession::canControlControlsManager):
+        * html/MediaElementSession.h:
+
+2016-07-25  Frederic Wang  <fwang@igalia.com>
+
+        Introduce a MathMLOperatorElement class
+        https://bugs.webkit.org/show_bug.cgi?id=160034
+
+        Reviewed by Darin Adler.
+
+        No new tests, rendering is unchaned.
+
+        * CMakeLists.txt: Add MathMLOperatorElement to the build file.
+        * WebCore.xcodeproj/project.pbxproj: Ditto.
+        * mathml/MathMLAllInOne.cpp: Ditto.
+        * mathml/MathMLOperatorElement.cpp: New DOM class for <mo> element.
+        (WebCore::MathMLOperatorElement::MathMLOperatorElement):
+        (WebCore::MathMLOperatorElement::create):
+        (WebCore::MathMLOperatorElement::parseAttribute): Handle mo attributes.
+        (WebCore::MathMLOperatorElement::createElementRenderer): Create RenderMathMLOperator.
+        * mathml/MathMLOperatorElement.h: Declare a class deriving from MathMLTextElement.
+        * mathml/MathMLTextElement.cpp: Remove all the RenderMathMLOperator parts.
+        (WebCore::MathMLTextElement::MathMLTextElement): Remove inline keyword so that the class can
+        be overriden.
+        (WebCore::MathMLTextElement::parseAttribute): Remove code handled in MathMLOperatorElement.
+        (WebCore::MathMLTextElement::createElementRenderer): Ditto.
+        * mathml/MathMLTextElement.h: Make class and members overridable.
+        * mathml/mathtags.in: Map mo to MathMLOperatorElement.
+        * rendering/mathml/RenderMathMLOperator.cpp:
+        (WebCore::RenderMathMLOperator::RenderMathMLOperator): Make the constructor take a
+        MathMLOperatorElement.
+        * rendering/mathml/RenderMathMLOperator.h: Ditto.
+
+2016-07-25  Darin Adler  <darin@apple.com>
+
+        Speed up make process slightly by improving "list of files" idiom
+        https://bugs.webkit.org/show_bug.cgi?id=160164
+
+        Reviewed by Mark Lam.
+
+        * DerivedSources.make: Change rules that build lists of files to only run when
+        DerivedSources.make has been modified since the last time they were run. Since the
+        list of files are inside this file, this is safe, and this is faster than always
+        comparing and regenerating the file containing the list of files each time.
+
+2016-07-24  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        The web process hangs when computing elements-based snap points for a container with large max scroll offset
+        https://bugs.webkit.org/show_bug.cgi?id=152605
+        <rdar://problem/25353661>
+
+        Reviewed by Simon Fraser.
+
+        Fixes a bug in the computation of axis snap points. The ScrollSnapPoints object, which tracks
+        snap points along a particular axis, has two flags, hasRepeat and usesElements. For elements-
+        based snapping, both flags would be turned on, since StyleBuilderConverter::convertScrollSnapPoints
+        short-circuits for elements-based snapping and does not default usesRepeat to false. To address this,
+        we make ScrollSnapPoints not repeat(100%) by default.
+
+        Test: css3/scroll-snap/scroll-snap-elements-container-larger-than-children.html
+
+        * css/StyleBuilderConverter.h:
+        (WebCore::StyleBuilderConverter::convertScrollSnapPoints): Deleted.
+        * rendering/style/StyleScrollSnapPoints.cpp:
+        (WebCore::ScrollSnapPoints::ScrollSnapPoints):
+
+2016-07-25  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        REGRESSION(r200931): Invalid cast in highestAncestorToWrapMarkup()
+        https://bugs.webkit.org/show_bug.cgi?id=160163
+
+        Reviewed by Michael Catanzaro.
+
+        Since r200931 the result of enclosingNodeOfType() in highestAncestorToWrapMarkup() is downcasted to Element, but
+        the result of enclosingNodeOfType() can be a Node that is not an Element, in this case is Text. The cast is not
+        needed at all since that node is passed to editingIgnoresContent() and selectionFromContentsOfNode() and both
+        receive a Node not an Element.
+
+        * editing/markup.cpp:
+        (WebCore::highestAncestorToWrapMarkup): Remove invalid cast.
+
+2016-07-25  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [Coordinated Graphics] ASSERTION FAILED: m_coordinator->isFlushingLayerChanges() in fast/repaint/animation-after-layer-scroll.html
+        https://bugs.webkit.org/show_bug.cgi?id=160156
+
+        Reviewed by Michael Catanzaro.
+
+        So, we fixed an assertion in r203663, but now is hitting the next one. As explained in bug #160142, flush
+        compositing state can be triggered in tests by RenderLayerCompositor::layerTreeAsText(), without the coordinator
+        even noticing it, so the assert can be just removed.
+
+        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
+        (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly): Remove incorrect assert.
+
+2016-07-25  Zalan Bujtas  <zalan@apple.com>
+
+        EllipsisBox ctor's isVertical parameter should read isHorizontal.
+        https://bugs.webkit.org/show_bug.cgi?id=160153
+
+        Reviewed by Andreas Kling.
+
+        It indicates whether the ellipsis box is horizontal. (both the callsites
+        and the parent class use isHorizontal)
+
+        No change in functionality.
+
+        * rendering/EllipsisBox.cpp:
+        (WebCore::EllipsisBox::EllipsisBox):
+        * rendering/EllipsisBox.h:
+
+2016-07-25  Sergio Villar Senin  <svillar@igalia.com>
+
+        [css-grid] Implement repeat(auto-fit)
+        https://bugs.webkit.org/show_bug.cgi?id=159771
+
+        Reviewed by Darin Adler.
+
+        The auto-fit keyword works exactly as the already implemented auto-fill except that all
+        empty tracks collapse (became 0px). Absolutely positioned items do not participate on the
+        layout of the grid so they are not considered (a grid with only absolutely positioned items
+        is considered an empty grid).
+
+        Whenever a track collapses the gutters on either side do also collapse. When a collapsed
+        track's gutters collapse, they coincide exactly. If one side of a collapsed track does not
+        have a gutter then collapsing its gutters results in no gutter on either "side" of the
+        collapsed track.
+
+        In practice this means that is not possible to know the gap between 2 consecutive auto
+        repeat tracks without examining some others whenever there are collapsed tracks.
+
+        Uncommented the auto-fit cases from Mozilla tests. They have to be adapted as the reftest
+        machinery requires all the content to be rendered in the original 800x600 viewport.
+
+        Tests: fast/css-grid-layout/grid-auto-fit-columns.html
+        fast/css-grid-layout/grid-auto-fit-rows.html
+        fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-005-part-1.html
+        fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-005-part-2.html
+
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::valueForGridTrackList): Use the newly added trackSizesForComputedStyle().
+        * rendering/RenderGrid.cpp:
+        (WebCore::RenderGrid::computeTrackBasedLogicalHeight):
+        (WebCore::RenderGrid::computeTrackSizesForDirection):
+        (WebCore::RenderGrid::isEmptyAutoRepeatTrack):
+        (WebCore::RenderGrid::gridGapForDirection): Returns the gap directly from the style.
+        (WebCore::RenderGrid::guttersSize): Computes the gap between a startLine and an
+        endLine. This method may need to inspect some other surrounding tracks to compute the gap.
+        (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
+        (WebCore::RenderGrid::computeIntrinsicLogicalHeight):
+        (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
+        (WebCore::RenderGrid::gridTrackSize):
+        (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
+        (WebCore::RenderGrid::computeAutoRepeatTracksCount):
+        (WebCore::RenderGrid::computeEmptyTracksForAutoRepeat): Returns a Vector with the auto
+        repeat tracks that are going to be collapsed because they're empty.
+        (WebCore::RenderGrid::placeItemsOnGrid):
+        (WebCore::RenderGrid::trackSizesForComputedStyle): Used by ComputedStyle logic to print the
+        size of tracks. Added in order to hide the actual contents of m_columnPositions and
+        m_rowPositions to the outter world.
+        (WebCore::RenderGrid::offsetAndBreadthForPositionedChild):
+        (WebCore::RenderGrid::gridAreaBreadthForChild):
+        (WebCore::RenderGrid::populateGridPositionsForDirection): Added some extra code to compute
+        gaps as they cannot be directly added between tracks in case of having collapsed tracks.
+        (WebCore::RenderGrid::columnAxisOffsetForChild):
+        (WebCore::RenderGrid::rowAxisOffsetForChild):
+        (WebCore::RenderGrid::offsetBetweenTracks): Deleted.
+        * rendering/RenderGrid.h: Made some API private. Added new required methods/attributes.
+
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::valueForGridTrackList):
+        * rendering/RenderGrid.cpp:
+        (WebCore::RenderGrid::computeTrackBasedLogicalHeight):
+        (WebCore::RenderGrid::computeTrackSizesForDirection):
+        (WebCore::RenderGrid::hasAutoRepeatEmptyTracks):
+        (WebCore::RenderGrid::isEmptyAutoRepeatTrack):
+        (WebCore::RenderGrid::gridGapForDirection):
+        (WebCore::RenderGrid::guttersSize):
+        (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
+        (WebCore::RenderGrid::computeIntrinsicLogicalHeight):
+        (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
+        (WebCore::RenderGrid::gridTrackSize):
+        (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
+        (WebCore::RenderGrid::computeAutoRepeatTracksCount):
+        (WebCore::RenderGrid::computeEmptyTracksForAutoRepeat):
+        (WebCore::RenderGrid::placeItemsOnGrid):
+        (WebCore::RenderGrid::trackSizesForComputedStyle):
+        (WebCore::RenderGrid::offsetAndBreadthForPositionedChild):
+        (WebCore::RenderGrid::assumedRowsSizeForOrthogonalChild):
+        (WebCore::RenderGrid::gridAreaBreadthForChild):
+        (WebCore::RenderGrid::populateGridPositionsForDirection):
+        (WebCore::RenderGrid::columnAxisOffsetForChild):
+        (WebCore::RenderGrid::rowAxisOffsetForChild):
+        (WebCore::RenderGrid::offsetBetweenTracks): Deleted.
+        * rendering/RenderGrid.h:
+
+2016-07-24  Frederic Wang  <fwang@igalia.com>
+
+        Move parsing of display, displaystyle and mathvariant attributes into MathML element classes
+        https://bugs.webkit.org/show_bug.cgi?id=159623
+
+        Reviewed by Brent Fulgham.
+
+        No new tests, already covered by existing tests.
+
+        * mathml/MathMLElement.cpp:
+        (WebCore::MathMLElement::parseMathVariantAttribute): Move helper function to parse the
+        mathvariant attribute.
+        (WebCore::MathMLElement::getSpecifiedDisplayStyle): Helper function to set the displaystyle
+        value from the attribute specified on the MathML element.
+        (WebCore::MathMLElement::getSpecifiedMathVariant): Helper function to set the mathvariant
+        value from the attribute specified on the MathML element.
+        * mathml/MathMLElement.h: Move the enum for mathvariant values and declare new members.
+        (WebCore::MathMLElement::acceptsDisplayStyleAttribute): Indicate whether the element accepts
+        displaystyle attribute (false for most of them).
+        (WebCore::MathMLElement::acceptsMathVariantAttribute): Indicate whether the element accepts
+        mathvariant attribute (false for most of them).
+        * mathml/MathMLInlineContainerElement.cpp:
+        (WebCore::MathMLInlineContainerElement::acceptsDisplayStyleAttribute): Add mstyle and mtable
+        to the list of elements accepting the displaystyle attribute.
+        (WebCore::MathMLInlineContainerElement::acceptsMathVariantAttribute): Add mstyle to the list
+        of elements accepting the mathvariant attribute.
+        (WebCore::MathMLInlineContainerElement::parseAttribute): Mark displaystyle and mathvariant
+        dirty if necessary. Also use the new accepts*Attribute function.
+        * mathml/MathMLInlineContainerElement.h: Declare overridden accepts*Attribute members.
+        * mathml/MathMLMathElement.cpp:
+        (WebCore::MathMLMathElement::getSpecifiedDisplayStyle): Override acceptsDisplayStyleAttribute
+        so that the display attribute is also used to set the default value if the displaystyle
+        attribute is absent.
+        (WebCore::MathMLMathElement::parseAttribute): Mark displaystyle and mathvariant dirty if
+        necessary. We directly MathMLElement::parseAttribute to avoid duplicate work.
+        * mathml/MathMLMathElement.h: Add the math tag to the list of elements accepting the
+        displaystyle and mathvariant attributes. Declare overridden getSpecifiedDisplayStyle.
+        * mathml/MathMLTextElement.cpp:
+        (WebCore::MathMLTextElement::parseAttribute): Mark mathvariant as dirty.
+        * mathml/MathMLTextElement.h: Add token elements to the list of elements accepting the
+        mathvariant attribute.
+        * rendering/mathml/MathMLStyle.cpp:
+        (WebCore::MathMLStyle::updateStyleIfNeeded): Use the new MathMLElement::MathVariant enum.
+        (WebCore::MathMLStyle::resolveMathMLStyle):  We no longer parse the display value to
+        initialize the default value on the math tag, because this is handled in
+        getSpecifiedDisplayStyle. In general, we also just call getSpecifiedDisplayStyle and
+        getSpecifiedMathVariant on the MathML elements instead of parsing the displaystyle and
+        mathvariant attributes here.
+        (WebCore::MathMLStyle::parseMathVariant): Deleted. This is moved into MathMLElement.
+        * rendering/mathml/MathMLStyle.h: Use the new MathMLElement::MathVariant enum.
+        * rendering/mathml/RenderMathMLToken.cpp: Ditto.
+        (WebCore::mathVariant): Ditto.
+        (WebCore::RenderMathMLToken::updateMathVariantGlyph): Ditto.
+
+2016-07-25  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        Unreviewed. Remove unneeded header includes from CoordinatedGraphicsLayer.
+
+        Not only thjey are not needed, they are a layer violation, CoordinatedGraphicsLayer shouldn't know anything
+        about Page, Frame and FrameView.
+
+        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
+        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
+
+2016-07-24  Youenn Fablet  <youenn@apple.com>
+
+        [Fetch API] Request should be created with any HeadersInit data
+        https://bugs.webkit.org/show_bug.cgi?id=159672
+
+        Reviewed by Sam Weinig.
+
+        Made Request use JSBuiltinConstructor.
+        This allows initializing newly created Request with a JS built-in function, initializeFetchRequest.
+        initializeFetchRequest can call @fillFetchHeaders internal built-in to handle any HeadersInit data.
+        Future effort should be made to migrate more initialization code in initializeFetchRequest.
+
+        Made window and worker fetch function as a JS built-in.
+        This becomes more handy as these new functions can construct the Request object.
+        They can then call a single private function that takes a Request object as input.
+        Updated DOMWindowFetch and WorkerGlobalScopeFetch code accordingly.
+
+        To enable this, the binding generator is updated to support runtime-enabled JS built-in functions and
+        private functions atttached to global objects.
+
+        Covered by existing and modified tests.
+        Binding generator test covered by updated binding tests.
+
+        * CMakeLists.txt: Adding DOMWindowFetch.js, FetchRequest.js and WorkerGlobalScopeFetch.js built-in files.
+        * DerivedSources.make: Ditto.
+        * Modules/fetch/DOMWindowFetch.cpp: Removed overloaded fetch and updated according new signature.
+        (WebCore::DOMWindowFetch::fetch):
+        * Modules/fetch/DOMWindowFetch.h: Ditto.
+        * Modules/fetch/DOMWindowFetch.idl: Making fetch a JS built-in and adding a @fetchRequest private function.
+        * Modules/fetch/DOMWindowFetch.js: Added.
+        (fetch):
+        * Modules/fetch/FetchHeaders.h:
+        (WebCore::FetchHeaders::setGuard): Used by FetchRequest when initializing headers.
+        * Modules/fetch/FetchRequest.cpp: 
+        (WebCore::buildHeaders): Removed as implemented in JS.
+        (WebCore::FetchRequest::initializeOptions): Added to handle most of the dictionary initialization.
+        (WebCore::FetchRequest::initializeWith): Method called from built-in constructor function.
+        (WebCore::FetchRequest::setBody): Corresponding to @setBody private method.
+        (WebCore::buildBody): Deleted.
+        * Modules/fetch/FetchRequest.h:
+        * Modules/fetch/FetchRequest.idl:
+        * Modules/fetch/FetchRequest.js: Added.
+        (initializeFetchRequest): Implements fetch Request(input, init) constructor.
+        * Modules/fetch/FetchResponse.cpp:
+        (WebCore::FetchResponse::fetch): Removed the construction of FetchRequest in fetch method since it is done by JS built-in code.
+        * Modules/fetch/FetchResponse.h:
+        * Modules/fetch/WorkerGlobalScopeFetch.cpp: Removed overloaded fetch and updated according new signature.
+        (WebCore::WorkerGlobalScopeFetch::fetch):
+        * Modules/fetch/WorkerGlobalScopeFetch.h: Ditto.
+        * Modules/fetch/WorkerGlobalScopeFetch.idl: Making fetch a JS built-in and adding a @fetchRequest private function.
+        * Modules/fetch/WorkerGlobalScopeFetch.js: Added.
+        (fetch):
+        * bindings/js/WebCoreBuiltinNames.h: Adding fetchRequest, setBody and Request private identifiers.
+        * bindings/scripts/CodeGenerator.pm:
+        (WK_lcfirst): Replacing dOM by dom.
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateImplementation): Adding support for runtime-enabled built-in methods and private methods.
+        * bindings/scripts/test/JS/JSTestGlobalObject.cpp:
+        (WebCore::JSTestGlobalObject::finishCreation):
+        (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction):
+        * bindings/scripts/test/ObjC/DOMTestGlobalObject.mm:
+        (-[DOMTestGlobalObject testJSBuiltinFunction]):
+        * bindings/scripts/test/TestGlobalObject.idl: Adding tests for runtime-enabled global built-in methods and private methods.
+
+2016-07-24  Nan Wang  <n_wang@apple.com>
+
+        AX: Video Controls: Volume cannot be adjusted using VO.
+        https://bugs.webkit.org/show_bug.cgi?id=160107
+
+        Reviewed by Dean Jackson.
+
+        The volume slider in video tag had 0.01 step which caused the screen reader adjusting it slowly.
+        Changed the step to 0.05 and added the aria-valuetext attribute to the slider, so that the value
+        is spoken in percentage. 
+
+        Test: accessibility/mac/video-volume-slider-accessibility.html
+
+        * Modules/mediacontrols/mediaControlsApple.js:
+        (Controller.prototype.createControls):
+        (Controller.prototype.handleVolumeSliderInput):
+        (Controller.prototype.updateVolume):
+
+2016-07-24  David Kilzer  <ddkilzer@apple.com>
+
+        REGRESSION (r203106): Crash in WebCore::MathMLElement::parseMathMLLength()
+        <https://webkit.org/b/160111>
+        <rdar://problem/27506489>
+
+        Reviewed by Chris Dumez.
+
+        Test: mathml/mpadded-crash.html
+
+        * mathml/MathMLElement.cpp:
+        (WebCore::skipLeadingAndTrailingWhitespace): Change to take
+        StringView parameter instead of String to avoid creating a
+        temporary String that's released on return.
+
+2016-07-24  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [Coordinated Graphics] ASSERTION FAILED: !m_flushingLayers in fast/repaint/animation-after-layer-scroll.html
+        https://bugs.webkit.org/show_bug.cgi?id=160142
+
+        Reviewed by Michael Catanzaro.
+
+        This only happens in layout tests, because it happens when RenderLayerCompositor::layerTreeAsText() is
+        called. The thing is that CoordinatedGraphicsLayer::flushCompositingState() calls notifyFlushRequired() that
+        checks if the coordinator is flusing layers and if not it calls RenderLayerCompositor::notifyFlushRequired() and
+        returns early. This normally works because the coodinator is the one starting the layer flush, so that when
+        RenderLayerCompositor::flushPendingLayerChanges() is called the coordinator is always flusing layers. But
+        RenderLayerCompositor::layerTreeAsText() calls RenderLayerCompositor::flushPendingLayerChanges() directly, so at
+        that moment the coordinator is not flusing layers, what causes that
+        CoordinatedGraphicsLayer::flushCompositingState() ends up calling RenderLayerCompositor::notifyFlushRequired()
+        that schedules a new flush while flusing layers causing the
+        assertion. CoordinatedGraphicsLayer::flushCompositingState() is always called from
+        CompositingCoordinator::flushPendingLayerChanges() or RenderLayerCompositor::flushPendingLayerChanges() so we
+        never need to call RenderLayerCompositor::notifyFlushRequired() from there.
+
+        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
+        (WebCore::CoordinatedGraphicsLayer::notifyFlushRequired): This is void now since the return value is not checked anywhere.
+        (WebCore::CoordinatedGraphicsLayer::flushCompositingState): Remove the call to notifyFlushRequired().
+        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
+
+2016-07-24  Darin Adler  <darin@apple.com>
+
+        Adding a new WebCore JavaScript built-in source file does not trigger rebuild of WebCoreJSBuiltins*
+        https://bugs.webkit.org/show_bug.cgi?id=160115
+
+        Reviewed by Youenn Fablet.
+
+        * DerivedSources.make: Added a missing dependency so the rule that builds WebCore_BUILTINS_WRAPPERS
+        kicks in when the list of WebCore_BUILTINS_SOURCES is modified. Also added another missing dependency
+        so that changes to the JavaScript built-ins Python scripts will also trigger WebCore_BUILTINS_WRAPPERS.
+
+        * make-generated-sources.sh: Removed. Was unused.
+
+2016-07-23  Zalan Bujtas  <zalan@apple.com>
+
+        Stop isEmpty() from leaking out of SVG.
+        https://bugs.webkit.org/show_bug.cgi?id=160121
+
+        Reviewed by Simon Fraser.
+
+        It's unclear what isEmpty() actually means and it doesn't bring any value to Render* classes.
+
+        No change in functionality.
+
+        * editing/CompositeEditCommand.cpp:
+        (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
+        * rendering/RenderElement.h:
+        * rendering/RenderListItem.cpp:
+        (WebCore::RenderListItem::isEmpty): Deleted.
+        * rendering/RenderListItem.h:
+        * rendering/RenderObject.h:
+        (WebCore::RenderObject::isEmpty): Deleted.
+        * rendering/RenderRubyRun.cpp:
+        (WebCore::RenderRubyRun::removeChild):
+        (WebCore::RenderRubyRun::isEmpty): Deleted.
+        * rendering/RenderRubyRun.h:
+        * rendering/mathml/RenderMathMLFenced.cpp:
+        (WebCore::RenderMathMLFenced::updateFromElement):
+        (WebCore::RenderMathMLFenced::addChild):
+        * rendering/mathml/RenderMathMLRoot.cpp:
+        (WebCore::RenderMathMLRoot::paint):
+        * rendering/svg/RenderSVGShape.h:
+
+2016-07-23  Zalan Bujtas  <zalan@apple.com>
+
+        table*BorderAdjoiningCell and borderAdjoiningCell* should take reference instead of RenderTableCell*.
+        https://bugs.webkit.org/show_bug.cgi?id=160123
+
+        Reviewed by Simon Fraser.
+
+        No change in functionality.
+
+        * rendering/RenderTable.cpp:
+        (WebCore::RenderTable::tableStartBorderAdjoiningCell):
+        (WebCore::RenderTable::tableEndBorderAdjoiningCell):
+        * rendering/RenderTable.h:
+        * rendering/RenderTableCell.cpp:
+        (WebCore::RenderTableCell::computeCollapsedStartBorder):
+        (WebCore::RenderTableCell::computeCollapsedEndBorder):
+        * rendering/RenderTableCell.h:
+        (WebCore::RenderTableCell::borderAdjoiningCellBefore):
+        (WebCore::RenderTableCell::borderAdjoiningCellAfter):
+        * rendering/RenderTableCol.cpp:
+        (WebCore::RenderTableCol::borderAdjoiningCellStartBorder):
+        (WebCore::RenderTableCol::borderAdjoiningCellEndBorder):
+        (WebCore::RenderTableCol::borderAdjoiningCellBefore):
+        (WebCore::RenderTableCol::borderAdjoiningCellAfter):
+        * rendering/RenderTableCol.h:
+        * rendering/RenderTableRow.cpp:
+        (WebCore::RenderTableRow::borderAdjoiningStartCell):
+        (WebCore::RenderTableRow::borderAdjoiningEndCell):
+        * rendering/RenderTableRow.h:
+        * rendering/RenderTableSection.cpp:
+        (WebCore::RenderTableSection::borderAdjoiningStartCell):
+        (WebCore::RenderTableSection::borderAdjoiningEndCell):
+        * rendering/RenderTableSection.h:
+
+2016-07-23  Zalan Bujtas  <zalan@apple.com>
+
+        Remove unused enum and stale comment from RenderObject.
+        https://bugs.webkit.org/show_bug.cgi?id=160122
+
+        Reviewed by Simon Fraser.
+
+        No change in functionality.
+
+        * rendering/RenderBox.h:
+
+2016-07-23  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [Coordinated Graphics] Lots of flaky tests
+        https://bugs.webkit.org/show_bug.cgi?id=160118
+
+        Reviewed by Michael Catanzaro.
+
+        Since the GTK+ ported to threaded compositor (coordinated graphics) there are a lot of flaky tests in the
+        bots. In manu of the cases the diff shows a different size in the FrameView layer.
+
+        This happens for tests run in the same WTR after fast/fixed-layout/fixed-layout.html. This is what happens:
+
+         1.- Test fast/fixed-layout/fixed-layout.html runs and sets fixed layout to true and fixed layout size to 400x400
+         2.- When it finishes TestController::resetStateToConsistentValues() is called.
+         3.- Blank URL is loaded after state has been updated
+         4.- Then Reset message is handled in the web process and Internals::resetToConsistentState() resets the fixed
+             layout state and size.
+         5.- onresize happens and the handler set in fast/fixed-layout/fixed-layout.html is invoked setting the fixed
+             layout to true and size to 400x400 again.
+         6.- about_blank is then loaded with the fixed layout enabled, as well as other tests after this one.
+
+        In addition to this, coordinated graphics uses a fixedVisibleContentRect in ScrollView that is never reset.
+
+        * platform/ScrollView.cpp:
+        (WebCore::ScrollView::unscaledVisibleContentSizeIncludingObscuredArea): Only use m_fixedVisibleContentRect when
+        fixed layout is enabled.
+        (WebCore::ScrollView::unscaledUnobscuredVisibleContentSize): Ditto.
+        (WebCore::ScrollView::visibleContentRectInternal): Ditto.
+        * testing/Internals.cpp:
+        (WebCore::Internals::resetToConsistentState): Reset also the m_fixedVisibleContentRect.
+
+2016-07-23  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [Coordinated Graphics] Test imported/blink/svg/custom/svg-image-layers-crash.html crashes
+        https://bugs.webkit.org/show_bug.cgi?id=160078
+
+        Reviewed by Michael Catanzaro.
+
+        This is a merge of Blink r155373.
+        https://chromiumcodereview.appspot.com/20789004
+
+        Disable accelerated compositing for SVGImage content layers. SVGImageChromeClient does not support it.
+
+        Fixes imported/blink/svg/custom/svg-image-layers-crash.html.
+
+        * svg/graphics/SVGImage.cpp:
+        (WebCore::SVGImage::dataChanged):
+
+2016-07-23  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r203641.
+        https://bugs.webkit.org/show_bug.cgi?id=160116
+
+        It broke make-based builds (Requested by youenn on #webkit).
+
+        Reverted changeset:
+
+        "[Fetch API] Request should be created with any HeadersInit
+        data"
+        https://bugs.webkit.org/show_bug.cgi?id=159672
+        http://trac.webkit.org/changeset/203641
+
+2016-07-23  Youenn Fablet  <youenn@apple.com>
+
+        [Fetch API] Request should be created with any HeadersInit data
+        https://bugs.webkit.org/show_bug.cgi?id=159672
+
+        Reviewed by Sam Weinig.
+
+        Made Request use JSBuiltinConstructor.
+        This allows initializing newly created Request with a JS built-in function, initializeFetchRequest.
+        initializeFetchRequest can call @fillFetchHeaders internal built-in to handle any HeadersInit data.
+        Future effort should be made to migrate more initialization code in initializeFetchRequest.
+
+        Made window and worker fetch function as a JS built-in.
+        This becomes more handy as these new functions can construct the Request object.
+        They can then call a single private function that takes a Request object as input.
+        Updated DOMWindowFetch and WorkerGlobalScopeFetch code accordingly.
+
+        To enable this, the binding generator is updated to support runtime-enabled JS built-in functions and
+        private functions atttached to global objects.
+
+        Covered by existing and modified tests.
+        Binding generator test covered by updated binding tests.
+
+        * CMakeLists.txt: Adding DOMWindowFetch.js, FetchRequest.js and WorkerGlobalScopeFetch.js built-in files.
+        * DerivedSources.make: Ditto.
+        * Modules/fetch/DOMWindowFetch.cpp: Removed overloaded fetch and updated according new signature.
+        (WebCore::DOMWindowFetch::fetch):
+        * Modules/fetch/DOMWindowFetch.h: Ditto.
+        * Modules/fetch/DOMWindowFetch.idl: Making fetch a JS built-in and adding a @fetchRequest private function.
+        * Modules/fetch/DOMWindowFetch.js: Added.
+        (fetch):
+        * Modules/fetch/FetchHeaders.h:
+        (WebCore::FetchHeaders::setGuard): Used by FetchRequest when initializing headers.
+        * Modules/fetch/FetchRequest.cpp: 
+        (WebCore::buildHeaders): Removed as implemented in JS.
+        (WebCore::FetchRequest::initializeOptions): Added to handle most of the dictionary initialization.
+        (WebCore::FetchRequest::initializeWith): Method called from built-in constructor function.
+        (WebCore::FetchRequest::setBody): Corresponding to @setBody private method.
+        (WebCore::buildBody): Deleted.
+        * Modules/fetch/FetchRequest.h:
+        * Modules/fetch/FetchRequest.idl:
+        * Modules/fetch/FetchRequest.js: Added.
+        (initializeFetchRequest): Implements fetch Request(input, init) constructor.
+        * Modules/fetch/FetchResponse.cpp:
+        (WebCore::FetchResponse::fetch): Removed the construction of FetchRequest in fetch method since it is done by JS built-in code.
+        * Modules/fetch/FetchResponse.h:
+        * Modules/fetch/WorkerGlobalScopeFetch.cpp: Removed overloaded fetch and updated according new signature.
+        (WebCore::WorkerGlobalScopeFetch::fetch):
+        * Modules/fetch/WorkerGlobalScopeFetch.h: Ditto.
+        * Modules/fetch/WorkerGlobalScopeFetch.idl: Making fetch a JS built-in and adding a @fetchRequest private function.
+        * Modules/fetch/WorkerGlobalScopeFetch.js: Added.
+        (fetch):
+        * bindings/js/WebCoreBuiltinNames.h: Adding fetchRequest, setBody and Request private identifiers.
+        * bindings/scripts/CodeGenerator.pm:
+        (WK_lcfirst): Replacing dOM by dom.
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateImplementation): Adding support for runtime-enabled built-in methods and private methods.
+        * bindings/scripts/test/JS/JSTestGlobalObject.cpp:
+        (WebCore::JSTestGlobalObject::finishCreation):
+        (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction):
+        * bindings/scripts/test/ObjC/DOMTestGlobalObject.mm:
+        (-[DOMTestGlobalObject testJSBuiltinFunction]):
+        * bindings/scripts/test/TestGlobalObject.idl: Adding tests for runtime-enabled global built-in methods and private methods.
+
+2016-07-23  Frederic Wang  <fwang@igalia.com>
+
+        Reset font-style on the <math> element
+        https://bugs.webkit.org/show_bug.cgi?id=160074
+
+        Reviewed by Darin Adler.
+
+        Mathematical formulas with italic font-style render poorly (slanted operators, mathvariant
+        italic etc). We align on Gecko and make the user agent stylesheet reset the font-style to
+        'normal' by default. This addresses the concrete use case of formula inside theorem or
+        proposition statements, which are often written in italic.
+
+        Test: mathml/presentation/math-font-style.html
+
+        * css/mathml.css:
+        (math): Reset the font-style to normal.
+
+2016-07-23  Frederic Wang  <fwang@igalia.com>
+
+        [MathML] PaintInfo state is not properly restored after applyTransform.
+        https://bugs.webkit.org/show_bug.cgi?id=160077
+
+        Reviewed by Simon Fraser.
+
+        PaintInfo::applyTransform modifies PaintInfo::rect and the original state is not properly
+        restored by GraphicsContextStateSaver. To avoid some weird rendering bugs in MathOperator
+        and RenderMathMLMenclose, we follow what is done in SVG renderers and make a copy of the
+        original PaintInfo before applying the transform.
+
+        Test: mathml/presentation/bug160077.html
+
+        * rendering/mathml/MathOperator.cpp:
+        (WebCore::MathOperator::paint):
+        * rendering/mathml/RenderMathMLMenclose.cpp:
+        (WebCore::RenderMathMLMenclose::paint):
+
+2016-07-23  Youenn Fablet  <youenn@apple.com>
+
+        [Fetch API] Fetch response stream should enqueue Uint8Array
+        https://bugs.webkit.org/show_bug.cgi?id=160083
+
+        Reviewed by Sam Weinig.
+
+        Covered by updated tests.
+
+        Before enqueuing, ReadableStreamController::enqueue will convert ArrayBuffer as Uint8Array.
+        It also returns a boolean whether the operation is successful or not.
+
+        If returned value is false, calling code will stop loading or if everything is loaded it will refrain from closing the stream.
+        The enqueuing should be succesful except in OutOfMemory cases. This case is not yet handled in test cases.
+
+        Updated the code to remove templated enqueuing as Fetch has no use of it.
+
+        * Modules/fetch/FetchBody.cpp:
+        (WebCore::FetchBody::consumeAsStream): Do not close the stream if enqueuing failed.
+        * Modules/fetch/FetchBodyOwner.cpp:
+        (WebCore::FetchBodyOwner::blobChunk): Stop blob loading if enqueuing failed.
+        * Modules/fetch/FetchResponse.cpp:
+        (WebCore::FetchResponse::BodyLoader::didReceiveData): Stop resource loading if enqueuing failed.
+        (WebCore::FetchResponse::consumeBodyAsStream): Ditto.
+        * Modules/fetch/FetchResponseSource.h:
+        * bindings/js/ReadableStreamController.h:
+        (WebCore::ReadableStreamController::enqueue):
+        (WebCore::ReadableStreamController::enqueue<RefPtr<JSC::ArrayBuffer>>): Deleted.
+
+2016-07-22  Youenn Fablet  <youenn@apple.com>
+
+        Use a private property to implement FetchResponse.body getter
+        https://bugs.webkit.org/show_bug.cgi?id=159808
+
+        Reviewed by Sam Weinig.
+
+        Covered by existing test sets.
+
+        Previously, body was handled as a CachedAttribute.
+        Using a private property will allow direct use of this property from JS built-ins which will allow easier
+        handling of ReadableStream cloning in Response.clone.
+        Also, this allows removing some binding custom code.
+
+        Updated redirect and error static methods to take NewObject keyword, as this removes a search into cached wrappers.
+        Ditto for createReadableStreamSource.
+
+        * CMakeLists.txt: Removing JSFetchResponseCustom.cpp.
+        * Modules/fetch/FetchResponse.idl: Adding createReadableStreamSource and isDisturbed private functions.
+        Making body getter a JSBuiltin.
+        * Modules/fetch/FetchResponse.js:
+        (body): Adding getter which will call createReadableStreamSource if needed.
+        * WebCore.xcodeproj/project.pbxproj: Removing JSFetchResponseCustom.cpp.
+        * bindings/js/JSFetchResponseCustom.cpp: Removed.
+        * bindings/js/ReadableStreamController.cpp:
+        (WebCore::createReadableStream): Deleted.
+        (WebCore::getReadableStreamReader): Deleted.
+        * bindings/js/ReadableStreamController.h: Removing unneeded ReadableStream helper routine now that they can be
+        handled within JS built-in code.
+        * bindings/js/WebCoreBuiltinNames.h: Adding @createReadableStreamSource, @isDisturbed  and @Response identifiers.
+
+2016-07-22  Zalan Bujtas  <zalan@apple.com>
+
+        Handle cases when IOSurface initialization fails.
+        https://bugs.webkit.org/show_bug.cgi?id=160006
+        <rdar://problem/27495102>
+
+        Reviewed by Tim Horton and Simon Fraser.
+
+        This is an additional fix to r203514 to check if IOSurface initialization was successful.
+
+        Unable to test.
+
+        * platform/graphics/cg/ImageBufferCG.cpp:
+        (WebCore::ImageBuffer::ImageBuffer):
+        * platform/graphics/cocoa/IOSurface.h: Merge 2 c'tors.
+        * platform/graphics/cocoa/IOSurface.mm: Remove redundant IOSurface::create() code.  
+        (WebCore::IOSurface::create):
+        (WebCore::IOSurface::createFromImage):
+        (WebCore::IOSurface::IOSurface):
+        (WebCore::IOSurface::convertToFormat):
+
+2016-07-22  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        Media controls should be displayed for media in media documents
+        https://bugs.webkit.org/show_bug.cgi?id=160104
+        <rdar://problem/27438936>
+
+        Reviewed by Myles C. Maxfield.
+
+        Make videos that would otherwise not have been large enough or have the right
+        aspect ratio cause media controls to appear. This is because media elements in
+        a media document are implied to be main content.
+
+        Added a new API test.
+
+        * html/MediaElementSession.cpp:
+        (WebCore::MediaElementSession::canControlControlsManager):
+
+2016-07-22  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        All dancers with bunny ears are female
+        https://bugs.webkit.org/show_bug.cgi?id=160102
+        <rdar://problem/27453479>
+
+        Reviewed by Simon Fraser.
+
+        In r203330 I added support for new emoji group candidates. I accidentally
+        missed one of the new emoji code points.
+
+        Tests: editing/deleting/delete-emoji.html:
+               fast/text/emoji-gender-2-9.html:
+               fast/text/emoji-gender-9.html:
+               fast/text/emoji-gender-fe0f-9.html:
+
+        * platform/text/CharacterProperties.h:
+        (WebCore::isEmojiGroupCandidate):
+
+2016-07-22  Chris Dumez  <cdumez@apple.com>
+
+        Parameter to HTMLCollection.item() / namedItem() should be mandatory
+        https://bugs.webkit.org/show_bug.cgi?id=160099
+
+        Reviewed by Sam Weinig.
+
+        Parameter to HTMLCollection.item() / namedItem() should be mandatory:
+        - https://dom.spec.whatwg.org/#interface-htmlcollection
+        - https://html.spec.whatwg.org/multipage/infrastructure.html#htmlformcontrolscollection
+        - https://html.spec.whatwg.org/multipage/infrastructure.html#the-htmloptionscollection-interface
+
+        Firefox and Chrome agree with the specification.
+
+        No new tests, rebaselined existing tests.
+
+        * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
+        (WebCore::JSHTMLFormControlsCollection::namedItem):
+        * html/HTMLCollection.idl:
+        * html/HTMLFormControlsCollection.idl:
+        * html/HTMLOptionsCollection.idl:
+
+2016-07-22  Chris Dumez  <cdumez@apple.com>
+
+        First parameter to Window.getComputedStyle() should be mandatory and non-nullable
+        https://bugs.webkit.org/show_bug.cgi?id=160097
+
+        Reviewed by Ryosuke Niwa.
+
+        First parameter to Window.getComputedStyle() should be mandatory and
+        non-nullable:
+        - https://drafts.csswg.org/cssom/#extensions-to-the-window-interface
+
+        Firefox and Chrome agree with the specification.
+
+        Test: fast/dom/Window/getComputedStyle-missing-parameter.html
+
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::ComputedStyleExtractor::ComputedStyleExtractor):
+        (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
+        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+        (WebCore::CSSComputedStyleDeclaration::copyProperties):
+        (WebCore::CSSComputedStyleDeclaration::length):
+        (WebCore::CSSComputedStyleDeclaration::item):
+        (WebCore::CSSComputedStyleDeclaration::getPropertyValue):
+        * css/CSSComputedStyleDeclaration.h:
+        * dom/Document.idl:
+        * inspector/InspectorCSSAgent.cpp:
+        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
+        * page/DOMWindow.cpp:
+        (WebCore::DOMWindow::getComputedStyle):
+        * page/DOMWindow.h:
+        * page/DOMWindow.idl:
+        * testing/Internals.cpp:
+        (WebCore::Internals::computedStyleIncludingVisitedInfo):
+        * testing/Internals.h:
+        * testing/Internals.idl:
+
+2016-07-22  Brady Eidson  <beidson@apple.com>
+
+        Removing IndexedDatabases that have stored blobs doesn't remove the blob files.
+        https://bugs.webkit.org/show_bug.cgi?id=160089
+
+        Reviewed by Darin Adler.
+
+        Tested by API test IndexedDB.StoreBlobThenDelete.
+
+        Blob filenames exist in the IDB directory with the name "[0-9]+.blob".
+        
+        That is, one or more digits, followed by ".blob".
+        
+        So when we delete an IndexedDB.sqlite3 and related files, we should delete those blob files as well.
+        
+        * Modules/indexeddb/server/IDBServer.cpp:
+        (WebCore::IDBServer::removeAllDatabasesForOriginPath):
+
+2016-07-22  Chris Dumez  <cdumez@apple.com>
+
+        Fix default parameter values for window.alert() / prompt() / confirm()
+        https://bugs.webkit.org/show_bug.cgi?id=160085
+
+        Reviewed by Ryosuke Niwa.
+
+        Fix default parameter values for window.alert() / prompt() / confirm() to
+        match the specification:
+        - https://html.spec.whatwg.org/multipage/browsers.html#the-window-object
+
+        They should default to the empty string, not the string "undefined".
+
+        Firefox and chrome agree with the specification.
+
+        No new tests, updated existing test.
+
+        * page/DOMWindow.h:
+        * page/DOMWindow.idl:
+
+2016-07-22  Daniel Bates  <dabates@apple.com>
+
+        CSP: object-src and plugin-types directives are not respected for plugin replacements
+        https://bugs.webkit.org/show_bug.cgi?id=159761
+        <rdar://problem/27365724>
+
+        Reviewed by Brent Fulgham.
+
+        Apply the Content Security Policy (CSP) object-src and plugin-types directives to content that will
+        load with a plugin replacement.
+
+        Tests: security/contentSecurityPolicy/object-src-none-blocks-quicktime-plugin-replacement.html
+               security/contentSecurityPolicy/object-src-none-blocks-youtube-plugin-replacement.html
+               security/contentSecurityPolicy/plugins-types-allows-quicktime-plugin-replacement.html
+               security/contentSecurityPolicy/plugins-types-allows-youtube-plugin-replacement.html
+               security/contentSecurityPolicy/plugins-types-blocks-quicktime-plugin-replacement-without-mime-type.html
+               security/contentSecurityPolicy/plugins-types-blocks-quicktime-plugin-replacement.html
+               security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement-without-mime-type.html
+               security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement.html
+
+        * html/HTMLPlugInImageElement.cpp:
+        (WebCore::HTMLPlugInImageElement::allowedToLoadPluginContent): Added.
+        (WebCore::HTMLPlugInImageElement::requestObject): Only request loading plugin content if we
+        are allowed to load such content.
+        * html/HTMLPlugInImageElement.h:
+        * loader/SubframeLoader.cpp:
+        (WebCore::SubframeLoader::pluginIsLoadable): Removed code to check CSP as we will check CSP
+        earlier in HTMLPlugInImageElement::requestObject().
+        (WebCore::SubframeLoader::requestPlugin): Ditto.
+        (WebCore::SubframeLoader::isPluginContentAllowedByContentSecurityPolicy): Deleted; moved implementation
+        to HTMLPlugInImageElement::allowedToLoadPluginContent().
+        (WebCore::SubframeLoader::requestObject): Deleted.
+        * loader/SubframeLoader.h:
+        * page/csp/ContentSecurityPolicy.cpp:
+        (WebCore::ContentSecurityPolicy::upgradeInsecureRequestIfNeeded): Changed signature from a non-const
+        function to a const function since these functions do not modify |this|.
+        * page/csp/ContentSecurityPolicy.h: 
+
+2016-07-22  Chris Dumez  <cdumez@apple.com>
+
+        Parameters to Node.replaceChild() / insertBefore() should be mandatory
+        https://bugs.webkit.org/show_bug.cgi?id=160091
+
+        Reviewed by Darin Adler.
+
+        Parameters to Node.replaceChild() / insertBefore() should be mandatory:
+        - https://dom.spec.whatwg.org/#node
+
+        The compatibility risk should be low since Firefox and Chrome both agree
+        with the specification and because it does not make much sense to omit
+        parameters when using this API.
+
+        No new tests, rebaselined existing tests.
+
+        * bindings/js/JSNodeCustom.cpp:
+        (WebCore::JSNode::insertBefore):
+        (WebCore::JSNode::replaceChild):
+
+2016-07-22  Chris Dumez  <cdumez@apple.com>
+
+        Parameter to Node.contains() should be mandatory
+        https://bugs.webkit.org/show_bug.cgi?id=160084
+
+        Reviewed by Darin Adler.
+
+        Parameter to Node.contains() should be mandatory as per the
+        specification:
+        - https://dom.spec.whatwg.org/#node
+
+        The compatibility risk should be low because both Firefox and Chrome
+        both agree with the specification. Also, it does not make much sense
+        to call this API without parameter.
+
+        No new tests, rebaselined existing tests.
+
+        * dom/Node.idl:
+
+2016-07-22  Said Abou-Hallawa  <sabouhallawa@apple.com>
+
+        [iOS] REGRESSION(203378): PDFDocumentImage::updateCachedImageIfNeeded() uses the unscaled size when deciding whether to cache the PDF image
+        https://bugs.webkit.org/show_bug.cgi?id=159933
+
+        Reviewed by Simon Fraser.
+
+        We need to use the scaled size when deciding whether to cache the PDF image
+        or not. This is because ImageBuffer takes the display resolution into account
+        which gives higher resolution for the image when zooming.
+
+        * platform/graphics/cg/PDFDocumentImage.cpp:
+        (WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
+
+2016-07-22  Chris Dumez  <cdumez@apple.com>
+
+        First parameter to getElementById() should be mandatory
+        https://bugs.webkit.org/show_bug.cgi?id=160087
+
+        Reviewed by Darin Adler.
+
+        First parameter to getElementById() should be mandatory:
+        - https://dom.spec.whatwg.org/#nonelementparentnode
+        - https://www.w3.org/TR/SVG/struct.html#InterfaceSVGSVGElement
+
+        Both Firefox and Chrome agree with the specification.
+
+        Test: svg/dom/SVGSVGElement-getElementById.html
+
+        * dom/NonElementParentNode.idl:
+        * svg/SVGSVGElement.idl:
+
+2016-07-22  Chris Dumez  <cdumez@apple.com>
+
+        Parameter to Node.lookupPrefix() / lookupNamespaceURI() / isDefaultNamespace() should be mandatory
+        https://bugs.webkit.org/show_bug.cgi?id=160086
+
+        Reviewed by Darin Adler.
+
+        Parameter to Node.lookupPrefix() / lookupNamespaceURI() / isDefaultNamespace()
+        should be mandatory:
+        - https://dom.spec.whatwg.org/#node
+
+        Firefox and Chrome both agree with the specification.
+
+        No new tests, rebaselined existing tests.
+
+        * dom/Node.idl:
+
+2016-07-22  Chris Dumez  <cdumez@apple.com>
+
+        Parameter to Node.compareDocumentPosition() should be mandatory and non-nullable
+        https://bugs.webkit.org/show_bug.cgi?id=160071
+
+        Reviewed by Ryosuke Niwa.
+
+        
+        Parameter to Node.compareDocumentPosition() should be mandatory and
+        non-nullable:
+        - https://dom.spec.whatwg.org/#interface-node
+
+        Firefox and Chrome agree with the specification so the compatibility
+        risk should be low. Also, it does not make much sense to call this
+        operation without parameter.
+
+        No new tests, rebaselined existing tests.
+
+        * accessibility/AccessibilityObject.cpp:
+        (WebCore::rangeClosestToRange):
+        * dom/AuthorStyleSheets.cpp:
+        (WebCore::AuthorStyleSheets::addStyleSheetCandidateNode):
+        * dom/Node.cpp:
+        (WebCore::compareDetachedElementsPosition):
+        (WebCore::Node::compareDocumentPosition):
+        * dom/Node.h:
+        * dom/Node.idl:
+        * dom/Position.h:
+        (WebCore::operator<):
+        * html/HTMLFormElement.cpp:
+        (WebCore::HTMLFormElement::formElementIndexWithFormAttribute):
+        (WebCore::HTMLFormElement::formElementIndex):
+        * rendering/RenderNamedFlowThread.cpp:
+        (WebCore::RenderNamedFlowThread::nextRendererForElement):
+        (WebCore::compareRenderNamedFlowFragments):
+        (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
+
+2016-07-22  Konstantin Tokarev  <annulen@yandex.ru>
+
+        [cmake] Removed obsolete plugins/win directory
+        https://bugs.webkit.org/show_bug.cgi?id=160081
+
+        Reviewed by Per Arne Vollan.
+
+        It was removed in r178219.
+
+        No new tests needed.
+
+        * PlatformWin.cmake:
+
+2016-07-22  Youenn Fablet  <youenn@apple.com>
+
+        run-builtins-generator-tests should be able to test WebCore builtins wrapper with more than one file
+        https://bugs.webkit.org/show_bug.cgi?id=159921
+
+        Reviewed by Brian Burg.
+
+        Covered by existing and added built-ins tests.
+
+        Updating built system according ---wrappers-only new meaning.
+        builtin generator is now called for each individual built-in file plus once for WebCore wrapper files.
+        WebCore wrapper files allow handling things like conditionally guarded features.
+        They also remove the need to use built-ins macros outside generated code.
+
+        * CMakeLists.txt:
+        * DerivedSources.make:
+
+2016-07-21  Frederic Wang  <fwang@igalia.com>
+
+        Move parsing of accentunder and accent attributes from renderer to element classes
+        https://bugs.webkit.org/show_bug.cgi?id=159625
+
+        Reviewed by Brent Fulgham.
+
+        We introduce a new MathMLUnderOverElement that is used for elements munder, mover and
+        munderover in order to create RenderMathMLUnderOver and parse and expose the values of the
+        accent and accentunder attributes. This is one more step toward moving MathML attribute
+        parsing to the DOM (bug 156536). We also do minor clean-up for this and previous renderer
+        classes that no longer do attribute parsing: the MathMLNames namespace is no longer necessary
+        and constructors can take a more accurate element type.
+
+        No new tests, already covered by existing test.
+
+        * CMakeLists.txt: Add MathMLUnderOverElement files.
+        * WebCore.xcodeproj/project.pbxproj: Ditto.
+        * mathml/MathMLAllInOne.cpp: Ditto.
+        * mathml/MathMLElement.cpp:
+        (WebCore::MathMLElement::cachedBooleanAttribute): Add parsing of boolean attributes.
+        * mathml/MathMLElement.h: New type and helper functions for boolean attributes.
+        * mathml/MathMLInlineContainerElement.cpp:
+        (WebCore::MathMLInlineContainerElement::createElementRenderer): Remove handling of
+        under/over/underover elements.
+        * mathml/MathMLScriptsElement.cpp:
+        (WebCore::MathMLScriptsElement::MathMLScriptsElement): Remove inline keyword to avoid link
+        errors now that MathMLUnderOverElement overrides that class.
+        * mathml/MathMLScriptsElement.h: Allow MathMLUnderOverElement to override this class.
+        * mathml/MathMLUnderOverElement.cpp:
+        (WebCore::MathMLUnderOverElement::MathMLUnderOverElement):
+        (WebCore::MathMLUnderOverElement::create):
+        (WebCore::MathMLUnderOverElement::accent): Helper function to access the accent value.
+        (WebCore::MathMLUnderOverElement::accentUnder): Helper function to access the accentunder value.
+        (WebCore::MathMLUnderOverElement::parseAttribute): Make accent and accentunder dirty.
+        (WebCore::MathMLUnderOverElement::createElementRenderer): Create RenderMathMLUnderOver
+        * mathml/MathMLUnderOverElement.h:
+        * mathml/mathtags.in: Map under/over/underover to MathMLUnderOverElement.
+        * rendering/mathml/RenderMathMLFraction.cpp: Remove MathMLNames and make the constructor
+        take a MathMLFractionElement.
+        (WebCore::RenderMathMLFraction::RenderMathMLFraction):
+        * rendering/mathml/RenderMathMLFraction.h:
+        * rendering/mathml/RenderMathMLPadded.cpp: Remove MathMLNames and make the constructor
+        take a MathMLPaddedElement.
+        (WebCore::RenderMathMLPadded::RenderMathMLPadded):
+        * rendering/mathml/RenderMathMLPadded.h:
+        * rendering/mathml/RenderMathMLScripts.cpp: Remove MathMLNames and make the constructor
+        take a MathMLScriptsElement. Also rename scriptsElement() to element().
+        (WebCore::RenderMathMLScripts::RenderMathMLScripts):
+        (WebCore::RenderMathMLScripts::element):
+        (WebCore::RenderMathMLScripts::getScriptMetricsAndLayoutIfNeeded):
+        (WebCore::RenderMathMLScripts::scriptsElement): Deleted.
+        * rendering/mathml/RenderMathMLScripts.h:
+        * rendering/mathml/RenderMathMLUnderOver.cpp: Remove MathMLNames and make the constructor
+        take a RenderMathMLUnderOver.
+        (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver):
+        (WebCore::RenderMathMLUnderOver::element):
+        (WebCore::RenderMathMLUnderOver::hasAccent): Use the helper functions for accent and accentunder.
+        * rendering/mathml/RenderMathMLUnderOver.h:
+
+2016-07-21  Chris Dumez  <cdumez@apple.com>
+
+        Parameter to Node.isSameNode() / isEqualNode() should be mandatory
+        https://bugs.webkit.org/show_bug.cgi?id=160070
+
+        Reviewed by Ryosuke Niwa.
+
+        Parameter to Node.isSameNode() / isEqualNode() should be mandatory as
+        per the specification:
+        - https://dom.spec.whatwg.org/#interface-node
+
+        Chrome and Firefox agree with the specification (although Firefox does
+        not support isSameNode()).
+
+        No new tests, rebaselined existing tests.
+
+        * dom/Node.idl:
+
+2016-07-21  Chris Dumez  <cdumez@apple.com>
+
+        Parameter to Document.createEvent() should be mandatory
+        https://bugs.webkit.org/show_bug.cgi?id=160065
+
+        Reviewed by Darin Adler.
+
+        Parameter to Document.createEvent() should be mandatory as per the
+        specification:
+        - https://dom.spec.whatwg.org/#document
+
+        We already throw anyway when the parameter is omitted because we use
+        "undefined" as event type, which is invalid. However, we throw the
+        wrong exception.
+
+        Firefox and Chrome agree with the specification here.
+
+        No new tests, rebaselined existing tests.
+
+        * dom/Document.idl:
+
+2016-07-21  Brian Burg  <bburg@apple.com>
+
+        REGRESSION(r62549): Objective-C DOM bindings sometimes fail to regenerate when CodeGenerator.pm is modified
+        https://bugs.webkit.org/show_bug.cgi?id=160031
+
+        Reviewed by Darin Adler.
+
+        This bug was caused by a refactoring 6 years ago. Not all uses of a variable
+        were renamed, so the ObjC bindings target pattern was not specifying any
+        build scripts as target dependencies.
+
+        * DerivedSources.make: Standardize on {COMMON,JS,DOM}_BINDINGS_SCRIPTS.
+
+2016-07-21  Darin Adler  <darin@apple.com>
+
+        Remove unneeded content attribute name "playsinline"
+        https://bugs.webkit.org/show_bug.cgi?id=160069
+
+        Reviewed by Chris Dumez.
+
+        * html/HTMLVideoElement.idl: Removed explicit content attribute name on Reflect
+        attribute since it is the same as the name that the code generator will generate.
+
+2016-07-21  Chris Dumez  <cdumez@apple.com>
+
+        Make parameters to Element.getElementsBy*() operations mandatory
+        https://bugs.webkit.org/show_bug.cgi?id=160060
+
+        Reviewed by Darin Adler.
+
+        Make parameters to Element.getElementsBy*() operations mandatory to
+        match the specification:
+        - https://dom.spec.whatwg.org/#interface-element
+
+        Firefox and Chrome agree with the specification so the compatibility
+        risk should be low.
+
+        It makes very little sense to call these operations without parameter,
+        especially considering WebKit uses the string "undefined" if the
+        parameter is omitted.
+
+        No new tests, rebaselined existing tests.
+
+        * dom/Element.idl:
+
+2016-07-21  Chris Dumez  <cdumez@apple.com>
+
+        Make parameters mandatory for attribute-related API on Element
+        https://bugs.webkit.org/show_bug.cgi?id=160059
+
+        Reviewed by Ryosuke Niwa.
+
+        Make parameters mandatory for attribute-related API on Element to match
+        the specification:
+        - https://dom.spec.whatwg.org/#element
+
+        Firefox and Chrome agree with the specification. Calling this API
+        without the parameters does not make much sense, especially considering
+        WebKit uses the string "undefined" when the parameter is omitted.
+
+        No new tests, rebaselined existing tests.
+
+        * dom/Element.idl:
+
 2016-07-21  Myles C. Maxfield  <mmaxfield@apple.com>
 
         Remove support for deprecated SPI inlineMediaPlaybackRequiresPlaysInlineAttribute