RenderBox::haveSameDirection is used only by table items.
[WebKit-https.git] / Source / WebCore / ChangeLog
index 15ecde6..a9fa384 100644 (file)
@@ -1,3 +1,569 @@
+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*