REGRESSION (r238078): Do not draw caps lock indicator when Strong Password button...
[WebKit-https.git] / Source / WebCore / ChangeLog
index 4ae641d..9917e8f 100644 (file)
+2018-11-26  Daniel Bates  <dabates@apple.com>
+
+        REGRESSION (r238078): Do not draw caps lock indicator when Strong Password button is shown
+        https://bugs.webkit.org/show_bug.cgi?id=191969
+        <rdar://problem/46247569>
+
+        Reviewed by Dean Jackson.
+
+        Following r238078 we now support drawing the caps lock indicator in password fields on iOS.
+        However it is not meaningful to show the caps lock indicator when the Strong Password button
+        is visible because the password field is not editable. We should not paint the caps lock
+        indicator when the Strong Password button is visible.
+
+        Tests: fast/forms/auto-fill-button/caps-lock-indicator-should-be-visible-when-after-hiding-auto-fill-strong-password-button.html
+               fast/forms/auto-fill-button/caps-lock-indicator-should-not-be-visible-when-auto-fill-strong-password-button-is-visible.html
+
+        * html/TextFieldInputType.cpp:
+        (WebCore::TextFieldInputType::shouldDrawCapsLockIndicator const): Do not draw the caps
+        lock indicator when the password field has the Strong Password button.
+        (WebCore::TextFieldInputType::updateAutoFillButton): Call capsLockStateMayHaveChanged() to
+        update the visibility of the caps lock indicator when the auto fill button has changed.
+
+2018-11-26  Sam Weinig  <sam@webkit.org>
+
+        Streamline ListHashSet use in floating object code
+        https://bugs.webkit.org/show_bug.cgi?id=191957
+
+        Reviewed by Alex Christensen.
+
+        Simplify use of ListHashSet by using new raw pointer overloads and
+        making use of reversed order of template arguments in the find() and
+        contains() overloads that take hash translators.  
+
+        * rendering/FloatingObjects.cpp:
+        (WebCore::FloatingObjects::remove):
+        Use raw pointer overloads of contains and remove. Remove seperate call
+        to find / check agains end() which is unnecessary as remove() already
+        does that.
+        
+        * rendering/FloatingObjects.h:
+        (WebCore::FloatingObjectHashFunctions::hash):
+        (WebCore::FloatingObjectHashFunctions::equal):
+        (WebCore::FloatingObjectHashTranslator::hash):
+        (WebCore::FloatingObjectHashTranslator::equal):
+        Add hash()/equal() overloads for the raw pointer cases. As the FIXME
+        notes, this could be simplified by changing PtrHashBase to use designated
+        bottleneck functions for hash() and equal().
+
+        * rendering/RenderBlockFlow.cpp:
+        (WebCore::RenderBlockFlow::containsFloat const):
+        (WebCore::RenderBlockFlow::insertFloatingObject):
+        (WebCore::RenderBlockFlow::removeFloatingObject):
+        (WebCore::RenderBlockFlow::hasOverhangingFloat):
+        (WebCore::RenderBlockFlow::addIntrudingFloats):
+        Use simplified calls.
+        
+        * rendering/RenderBlockLineLayout.cpp:
+        (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
+        (WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
+        Use simplified calls.
+
+2018-11-26  Jeremy Jones  <jeremyj@apple.com>
+
+        Use Full Screen consistently in localizable strings.
+        https://bugs.webkit.org/show_bug.cgi?id=190363
+        rdar://problem/43882333
+
+        Reviewed by Jon Lee.
+
+        No new tests because only change is to localizable strings.
+
+        Rename "Fullscreen" to "Full Screen" in localizable strings for consistency.
+
+        * English.lproj/Localizable.strings:
+        * platform/LocalizedStrings.cpp:
+        (WebCore::contextMenuItemTagEnterVideoFullscreen):
+        (WebCore::contextMenuItemTagExitVideoFullscreen):
+        (WebCore::localizedMediaControlElementHelpText):
+
+2018-11-26  Brent Fulgham  <bfulgham@apple.com>
+
+        [Win] Reduce the use of WKSI library calls: CoreAnimation
+        https://bugs.webkit.org/show_bug.cgi?id=191777
+        <rdar://problem/46140542>
+
+        Reviewed by Zalan Bujtas.
+
+        Update the Windows build of WebKit to refer to the SPI headers, rather than WebKitSystemInterface.
+        Move a small amount of glue code from WKSI to WebCore, and remove any includes or link
+        directives for WebKitSystemInterface.lib.
+        
+        No new tests. No change in behavior.
+
+        * platform/graphics/BitmapImage.cpp:
+        * platform/graphics/ca/win/CACFLayerTreeHost.h:
+        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
+        (layerTreeHostForLayer):
+        * platform/graphics/cg/GraphicsContextCG.cpp:
+        * platform/graphics/cg/PathCG.cpp:
+        * platform/graphics/cg/PatternCG.cpp:
+        * platform/graphics/win/WKCAImageQueue.cpp:
+
+2018-11-25  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC][IFC] Use float box's margin box to adjust the line constraints.
+        https://bugs.webkit.org/show_bug.cgi?id=191961
+
+        Reviewed by Antti Koivisto.
+
+        Test: fast/inline/inline-content-with-float-and-margin.html
+
+        (WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded):
+        (WebCore::Layout::LayoutState::verifyAndOutputMismatchingLayoutTree const):
+        * layout/inlineformatting/InlineFormattingContext.cpp:
+        (WebCore::Layout::InlineFormattingContext::layoutInlineContent const):
+
+2018-11-26  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [GTK] Accessing default web context before gtk_init results in drawing failure (Gtk-WARNING **: drawing failure for widget 'WebKitWebView': invalid value for an input Visual*)
+        https://bugs.webkit.org/show_bug.cgi?id=150303
+
+        Reviewed by Michael Catanzaro.
+
+        Ensure gtk has been initialized before trying to get the default display.
+
+        * platform/graphics/PlatformDisplay.cpp:
+        (WebCore::PlatformDisplay::createPlatformDisplay):
+
+2018-11-26  Javier Fernandez  <jfernandez@igalia.com>
+
+        [css-grid] absolute positioned child is sized wrongly when using auto-fit, generating spurious collapsed tracks
+        https://bugs.webkit.org/show_bug.cgi?id=191938
+
+        Reviewed by Manuel Rego Casasnovas.
+
+        The guttersSize function has a complex logic to compute the gaps in a
+        specific GridSpan, considering different scenarios of collapsed tracks
+        for such span.
+
+        The first case is avoiding the duplicated gap because of trailing
+        collapsed tracks.
+
+        The second case considered is looking for non-empty tracks before the
+        GridSpan end, if it points to an empty track, so we must add this gap.
+
+        The last case is to consider the gap of non-empty tracks after the
+        GridSpan end line, if it points to an empty track.
+
+        There are several cases that are not considered or incorrectly computed.
+        This patch addresses those cases; basically, we should only consider gaps
+        when there are non-empty tracks before and after the collapsed tracks.
+        Additionally, we should avoid duplicating the gaps size adding both,
+        before and after non-empty track's gap.
+
+        No new tests, this change is covered by current tests and make several cases to pass now.
+
+        * rendering/RenderGrid.cpp:
+        (WebCore::RenderGrid::guttersSize const):
+
+2018-11-26  Manuel Rego Casasnovas  <rego@igalia.com>
+
+        [css-grid] Fix grid container sizing under min-content height
+        https://bugs.webkit.org/show_bug.cgi?id=191889
+
+        Reviewed by Javier Fernandez.
+
+        The spec is quite clear
+        (https://drafts.csswg.org/css-sizing/#valdef-width-min-content):
+          "min-content
+             If specified for the inline axis, use the min-content inline size;
+             otherwise behaves as the property’s initial value."
+
+        So if a grid container has "height: min-content" it should behave
+        the same than with "height: auto".
+
+        The patch removes computeIntrinsicLogicalContentHeightUsing() in
+        RenderGrid as we don't need a custom one anymore.
+        We can also get rid of m_minContentHeight and m_maxContentHeight
+        attributes that were only used for this logic.
+
+        Test: fast/css-grid-layout/grid-track-sizing-with-orthogonal-flows.html
+              fast/css-grid-layout/maximize-tracks-definite-indefinite-height.html
+              imported/w3c/web-platform-tests/css/css-grid/grid-model/grid-container-sizing-constraints-001.html
+
+        * rendering/RenderGrid.cpp:
+        (WebCore::RenderGrid::layoutBlock):
+        (WebCore::RenderGrid::computeIntrinsicLogicalWidths const):
+        (WebCore::RenderGrid::computeTrackSizesForIndefiniteSize const):
+        * rendering/RenderGrid.h:
+
+2018-11-25  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC] Remove PointInContainingBlock and PositionInContainingBlock
+        https://bugs.webkit.org/show_bug.cgi?id=191954
+
+        Reviewed by Antti Koivisto.
+
+        Use Point and Position instead. Points and positions are by default in the containing block's coordinate system.
+
+        * layout/FormattingContextGeometry.cpp:
+        (WebCore::Layout::contentHeightForFormattingContextRoot):
+        * layout/LayoutUnits.h:
+        (WebCore::Layout::Position::operator LayoutUnit const):
+        (WebCore::Layout::operator<):
+        (WebCore::Layout::operator==):
+        * layout/floats/FloatAvoider.cpp:
+        (WebCore::Layout::FloatAvoider::FloatAvoider):
+        (WebCore::Layout::FloatAvoider::setHorizontalConstraints):
+        (WebCore::Layout::FloatAvoider::horizontalPositionCandidate):
+        (WebCore::Layout::FloatAvoider::initialHorizontalPosition const):
+        * layout/floats/FloatBox.cpp:
+        (WebCore::Layout::FloatBox::horizontalPositionCandidate):
+        (WebCore::Layout::FloatBox::verticalPositionCandidate):
+        (WebCore::Layout::FloatBox::initialVerticalPosition const):
+        * layout/floats/FloatingContext.cpp:
+        (WebCore::Layout::FloatingContext::positionForFloat const):
+        (WebCore::Layout::FloatingContext::positionForFloatAvoiding const):
+        (WebCore::Layout::FloatingContext::verticalPositionWithClearance const):
+        (WebCore::Layout::FloatingContext::floatingPosition const):
+        (WebCore::Layout::FloatingPair::horizontalConstraints const):
+        (WebCore::Layout::FloatingPair::bottom const):
+        * layout/floats/FloatingContext.h:
+        * layout/floats/FloatingState.cpp:
+        (WebCore::Layout::FloatingState::constraints const):
+        (WebCore::Layout::FloatingState::bottom const):
+        * layout/floats/FloatingState.h:
+        (WebCore::Layout::FloatingState::FloatItem::bottom const):
+        * layout/inlineformatting/InlineFormattingContext.cpp:
+        (WebCore::Layout::InlineFormattingContext::initializeNewLine const):
+
+2018-11-25  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC] Rename Layout::Position to Layout::Point
+        https://bugs.webkit.org/show_bug.cgi?id=191950
+
+        Reviewed by Antti Koivisto.
+
+        It actually represents a point.
+
+        * layout/FormattingContext.cpp:
+        (WebCore::Layout::FormattingContext::mapTopLeftToAncestor):
+        (WebCore::Layout::FormattingContext::mapCoordinateToAncestor):
+        * layout/FormattingContext.h:
+        * layout/LayoutUnits.h:
+        (WebCore::Layout::Point::Point):
+        (WebCore::Layout::Point::moveBy):
+        (WebCore::Layout::Position::operator LayoutPoint const): Deleted.
+        (WebCore::Layout::Position::Position): Deleted.
+        (WebCore::Layout::Position::moveBy): Deleted.
+        * layout/blockformatting/BlockFormattingContext.h:
+        * layout/blockformatting/BlockFormattingContextGeometry.cpp:
+        (WebCore::Layout::BlockFormattingContext::Geometry::staticPosition):
+        * layout/floats/FloatingState.cpp:
+        (WebCore::Layout::FloatingState::constraints const):
+
+2018-11-25  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC] Floating code should use typed positions (PositionInContextRoot).
+        https://bugs.webkit.org/show_bug.cgi?id=191949
+
+        Reviewed by Antti Koivisto.
+
+        Use PositionInContextRoot instead of LayoutUnit.
+
+        * layout/floats/FloatingState.cpp:
+        (WebCore::Layout::FloatingState::constraints const):
+        (WebCore::Layout::FloatingState::bottom const):
+        * layout/floats/FloatingState.h:
+        (WebCore::Layout::FloatingState::leftBottom const):
+        (WebCore::Layout::FloatingState::rightBottom const):
+        (WebCore::Layout::FloatingState::bottom const):
+
+2018-11-25  Zalan Bujtas  <zalan@apple.com>
+
+        Fix build after r238472.
+
+        * layout/inlineformatting/InlineFormattingContext.cpp:
+        (WebCore::Layout::InlineFormattingContext::splitInlineRunIfNeeded const):
+        * layout/inlineformatting/InlineFormattingContextGeometry.cpp:
+        (WebCore::Layout::InlineFormattingContext::Geometry::runWidth):
+        * layout/inlineformatting/InlineLineBreaker.cpp:
+        (WebCore::Layout::InlineLineBreaker::textWidth const):
+
+2018-11-25  Tim Horton  <timothy_horton@apple.com>
+
+        Make it possible to insert editable images with a gesture
+        https://bugs.webkit.org/show_bug.cgi?id=191937
+
+        Reviewed by Wenson Hsieh.
+
+        Tests:
+            editing/images/redo-insert-editable-image-maintains-strokes.html,
+            editing/images/undo-insert-editable-image.html,
+            editing/images/basic-editable-image-from-execCommand.html
+
+        * Sources.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+        * Source/WebCore/editing/EditorCommand.cpp:
+        * Source/WebCore/en.lproj/Localizable.strings:
+        * editing/EditAction.h:
+        * editing/Editor.cpp:
+        (WebCore::Editor::insertEditableImage):
+        * editing/Editor.h:
+        * editing/InsertEditableImageCommand.cpp: Added.
+        (WebCore::InsertEditableImageCommand::InsertEditableImageCommand):
+        (WebCore::InsertEditableImageCommand::doApply):
+        * editing/InsertEditableImageCommand.h: Added.
+        (WebCore::InsertEditableImageCommand::create):
+        * editing/VisibleSelection.cpp:
+        Add an editor command that inserts an editable image.
+        It will likely get a bit more complicated, but for now it just inserts
+        a 100% by 300px editable image.
+
+2018-11-24  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        [Cocoa] Fix a few localizable string descriptions in WebEditCommandProxy.cpp and WebEditorClient.mm
+        https://bugs.webkit.org/show_bug.cgi?id=191945
+
+        Reviewed by Anders Carlsson.
+
+        Run `update-webkit-localizable-strings`.
+
+        * en.lproj/Localizable.strings:
+
+2018-11-24  Sam Weinig  <sam@webkit.org>
+
+        Remove now unnecessary specialized ListHashSet from InlineItem.h
+        https://bugs.webkit.org/show_bug.cgi?id=191946
+
+        Reviewed by Zalan Bujtas.
+
+        Now that ListHashSet supports raw pointer overloads for smart pointers,
+        we can fix the FIXME in InlineItem.h and remove the specialized ListHashSet
+        and ListHashSet::find calls.
+
+        * layout/inlineformatting/InlineFormattingContext.cpp:
+        (WebCore::Layout::InlineFormattingContext::splitInlineRunIfNeeded const):
+        (WebCore::Layout::InlineFormattingContext::collectInlineContentForSubtree const):
+        * layout/inlineformatting/InlineFormattingContextGeometry.cpp:
+        (WebCore::Layout::InlineFormattingContext::Geometry::runWidth):
+        * layout/inlineformatting/InlineItem.h:
+        (WebCore::Layout::InlineItemHashFunctions::hash): Deleted.
+        (WebCore::Layout::InlineItemHashFunctions::equal): Deleted.
+        (WebCore::Layout::InlineItemHashTranslator::hash): Deleted.
+        (WebCore::Layout::InlineItemHashTranslator::equal): Deleted.
+        * layout/inlineformatting/InlineLineBreaker.cpp:
+        (WebCore::Layout::InlineLineBreaker::textWidth const):
+
+2018-11-24  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        [Cocoa] Add WKWebView SPI to trigger and remove data detection
+        https://bugs.webkit.org/show_bug.cgi?id=191918
+        <rdar://problem/36185051>
+
+        Reviewed by Tim Horton.
+
+        Add a helper method on DataDetection to remove all data detected links in the given document. See WebKit changes
+        for more detail.
+
+        * editing/cocoa/DataDetection.h:
+        * editing/cocoa/DataDetection.mm:
+        (WebCore::DataDetection::removeDataDetectedLinksInDocument):
+
+2018-11-24  Andy Estes  <aestes@apple.com>
+
+        [Cocoa] SOFT_LINK_CLASS_FOR_{HEADER,SOURCE} should generate a more concise getter function
+        https://bugs.webkit.org/show_bug.cgi?id=191899
+
+        Reviewed by Dean Jackson.
+
+        * editing/cocoa/DataDetection.mm:
+        * editing/cocoa/FontAttributesCocoa.mm:
+        * editing/cocoa/FontShadowCocoa.mm:
+        * platform/cocoa/DataDetectorsCoreSoftLink.h:
+        * platform/graphics/cocoa/ColorCocoa.mm:
+        * platform/ios/PlatformScreenIOS.mm:
+
+2018-11-23  Jiewen Tan  <jiewen_tan@apple.com>
+
+        [WebAuthN] Enable Web Authentication as an experimental feature for macOS
+        https://bugs.webkit.org/show_bug.cgi?id=191932
+        rdar://problem/46225210
+
+        Reviewed by Brent Fulgham.
+
+        Add myself to the contact of Web Authentication.
+
+        * features.json:
+
+2018-11-23  Ryosuke Niwa  <rniwa@webkit.org>
+
+        REGRESSION (r236785): Nullptr crash in StyledMarkupAccumulator::traverseNodesForSerialization
+        https://bugs.webkit.org/show_bug.cgi?id=191921
+
+        Reviewed by Dean Jackson.
+
+        The bug was caused by traverseNodesForSerialization not being able to traverse past the end of shadow root
+        when skipping children of a node for which enterNode returns false because  it was using NodeTraversal's
+        nextSkippingChildren instead of a member function which supports traversing the composed tree.
+
+        Fixed the crash by using variant of nextSkippingChildren which knows how to traverse past the last node
+        in a shadow tree. Also added more assertions to help debug issues like this in the future.
+
+        Test: editing/pasteboard/copy-paste-across-shadow-boundaries-5.html
+
+        * editing/markup.cpp:
+        (WebCore::StyledMarkupAccumulator::traverseNodesForSerialization):
+
+2018-11-22  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Updating href on textPath doesn't update its rendering
+        https://bugs.webkit.org/show_bug.cgi?id=191920
+
+        Reviewed by Dean Jackson.
+
+        Fixed the bug by invalidating the RenderSVGResource in SVGTextPathElement::svgAttributeChanged
+        in addition to updating the pending resources.
+
+        Test: svg/text/textpath-reference-update.html
+
+        * svg/SVGTextPathElement.cpp:
+        (WebCore::SVGTextPathElement::svgAttributeChanged):
+
+2018-11-23  Ross Kirsling  <ross.kirsling@sony.com>
+
+        Introduce user-defined literal for LayoutUnit
+        https://bugs.webkit.org/show_bug.cgi?id=191915
+
+        Reviewed by Dean Jackson.
+
+        * platform/LayoutUnit.h:
+        Introduce a user-defined literal for LayoutUnit, _lu, replacing the existing "fromPixel" factory function.
+
+        * layout/FormattingContextGeometry.cpp:
+        * layout/inlineformatting/InlineFormattingContextGeometry.cpp:
+        * layout/inlineformatting/InlineLineBreaker.cpp:
+        * page/FrameView.cpp:
+        * page/FrameViewLayoutContext.h:
+        * page/Page.cpp:
+        * page/SpatialNavigation.h:
+        * platform/ScrollableArea.cpp:
+        * rendering/EllipsisBox.cpp:
+        * rendering/FlexibleBoxAlgorithm.cpp:
+        * rendering/FloatingObjects.cpp:
+        * rendering/GridLayoutFunctions.cpp:
+        * rendering/GridTrackSizingAlgorithm.cpp:
+        * rendering/InlineFlowBox.cpp:
+        * rendering/InlineTextBox.cpp:
+        * rendering/LayoutState.h:
+        * rendering/LogicalSelectionOffsetCaches.h:
+        * rendering/RenderBlock.cpp:
+        * rendering/RenderBlock.h:
+        * rendering/RenderBlockFlow.cpp:
+        * rendering/RenderBlockFlow.h:
+        * rendering/RenderBlockLineLayout.cpp:
+        * rendering/RenderBox.cpp:
+        * rendering/RenderBoxModelObject.cpp:
+        * rendering/RenderDeprecatedFlexibleBox.cpp:
+        * rendering/RenderDeprecatedFlexibleBox.h:
+        * rendering/RenderElement.cpp:
+        * rendering/RenderFlexibleBox.cpp:
+        * rendering/RenderFlexibleBox.h:
+        * rendering/RenderFragmentContainer.cpp:
+        * rendering/RenderFragmentedFlow.cpp:
+        * rendering/RenderGrid.cpp:
+        * rendering/RenderGrid.h:
+        * rendering/RenderImage.cpp:
+        * rendering/RenderLayer.cpp:
+        * rendering/RenderListMarker.cpp:
+        * rendering/RenderMultiColumnFlow.cpp:
+        * rendering/RenderMultiColumnSet.cpp:
+        * rendering/RenderReplaced.cpp:
+        * rendering/RenderReplaced.h:
+        * rendering/RenderRubyRun.h:
+        * rendering/RenderTable.cpp:
+        * rendering/RenderTable.h:
+        * rendering/RenderTableSection.cpp:
+        * rendering/RenderTheme.cpp:
+        * rendering/RenderTreeAsText.cpp:
+        * rendering/RenderView.cpp:
+        * rendering/RootInlineBox.h:
+        * rendering/SimpleLineLayout.cpp:
+        * rendering/SimpleLineLayoutPagination.cpp:
+        * rendering/TableLayout.h:
+        * rendering/line/BreakingContext.h:
+        * rendering/line/LineLayoutState.h:
+        * rendering/line/LineWidth.h:
+        * rendering/mathml/MathOperator.cpp:
+        * rendering/mathml/MathOperator.h:
+        * rendering/mathml/RenderMathMLBlock.h:
+        * rendering/mathml/RenderMathMLFraction.cpp:
+        * rendering/mathml/RenderMathMLFraction.h:
+        * rendering/mathml/RenderMathMLMath.cpp:
+        * rendering/mathml/RenderMathMLMath.h:
+        * rendering/mathml/RenderMathMLMenclose.h:
+        * rendering/mathml/RenderMathMLOperator.cpp:
+        * rendering/mathml/RenderMathMLOperator.h:
+        * rendering/mathml/RenderMathMLPadded.h:
+        * rendering/mathml/RenderMathMLRoot.cpp:
+        * rendering/mathml/RenderMathMLRoot.h:
+        * rendering/mathml/RenderMathMLRow.h:
+        * rendering/mathml/RenderMathMLScripts.cpp:
+        * rendering/mathml/RenderMathMLScripts.h:
+        * rendering/mathml/RenderMathMLSpace.h:
+        * rendering/mathml/RenderMathMLToken.cpp:
+        * rendering/mathml/RenderMathMLToken.h:
+        * rendering/mathml/RenderMathMLUnderOver.h:
+        * rendering/shapes/ShapeOutsideInfo.cpp:
+        * rendering/style/CollapsedBorderValue.h:
+        Update all instances of LayoutUnit(), LayoutUnit(0), LayoutUnit { 0 }, etc. and add any other
+        literal conversions that will be needed when making non-int LayoutUnit constructors explicit.
+        For good measure, also mark all default values for LayoutUnit parameters.
+
+2018-11-23  Jim Mason  <jmason@ibinx.com>
+
+        [GTK] Scrollbars not following gtk-primary-button-warps-slider setting
+        https://bugs.webkit.org/show_bug.cgi?id=191067
+
+        Updated code per the style guide, removed unreachable break (non-semantic change)
+
+        Reviewed by Michael Catanzaro.
+
+        * platform/gtk/ScrollbarThemeGtk.cpp:
+        (WebCore::ScrollbarThemeGtk::handleMousePressEvent):
+
+2018-11-23  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        Enable drag and drop support for iOSMac
+        https://bugs.webkit.org/show_bug.cgi?id=191818
+        <rdar://problem/43907454>
+
+        Reviewed by Dean Jackson.
+
+        Enables drag and drop by default on iOSMac by switching on ENABLE_DATA_INTERACTION and ENABLE_DRAG_SUPPORT. This
+        enables support for dragging links, text selections, and images, though many advanced features (e.g. custom
+        pasteboard data) will require additional support from the platform.
+
+        * Configurations/FeatureDefines.xcconfig:
+        * platform/ios/PlatformPasteboardIOS.mm:
+        (WebCore::PlatformPasteboard::informationForItemAtIndex):
+        (WebCore::registerItemToPasteboard):
+        (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
+        * platform/ios/WebItemProviderPasteboard.mm:
+        (-[WebItemProviderLoadResult canBeRepresentedAsFileUpload]):
+        (-[WebItemProviderPasteboard numberOfFiles]):
+
+        Disable codepaths which attempt to access or set `teamData` or `preferredPresentationStyle` on `NSItemProvider`
+        in iOSMac, since these are currently unimplemented.
+
+2018-11-23  Zalan Butjas  <zalan@apple.com>
+
+        [LFC][IFC] Add support for variable height runs.
+        https://bugs.webkit.org/show_bug.cgi?id=191925
+
+        Reviewed by Antti Koivisto.
+
+        https://www.w3.org/TR/CSS22/visudet.html#inline-box-height
+
+        10.8 Line height calculations: the 'line-height' and 'vertical-align' properties
+
+        The height of each inline-level box in the line box is calculated. For replaced elements, inline-block elements,
+        and inline-table elements, this is the height of their margin box; for inline boxes, this is their 'line-height'.
+
+        The line box height is the distance between the uppermost box top and the lowermost box bottom.
+
+        The minimum height consists of a minimum height above the baseline and a minimum depth below it,
+        exactly as if each line box starts with a zero-width inline box with the element's font and line height properties.
+        We call that imaginary box a "strut." (The name is inspired by TeX.).
+
+        Test: fast/inline/inline-content-with-image-simple.html
+
+        * layout/Verification.cpp:
+        (WebCore::Layout::checkForMatchingNonTextRuns):
+        (WebCore::Layout::checkForMatchingTextRuns):
+        (WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded):
+        * layout/inlineformatting/InlineFormattingContext.cpp:
+        (WebCore::Layout::InlineFormattingContext::initializeNewLine const):
+        (WebCore::Layout::InlineFormattingContext::splitInlineRunIfNeeded const):
+        (WebCore::Layout::InlineFormattingContext::createFinalRuns const):
+        (WebCore::Layout::InlineFormattingContext::appendContentToLine const):
+        (WebCore::Layout::InlineFormattingContext::layoutInlineContent const):
+        * layout/inlineformatting/InlineFormattingContext.h:
+        (WebCore::Layout::InlineFormattingContext::Line::logicalHeight const):
+        * layout/inlineformatting/InlineFormattingContextGeometry.cpp:
+        (WebCore::Layout::InlineFormattingContext::Geometry::justifyRuns):
+        * layout/inlineformatting/InlineRun.h:
+        (WebCore::Layout::InlineRun::logicalWidth const):
+        (WebCore::Layout::InlineRun::logicalHeight const):
+        (WebCore::Layout::InlineRun::setLogicalWidth):
+        (WebCore::Layout::InlineRun::width const): Deleted.
+        (WebCore::Layout::InlineRun::height const): Deleted.
+        (WebCore::Layout::InlineRun::setWidth): Deleted.
+        * layout/inlineformatting/Line.cpp:
+        (WebCore::Layout::InlineFormattingContext::Line::init):
+        (WebCore::Layout::InlineFormattingContext::Line::appendContent):
+        (WebCore::Layout::InlineFormattingContext::Line::close):
+        * layout/layouttree/LayoutTreeBuilder.cpp:
+        (WebCore::Layout::outputInlineRuns):
+
+2018-11-23  Antti Koivisto  <antti@apple.com>
+
+        UI side compositing doesn't paint on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=191908
+
+        Reviewed by Tim Horton.
+
+        For clarity put RGB10 and RGB10A8 formats behind PLATFORM(IOS_FAMILY). They are not supported on Mac.
+
+        * platform/graphics/cocoa/IOSurface.h:
+        * platform/graphics/cocoa/IOSurface.mm:
+        (WebCore::IOSurface::IOSurface):
+        (WebCore::IOSurface::ensurePlatformContext):
+        (WebCore::IOSurface::format const):
+        (WebCore::operator<<):
+
+2018-11-23  Javier Fernandez  <jfernandez@igalia.com>
+
+        [css-grid] Implement Baseline Alignment for grid items
+        https://bugs.webkit.org/show_bug.cgi?id=145566
+
+        Reviewed by Manuel Rego Casasnovas.
+
+        This patch impements the Baseline Self-Alignment feature for grid items according to
+        the CSS Box Alignment specification [1].
+
+        This new layout logic is handled by the Self-Alignment (justify-self and align-self)
+        and Default-Alignment (justify-items and align-items) CSS properties.
+
+        This feature allows users to align the grid items sharing a Baseline Alignment Context,
+        either row or column contexts, based on their respective baselines.
+
+        [1] https://drafts.csswg.org/css-align-3/#baseline-align-self
+
+        Tests: fast/css-grid-layout/grid-self-baseline-and-flex-tracks-with-indefinite-container-crash.html
+               fast/css-grid-layout/grid-self-baseline-and-flexible-tracks-should-not-crash.html
+               fast/css-grid-layout/grid-self-baseline-and-item-relayout-should-not-crash.html
+               fast/css-grid-layout/grid-self-baseline-and-relative-sized-items-crash.html
+               fast/css-grid-layout/grid-self-baseline-and-relative-sized-tracks-crash.html
+               fast/css-grid-layout/grid-self-baseline-followed-by-item-style-change-should-not-crash.html
+
+        * Sources.txt:
+        * rendering/GridBaselineAlignment.cpp: Added.
+        (WebCore::GridBaselineAlignment::marginOverForChild const):
+        (WebCore::GridBaselineAlignment::marginUnderForChild const):
+        (WebCore::GridBaselineAlignment::logicalAscentForChild const):
+        (WebCore::GridBaselineAlignment::ascentForChild const):
+        (WebCore::GridBaselineAlignment::descentForChild const):
+        (WebCore::GridBaselineAlignment::isDescentBaselineForChild const):
+        (WebCore::GridBaselineAlignment::isHorizontalBaselineAxis const):
+        (WebCore::GridBaselineAlignment::isOrthogonalChildForBaseline const):
+        (WebCore::GridBaselineAlignment::isParallelToBaselineAxisForChild const):
+        (WebCore::GridBaselineAlignment::baselineGroupForChild const):
+        (WebCore::GridBaselineAlignment::updateBaselineAlignmentContext):
+        (WebCore::GridBaselineAlignment::baselineOffsetForChild const):
+        (WebCore::GridBaselineAlignment::clear):
+        (WebCore::BaselineGroup::BaselineGroup):
+        (WebCore::BaselineGroup::update):
+        (WebCore::BaselineGroup::isOppositeBlockFlow const):
+        (WebCore::BaselineGroup::isOrthogonalBlockFlow const):
+        (WebCore::BaselineGroup::isCompatible const):
+        (WebCore::BaselineContext::BaselineContext):
+        (WebCore::BaselineContext::sharedGroup const):
+        (WebCore::BaselineContext::updateSharedGroup):
+        (WebCore::BaselineContext::findCompatibleSharedGroup):
+        * rendering/GridBaselineAlignment.h: Added.
+        (WebCore::BaselineGroup::maxAscent const):
+        (WebCore::BaselineGroup::maxDescent const):
+        (WebCore::BaselineGroup::size const):
+        (WebCore::isBaselinePosition):
+        (WebCore::GridBaselineAlignment::setBlockFlow):
+        * rendering/GridLayoutFunctions.h:
+        * rendering/GridTrackSizingAlgorithm.cpp:
+        (WebCore::gridAxisForDirection):
+        (WebCore::gridDirectionForAxis):
+        (WebCore::GridTrackSizingAlgorithm::availableSpace const):
+        (WebCore::GridTrackSizingAlgorithm::isIntrinsicSizedGridArea const):
+        (WebCore::GridTrackSizingAlgorithmStrategy::logicalHeightForChild const):
+        (WebCore::GridTrackSizingAlgorithmStrategy::minContentForChild const):
+        (WebCore::GridTrackSizingAlgorithmStrategy::maxContentForChild const):
+        (WebCore::GridTrackSizingAlgorithmStrategy::minSizeForChild const):
+        (WebCore::GridTrackSizingAlgorithm::canParticipateInBaselineAlignment const):
+        (WebCore::GridTrackSizingAlgorithm::participateInBaselineAlignment const):
+        (WebCore::GridTrackSizingAlgorithm::updateBaselineAlignmentContext):
+        (WebCore::GridTrackSizingAlgorithm::baselineOffsetForChild const):
+        (WebCore::GridTrackSizingAlgorithm::clearBaselineItemsCache):
+        (WebCore::GridTrackSizingAlgorithm::cacheBaselineAlignedItem):
+        (WebCore::GridTrackSizingAlgorithm::copyBaselineItemsCache):
+        (WebCore::GridTrackSizingAlgorithm::setup):
+        (WebCore::GridTrackSizingAlgorithm::computeBaselineAlignmentContext):
+        * rendering/GridTrackSizingAlgorithm.h:
+        * rendering/RenderBlockFlow.cpp:
+        (WebCore::RenderBlockFlow::firstLineBaseline const):
+        * rendering/RenderGrid.cpp:
+        (WebCore::RenderGrid::layoutBlock):
+        (WebCore::RenderGrid::computeIntrinsicLogicalWidths const):
+        (WebCore::RenderGrid::placeItemsOnGrid const):
+        (WebCore::RenderGrid::performGridItemsPreLayout const):
+        (WebCore::synthesizedBaselineFromMarginBox):
+        (WebCore::RenderGrid::isBaselineAlignmentForChild const):
+        (WebCore::RenderGrid::baselinePosition const):
+        (WebCore::RenderGrid::firstLineBaseline const):
+        (WebCore::RenderGrid::inlineBlockBaseline const):
+        (WebCore::RenderGrid::columnAxisBaselineOffsetForChild const):
+        (WebCore::RenderGrid::rowAxisBaselineOffsetForChild const):
+        (WebCore::RenderGrid::columnAxisOffsetForChild const):
+        (WebCore::RenderGrid::rowAxisOffsetForChild const):
+        * rendering/RenderGrid.h:
+
+2018-11-22  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        Address post-review feedback after r238438
+        https://bugs.webkit.org/show_bug.cgi?id=191913
+
+        Reviewed by Ryosuke Niwa.
+
+        Replace `bool` arguments to `FrameSelection::setSelectedRange`, `Editor::replaceSelectionWithText`, and
+        `Editor::replaceSelectionWithFragment` with `enum class`es instead. In particular, introduce the following:
+
+        FrameSelection::ShouldCloseTyping { No, Yes }
+        Editor::SelectReplacement { No, Yes }
+        Editor::SmartReplace { No, Yes }
+        Editor::MatchStyle { No, Yes }
+
+        * accessibility/AccessibilityObject.cpp:
+        (WebCore::AccessibilityObject::selectText):
+        * editing/Editor.cpp:
+        (WebCore::Editor::handleTextEvent):
+        (WebCore::Editor::replaceSelectionWithFragment):
+        (WebCore::Editor::replaceSelectionWithText):
+        (WebCore::Editor::setComposition):
+        (WebCore::Editor::markMisspellingsAfterTypingToWord):
+        (WebCore::Editor::changeBackToReplacedString):
+        (WebCore::Editor::transpose):
+        (WebCore::Editor::insertAttachment):
+
+        At various call sites, replace boolean arguments with named enums.
+
+        * editing/Editor.h:
+        * editing/EditorCommand.cpp:
+        (WebCore::expandSelectionToGranularity):
+        (WebCore::executeDeleteToMark):
+        (WebCore::executeSelectToMark):
+        * editing/FrameSelection.cpp:
+        (WebCore::FrameSelection::setSelectedRange):
+        * editing/FrameSelection.h:
+        * page/Page.cpp:
+        (WebCore::replaceRanges):
+
+        Avoid a bit of ref-count churn, and adjust a few functions to take `const Vector&`s instead of `Vector&&`s.
+
+        (WebCore::Page::replaceRangesWithText):
+        (WebCore::Page::replaceSelectionWithText):
+        * page/Page.h:
+
+2018-11-21  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Modernize SVGURIReference::targetElementFromIRIString
+        https://bugs.webkit.org/show_bug.cgi?id=191898
+
+        Reviewed by Daniel Bates.
+
+        Made targetElementFromIRIString return an element and the fragment identifier,
+        and merged urlFromIRIStringWithFragmentIdentifier into it.
+
+        Also replaced the code computing the full URL using the base URL after removing
+        the fragment identifier and rejoining it later with a single call to completeURL.
+
+        No new tests since there should be no observable behavior change.
+
+        * accessibility/AccessibilitySVGElement.cpp:
+        (WebCore::AccessibilitySVGElement::targetForUseElement const):
+        * css/CSSCursorImageValue.cpp:
+        (WebCore::CSSCursorImageValue::updateCursorElement):
+        * rendering/svg/RenderSVGTextPath.cpp:
+        (WebCore::RenderSVGTextPath::layoutPath const):
+        * svg/SVGAltGlyphElement.cpp:
+        (WebCore::SVGAltGlyphElement::hasValidGlyphElements const):
+        * svg/SVGFEImageElement.cpp:
+        (WebCore::SVGFEImageElement::buildPendingResource):
+        * svg/SVGGlyphRefElement.cpp:
+        (WebCore::SVGGlyphRefElement::hasValidGlyphElement const):
+        * svg/SVGLinearGradientElement.cpp:
+        (WebCore::SVGLinearGradientElement::collectGradientAttributes):
+        * svg/SVGMPathElement.cpp:
+        (WebCore::SVGMPathElement::buildPendingResource):
+        (WebCore::SVGMPathElement::pathElement):
+        * svg/SVGRadialGradientElement.cpp:
+        (WebCore::SVGRadialGradientElement::collectGradientAttributes):
+        * svg/SVGTRefElement.cpp:
+        (WebCore::SVGTRefElement::detachTarget):
+        (WebCore::SVGTRefElement::buildPendingResource):
+        * svg/SVGTextPathElement.cpp:
+        (WebCore::SVGTextPathElement::buildPendingResource):
+        * svg/SVGURIReference.cpp:
+        (WebCore::SVGURIReference::targetElementFromIRIString):
+        (WebCore::urlFromIRIStringWithFragmentIdentifier): Deleted.
+        * svg/SVGURIReference.h:
+        * svg/SVGUseElement.cpp:
+        (WebCore::SVGUseElement::findTarget const):
+        * svg/animation/SVGSMILElement.cpp:
+        (WebCore::SVGSMILElement::buildPendingResource):
+        * svg/graphics/filters/SVGFEImage.cpp:
+        (WebCore::FEImage::referencedRenderer const):
+
+2018-11-22  Dean Jackson  <dino@apple.com>
+
+        Implement WebGPUQueue and device.getQueue()
+        https://bugs.webkit.org/show_bug.cgi?id=191911
+        <rdar://problem/46214871>
+
+        Reviewed by Antoine Quint.
+
+        Implement WebGPUDevice::getQueue(), which creates a WebGPUQueue
+        instance if necessary. Also link WebGPUQueue to the existing
+        GPUQueue object, and expose the label IDL property.
+
+        This patch is based on some work from Justin Fan.
+
+        Test: webgpu/queue-creation.html
+
+        * DerivedSources.make:
+        * Sources.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+            New files.
+
+        * Modules/webgpu/WebGPUCommandBuffer.h:
+        (WebCore::WebGPUCommandBuffer::commandBuffer const):
+            Expose a GPUCommandBuffer getter, used when submitting (even though
+            the actual GPU submission isn't implemented yet).
+
+        * Modules/webgpu/WebGPUDevice.cpp:
+        (WebCore::WebGPUDevice::getQueue):
+        * Modules/webgpu/WebGPUDevice.h:
+        * Modules/webgpu/WebGPUDevice.idl:
+            Implement getQueue().
+
+        * Modules/webgpu/WebGPUQueue.cpp:
+        (WebCore::WebGPUQueue::create):
+        (WebCore::WebGPUQueue::WebGPUQueue):
+        (WebCore::WebGPUQueue::submit):
+        * Modules/webgpu/WebGPUQueue.h:
+        (WebCore::WebGPUQueue::label const):
+        (WebCore::WebGPUQueue::setLabel):
+        * Modules/webgpu/WebGPUQueue.idl:
+            New class. Mostly sends stuff onto GPUQueue.
+
+        * bindings/js/WebCoreBuiltinNames.h:
+            Add WebGPUQueue.
+
+        * platform/graphics/gpu/GPUQueue.h:
+        * platform/graphics/gpu/cocoa/GPUQueueMetal.mm:
+        (WebCore::GPUQueue::create):
+        (WebCore::GPUQueue::submit):
+        (WebCore::GPUQueue::label const):
+        (WebCore::GPUQueue::setLabel const):
+            "label" getter/setter that uses
+            the underlying MTLCommandQueue label property, but prefixes
+            it with a WebKit identifier, so it can be correctly
+            identified in system crash logs as coming from WebGPU.
+
+2018-11-22  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC][IFC] Merge addNonBreakableStart/NonBreakableEnd calls.
+        https://bugs.webkit.org/show_bug.cgi?id=191903
+
+        Reviewed by Antti Koivisto.
+
+        * layout/inlineformatting/InlineFormattingContext.cpp:
+        (WebCore::Layout::InlineFormattingContext::collectInlineContentForSubtree const):
+
+2018-11-22  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC][IFC] Offset formatting context root runs with horizontal margins.
+        https://bugs.webkit.org/show_bug.cgi?id=191900
+
+        Reviewed by Antti Koivisto.
+
+        Inline runs generated by formatting roots (inline-block) need to be adjusted with the horizontal margins.
+        (The test case has padding and border as well, but they are _inside_ the formatting context.)
+
+        Test: fast/inline/inline-content-and-nested-formatting-root-with-margin-left-right.html
+
+        * layout/inlineformatting/InlineFormattingContext.cpp:
+        (WebCore::Layout::InlineFormattingContext::collectInlineContentForSubtree const):
+
+2018-11-22  Simon Fraser  <simon.fraser@apple.com>
+
+        Extremely small monospace text size when SVG is included as an img
+        https://bugs.webkit.org/show_bug.cgi?id=191834
+
+        Reviewed by Myles C. Maxfield.
+
+        Give defaultFixedFontSize a reasonable default value in Settings, so that clients
+        who omit to set it (like SVGImages) don't get broken rendering.
+
+        Test: svg/text/monospace-text-size-in-img.html
+
+        * page/Settings.yaml:
+
+2018-11-22  Javier Fernandez  <jfernandez@igalia.com>
+
+        Tables with vertical-lr writing-mode doesn't apply correctly vertical-align: baseline
+        https://bugs.webkit.org/show_bug.cgi?id=191881
+
+        Reviewed by Manuel Rego Casasnovas.
+
+        We should use the font's descent value when wriring-mode flips line flow (vertical-lr).
+
+        This change also fixes bug 170175, since Flexbox use the same code to determine the first
+        line baseline of a flex item.
+
+        Test: fast/writing-mode/vertical-align-table-baseline-latin.html
+
+        * rendering/RenderBlockFlow.cpp:
+        (WebCore::RenderBlockFlow::firstLineBaseline const):
+
+2018-11-21  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Phantom focus/blur events fire on clicking between text input fields when listening with addEventListener
+        https://bugs.webkit.org/show_bug.cgi?id=179990
+
+        Reviewed by Tim Horton.
+
+        The bug was caused by TemporarySelectionChange which is used by TextIndicator::createWithRange
+        to set and restore the selection putting the focus on the newly mouse-down'ed input element
+        and restoring the focus back to the input element which originally had the focus immediately.
+
+        Fixed the bug by avoiding to set the focus since only selection highlights need to be updated here.
+        Also made TemporarySelectionOption an enum class.
+
+        Unfortunately, no new tests since force click testing is broken :( See <rdar://problem/31301721>.
+
+        * editing/Editor.cpp:
+        (WebCore::TemporarySelectionChange::TemporarySelectionChange):
+        (WebCore::TemporarySelectionChange::~TemporarySelectionChange):
+        (WebCore::TemporarySelectionChange::setSelection): Extracted. Fixed the bug by adding
+        FrameSelection::DoNotSetFocus to the option when TemporarySelectionOption::DoNotSetFocus is set.
+        * editing/Editor.h:
+        * page/DragController.cpp:
+        (WebCore::DragController::performDragOperation):
+        * page/TextIndicator.cpp:
+        (WebCore::TextIndicator::createWithRange): Set TemporarySelectionOption::DoNotSetFocus.
+
+2018-11-21  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        [Cocoa] [WebKit2] Add support for replacing find-in-page text matches
+        https://bugs.webkit.org/show_bug.cgi?id=191786
+        <rdar://problem/45813871>
+
+        Reviewed by Ryosuke Niwa.
+
+        Add support for replacing Find-in-Page matches. See below for details. Covered by new layout tests as well as a
+        new API test.
+
+        Tests: editing/find/find-and-replace-adjacent-words.html
+               editing/find/find-and-replace-at-editing-boundary.html
+               editing/find/find-and-replace-basic.html
+               editing/find/find-and-replace-in-subframes.html
+               editing/find/find-and-replace-no-matches.html
+               editing/find/find-and-replace-noneditable-matches.html
+               editing/find/find-and-replace-replacement-text-input-events.html
+
+        API test: WebKit.FindAndReplace
+
+        * page/Page.cpp:
+        (WebCore::replaceRanges):
+        (WebCore::Page::replaceRangesWithText):
+
+        Add a helper that, given a list of Ranges, replaces each range with the given text. To do this, we first map
+        each Range to editing offsets within the topmost editable root for each Range. This results in a map of editable
+        root to list of editing offsets we need to replace. To apply the replacements, for each editable root in the
+        map, we iterate over each replacement range (i.e. an offset and length), set the current selection to contain
+        that replacement range, and use `Editor::replaceSelectionWithText`. To prevent prior text replacements from
+        clobbering the offsets of latter text replacement ranges, we also iterate backwards through text replacement
+        ranges when performing each replacement.
+
+        Likewise, we also apply text replacement to each editing container in backwards order: for nodes in the same
+        frame, we compare their position in the document, and for nodes in different frames, we instead compare their
+        frames in frame tree traversal order.
+
+        We map Ranges to editing offsets and back when performing text replacement because each text replacement may
+        split or merge text nodes, which causes adjacent Ranges to shrink or extend while replacing text. In an earlier
+        attempt to implement this, I simply iterated over each Range to replace and carried out text replacement for
+        each Range. This led to incorrect behavior in some cases, such as replacing adjacent matches. Thus, by computing
+        the set of text replacement offsets prior to replacing any text, we're able to target the correct ranges for
+        replacement.
+
+        (WebCore::Page::replaceSelectionWithText):
+
+        Add a helper method on Page to replace the current selection with some text. This simply calls out to
+        `Editor::replaceSelectionWithText`.
+
+        * page/Page.h:
+
+2018-11-21  Andy Estes  <aestes@apple.com>
+
+        [Cocoa] Create a soft-linking file for PassKit
+        https://bugs.webkit.org/show_bug.cgi?id=191875
+        <rdar://problem/46203215>
+
+        Reviewed by Myles Maxfield.
+
+        * Modules/applepay/cocoa/PaymentContactCocoa.mm: Removed SOFT_LINK macros and included PassKitSoftLink.h instead.
+        * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: Ditto.
+        * SourcesCocoa.txt: Removed @no-unify from PaymentMerchantSessionCocoa.mm.
+        * WebCore.xcodeproj/project.pbxproj: Removed PaymentMerchantSessionCocoa.mm from the WebCore target.
+        * rendering/RenderThemeCocoa.mm: Removed SOFT_LINK macros and included PassKitSoftLink.h instead.
+
+2018-11-21  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC] LayoutState should always be initialized with the initial containing block.
+        https://bugs.webkit.org/show_bug.cgi?id=191896
+
+        Reviewed by Antti Koivisto.
+
+        There should always be only one LayoutState per layout tree (it does not mean that layout always starts at the ICB).
+        The ICB is a special formatting context root because it does not have a parent formatting context. All the other formatting contexts
+        first need to be laid out (partially at least e.g margin) in their parent formatting context.
+        Having a non-null parent formatting context as root could lead to undefined behaviour.
+
+        * layout/LayoutFormattingState.cpp:
+        (WebCore::Layout::LayoutState::LayoutState):
+        (WebCore::Layout::LayoutState::initializeRoot): Deleted.
+        * layout/LayoutFormattingState.h:
+        * layout/Verification.cpp:
+        (WebCore::Layout::LayoutState::verifyAndOutputMismatchingLayoutTree const):
+        * page/FrameViewLayoutContext.cpp:
+        (WebCore::layoutUsingFormattingContext):
+
+2018-11-21  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC][IFC] Horizontal margins should be considered as non-breakable space
+        https://bugs.webkit.org/show_bug.cgi?id=191894
+
+        Reviewed by Antti Koivisto.
+
+        Like padding and border, horizontal margins also force run breaks and offset them.
+
+        Test: fast/inline/inline-content-with-margin-left-right.html
+
+        * layout/inlineformatting/InlineFormattingContext.cpp:
+        (WebCore::Layout::InlineFormattingContext::collectInlineContentForSubtree const):
+
+2018-11-20  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Mutation observers doesn't get notified of character data mutation made by the parser
+        https://bugs.webkit.org/show_bug.cgi?id=191874
+
+        Reviewed by Antti Koivisto.
+
+        Fixed the bug that CharacterData::parserAppendData was never notifying MutationObserver.
+
+        Test: fast/dom/MutationObserver/observe-parser-character-data-change.html
+
+        * dom/CharacterData.cpp:
+        (WebCore::CharacterData::parserAppendData):
+
+2018-11-21  Claudio Saavedra  <csaavedra@igalia.com>
+
+        [SOUP] Follow-up robustness improvements to the certificate decoder
+        https://bugs.webkit.org/show_bug.cgi?id=191892
+
+        Reviewed by Michael Catanzaro.
+
+        If at any point the certificate fails to be constructed from
+        the DER data, bail out. Likewise, if the certificate returned
+        is NULL, return false from the decoder to notify the failure
+        to decode it.
+
+        * platform/network/soup/CertificateInfo.h:
+        (WTF::Persistence::certificateFromCertificatesDataList):
+        (WTF::Persistence::Coder<WebCore::CertificateInfo>::decode):
+
+2018-11-21  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC][IFC] Border should be considered as non-breakable space
+        https://bugs.webkit.org/show_bug.cgi?id=191891
+
+        Reviewed by Antti Koivisto.
+
+        Like padding, border also forces run breaks and offsets them.
+
+        Test: fast/inline/inline-content-with-border-left-right.html
+
+        * layout/inlineformatting/InlineFormattingContext.cpp:
+        (WebCore::Layout::InlineFormattingContext::collectInlineContentForSubtree const):
+
+2018-11-21  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC][IFC] Use contains and containsAll in InlineFormattingContext::splitInlineRunIfNeeded consistently
+        https://bugs.webkit.org/show_bug.cgi?id=191890
+
+        Rearrange the comment numbers to match the logic below.
+
+        Reviewed by Antti Koivisto.
+
+        * layout/inlineformatting/InlineFormattingContext.cpp:
+        (WebCore::Layout::InlineFormattingContext::splitInlineRunIfNeeded const):
+
+2018-11-20  Dean Jackson  <dino@apple.com>
+
+        Move WebGPU platform code to platform/graphics/gpu
+        https://bugs.webkit.org/show_bug.cgi?id=191867
+        <rdar://problem/46190993>
+
+        Reviewed by Antoine Quint.
+
+        The underlying implementation of WebGPU doesn't need to live in
+        Modules, since it technically could be used by other parts of the system. It
+        makes more sense for it to be in platform/graphics/gpu.
+
+        Move...
+        - Modules/webgpu/GPU* -> platform/graphics/gpu
+        - Modules/webgpu/cocoa -> platform/graphics/gpu/cocoa
+        - platform/graphics/gpu/GPULegacy* -> platform/graphics/gpu/legacy/
+        - platform/graphics/gpu/cocoa/GPULegacy* -> platform/graphics/gpu/legacy/cocoa
+
+        * Sources.txt:
+        * SourcesCocoa.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+        * platform/graphics/gpu/GPUCommandBuffer.h: Renamed from Source/WebCore/Modules/webgpu/GPUCommandBuffer.h.
+        * platform/graphics/gpu/GPUDevice.cpp: Renamed from Source/WebCore/Modules/webgpu/GPUDevice.cpp.
+        (WebCore::GPUDevice::createShaderModule const):
+        (WebCore::GPUDevice::createRenderPipeline const):
+        (WebCore::GPUDevice::createCommandBuffer):
+        (WebCore::GPUDevice::getQueue):
+        * platform/graphics/gpu/GPUDevice.h: Renamed from Source/WebCore/Modules/webgpu/GPUDevice.h.
+        (WebCore::GPUDevice::platformDevice const):
+        * platform/graphics/gpu/GPUPipelineDescriptorBase.h: Renamed from Source/WebCore/Modules/webgpu/GPUPipelineDescriptorBase.h.
+        * platform/graphics/gpu/GPUPipelineStageDescriptor.h: Renamed from Source/WebCore/Modules/webgpu/GPUPipelineStageDescriptor.h.
+        * platform/graphics/gpu/GPUQueue.h: Renamed from Source/WebCore/Modules/webgpu/GPUQueue.h.
+        (WebCore::GPUQueue::platformQueue const):
+        * platform/graphics/gpu/GPURenderPipeline.h: Renamed from Source/WebCore/Modules/webgpu/GPURenderPipeline.h.
+        (WebCore::GPURenderPipeline::platformRenderPipeline const):
+        * platform/graphics/gpu/GPURenderPipelineDescriptor.h: Renamed from Source/WebCore/Modules/webgpu/GPURenderPipelineDescriptor.h.
+        * platform/graphics/gpu/GPUShaderModule.h: Renamed from Source/WebCore/Modules/webgpu/GPUShaderModule.h.
+        (WebCore::GPUShaderModule::platformShaderModule const):
+        * platform/graphics/gpu/GPUShaderModuleDescriptor.h: Renamed from Source/WebCore/Modules/webgpu/GPUShaderModuleDescriptor.h.
+        * platform/graphics/gpu/GPUSwapChain.h: Renamed from Source/WebCore/Modules/webgpu/GPUSwapChain.h.
+        (WebCore::GPUSwapChain::platformLayer const):
+        * platform/graphics/gpu/GPUTexture.h: Renamed from Source/WebCore/Modules/webgpu/GPUTexture.h.
+        * platform/graphics/gpu/GPUTextureFormatEnum.h: Renamed from Source/WebCore/Modules/webgpu/GPUTextureFormatEnum.h.
+        * platform/graphics/gpu/cocoa/GPUCommandBufferMetal.mm: Renamed from Source/WebCore/Modules/webgpu/cocoa/GPUCommandBufferMetal.mm.
+        (WebCore::GPUCommandBuffer::create):
+        (WebCore::GPUCommandBuffer::GPUCommandBuffer):
+        * platform/graphics/gpu/cocoa/GPUDeviceMetal.mm: Renamed from Source/WebCore/Modules/webgpu/cocoa/GPUDeviceMetal.mm.
+        (WebCore::GPUDevice::create):
+        (WebCore::GPUDevice::GPUDevice):
+        * platform/graphics/gpu/cocoa/GPUQueueMetal.mm: Renamed from Source/WebCore/Modules/webgpu/cocoa/GPUQueueMetal.mm.
+        (WebCore::GPUQueue::create):
+        (WebCore::GPUQueue::GPUQueue):
+        * platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm: Renamed from Source/WebCore/Modules/webgpu/cocoa/GPURenderPipelineMetal.mm.
+        (WebCore::setFunctionsForPipelineDescriptor):
+        (WebCore::GPURenderPipeline::create):
+        (WebCore::GPURenderPipeline::GPURenderPipeline):
+        * platform/graphics/gpu/cocoa/GPUShaderModuleMetal.mm: Renamed from Source/WebCore/Modules/webgpu/cocoa/GPUShaderModuleMetal.mm.
+        (WebCore::GPUShaderModule::create):
+        (WebCore::GPUShaderModule::GPUShaderModule):
+        * platform/graphics/gpu/cocoa/GPUSwapChainMetal.mm: Renamed from Source/WebCore/Modules/webgpu/cocoa/GPUSwapChainMetal.mm.
+        (WebCore::GPUSwapChain::create):
+        (WebCore::GPUSwapChain::GPUSwapChain):
+        (WebCore::GPUSwapChain::setDevice):
+        (WebCore::platformTextureFormatForGPUTextureFormat):
+        (WebCore::GPUSwapChain::setFormat):
+        (WebCore::GPUSwapChain::reshape):
+        (WebCore::GPUSwapChain::getNextTexture):
+        (WebCore::GPUSwapChain::present):
+        * platform/graphics/gpu/cocoa/GPUTextureMetal.mm: Renamed from Source/WebCore/Modules/webgpu/cocoa/GPUTextureMetal.mm.
+        (WebCore::GPUTexture::create):
+        (WebCore::GPUTexture::GPUTexture):
+        (WebCore::GPUTexture::createDefaultTextureView):
+        * platform/graphics/gpu/legacy/GPULegacyBuffer.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyBuffer.cpp.
+        (WebCore::GPULegacyBuffer::~GPULegacyBuffer):
+        (WebCore::GPULegacyBuffer::length const):
+        * platform/graphics/gpu/legacy/GPULegacyBuffer.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyBuffer.h.
+        (WebCore::GPULegacyBuffer::contents const):
+        (WebCore::GPULegacyBuffer::metal const):
+        * platform/graphics/gpu/legacy/GPULegacyCommandBuffer.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyCommandBuffer.cpp.
+        (WebCore::GPULegacyCommandBuffer::~GPULegacyCommandBuffer):
+        * platform/graphics/gpu/legacy/GPULegacyCommandBuffer.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyCommandBuffer.h.
+        (WebCore::GPULegacyCommandBuffer::metal const):
+        * platform/graphics/gpu/legacy/GPULegacyCommandQueue.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyCommandQueue.cpp.
+        (WebCore::GPULegacyCommandQueue::~GPULegacyCommandQueue):
+        * platform/graphics/gpu/legacy/GPULegacyCommandQueue.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyCommandQueue.h.
+        (WebCore::GPULegacyCommandQueue::metal const):
+        * platform/graphics/gpu/legacy/GPULegacyComputeCommandEncoder.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyComputeCommandEncoder.cpp.
+        (WebCore::GPULegacyComputeCommandEncoder::~GPULegacyComputeCommandEncoder):
+        * platform/graphics/gpu/legacy/GPULegacyComputeCommandEncoder.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyComputeCommandEncoder.h.
+        * platform/graphics/gpu/legacy/GPULegacyComputePipelineState.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyComputePipelineState.cpp.
+        (WebCore::GPULegacyComputePipelineState::~GPULegacyComputePipelineState):
+        * platform/graphics/gpu/legacy/GPULegacyComputePipelineState.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyComputePipelineState.h.
+        (WebCore::GPULegacyComputePipelineState::metal const):
+        * platform/graphics/gpu/legacy/GPULegacyDepthStencilDescriptor.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyDepthStencilDescriptor.cpp.
+        (WebCore::GPULegacyDepthStencilDescriptor::~GPULegacyDepthStencilDescriptor):
+        * platform/graphics/gpu/legacy/GPULegacyDepthStencilDescriptor.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyDepthStencilDescriptor.h.
+        (WebCore::GPULegacyDepthStencilDescriptor::metal const):
+        * platform/graphics/gpu/legacy/GPULegacyDepthStencilState.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyDepthStencilState.cpp.
+        (WebCore::GPULegacyDepthStencilState::~GPULegacyDepthStencilState):
+        * platform/graphics/gpu/legacy/GPULegacyDepthStencilState.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyDepthStencilState.h.
+        (WebCore::GPULegacyDepthStencilState::metal const):
+        * platform/graphics/gpu/legacy/GPULegacyDevice.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyDevice.cpp.
+        (WebCore::GPULegacyDevice::~GPULegacyDevice):
+        * platform/graphics/gpu/legacy/GPULegacyDevice.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyDevice.h.
+        (WebCore::GPULegacyDevice::layer const):
+        (WebCore::GPULegacyDevice::metal const):
+        (WebCore::GPULegacyDevice::markLayerComposited const):
+        * platform/graphics/gpu/legacy/GPULegacyDrawable.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyDrawable.cpp.
+        (WebCore::GPULegacyDrawable::~GPULegacyDrawable):
+        * platform/graphics/gpu/legacy/GPULegacyDrawable.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyDrawable.h.
+        * platform/graphics/gpu/legacy/GPULegacyEnums.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyEnums.h.
+        * platform/graphics/gpu/legacy/GPULegacyFunction.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyFunction.cpp.
+        (WebCore::GPULegacyFunction::~GPULegacyFunction):
+        * platform/graphics/gpu/legacy/GPULegacyFunction.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyFunction.h.
+        (WebCore::GPULegacyFunction::metal const):
+        * platform/graphics/gpu/legacy/GPULegacyLibrary.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyLibrary.cpp.
+        (WebCore::GPULegacyLibrary::~GPULegacyLibrary):
+        * platform/graphics/gpu/legacy/GPULegacyLibrary.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyLibrary.h.
+        (WebCore::GPULegacyLibrary::metal const):
+        * platform/graphics/gpu/legacy/GPULegacyRenderCommandEncoder.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyRenderCommandEncoder.cpp.
+        (WebCore::GPULegacyRenderCommandEncoder::~GPULegacyRenderCommandEncoder):
+        * platform/graphics/gpu/legacy/GPULegacyRenderCommandEncoder.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyRenderCommandEncoder.h.
+        * platform/graphics/gpu/legacy/GPULegacyRenderPassAttachmentDescriptor.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyRenderPassAttachmentDescriptor.cpp.
+        (WebCore::GPULegacyRenderPassAttachmentDescriptor::~GPULegacyRenderPassAttachmentDescriptor):
+        * platform/graphics/gpu/legacy/GPULegacyRenderPassAttachmentDescriptor.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyRenderPassAttachmentDescriptor.h.
+        * platform/graphics/gpu/legacy/GPULegacyRenderPassColorAttachmentDescriptor.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyRenderPassColorAttachmentDescriptor.cpp.
+        (WebCore::GPULegacyRenderPassColorAttachmentDescriptor::~GPULegacyRenderPassColorAttachmentDescriptor):
+        * platform/graphics/gpu/legacy/GPULegacyRenderPassColorAttachmentDescriptor.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyRenderPassColorAttachmentDescriptor.h.
+        * platform/graphics/gpu/legacy/GPULegacyRenderPassDepthAttachmentDescriptor.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyRenderPassDepthAttachmentDescriptor.cpp.
+        (WebCore::GPULegacyRenderPassDepthAttachmentDescriptor::~GPULegacyRenderPassDepthAttachmentDescriptor):
+        * platform/graphics/gpu/legacy/GPULegacyRenderPassDepthAttachmentDescriptor.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyRenderPassDepthAttachmentDescriptor.h.
+        * platform/graphics/gpu/legacy/GPULegacyRenderPassDescriptor.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyRenderPassDescriptor.cpp.
+        (WebCore::GPULegacyRenderPassDescriptor::~GPULegacyRenderPassDescriptor):
+        * platform/graphics/gpu/legacy/GPULegacyRenderPassDescriptor.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyRenderPassDescriptor.h.
+        * platform/graphics/gpu/legacy/GPULegacyRenderPipelineColorAttachmentDescriptor.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyRenderPipelineColorAttachmentDescriptor.cpp.
+        (WebCore::GPULegacyRenderPipelineColorAttachmentDescriptor::~GPULegacyRenderPipelineColorAttachmentDescriptor):
+        * platform/graphics/gpu/legacy/GPULegacyRenderPipelineColorAttachmentDescriptor.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyRenderPipelineColorAttachmentDescriptor.h.
+        * platform/graphics/gpu/legacy/GPULegacyRenderPipelineDescriptor.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyRenderPipelineDescriptor.cpp.
+        (WebCore::GPULegacyRenderPipelineDescriptor::~GPULegacyRenderPipelineDescriptor):
+        * platform/graphics/gpu/legacy/GPULegacyRenderPipelineDescriptor.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyRenderPipelineDescriptor.h.
+        * platform/graphics/gpu/legacy/GPULegacyRenderPipelineState.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyRenderPipelineState.cpp.
+        (WebCore::GPULegacyRenderPipelineState::~GPULegacyRenderPipelineState):
+        * platform/graphics/gpu/legacy/GPULegacyRenderPipelineState.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyRenderPipelineState.h.
+        * platform/graphics/gpu/legacy/GPULegacySize.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacySize.h.
+        * platform/graphics/gpu/legacy/GPULegacyTexture.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyTexture.cpp.
+        (WebCore::GPULegacyTexture::~GPULegacyTexture):
+        * platform/graphics/gpu/legacy/GPULegacyTexture.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyTexture.h.
+        * platform/graphics/gpu/legacy/GPULegacyTextureDescriptor.cpp: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyTextureDescriptor.cpp.
+        (WebCore::GPULegacyTextureDescriptor::~GPULegacyTextureDescriptor):
+        * platform/graphics/gpu/legacy/GPULegacyTextureDescriptor.h: Renamed from Source/WebCore/platform/graphics/gpu/GPULegacyTextureDescriptor.h.
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyBufferMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyBufferMetal.mm.
+        (WebCore::GPULegacyBuffer::GPULegacyBuffer):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyCommandBufferMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyCommandBufferMetal.mm.
+        (WebCore::GPULegacyCommandBuffer::GPULegacyCommandBuffer):
+        (WebCore::GPULegacyCommandBuffer::presentDrawable const):
+        (WebCore::GPULegacyCommandBuffer::commit const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyCommandQueueMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyCommandQueueMetal.mm.
+        (WebCore::GPULegacyCommandQueue::GPULegacyCommandQueue):
+        (WebCore::GPULegacyCommandQueue::label const):
+        (WebCore::GPULegacyCommandQueue::setLabel const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyComputeCommandEncoderMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyComputeCommandEncoderMetal.mm.
+        (WebCore::MTLSizeMake):
+        (WebCore::GPULegacyComputeCommandEncoder::GPULegacyComputeCommandEncoder):
+        (WebCore::GPULegacyComputeCommandEncoder::setComputePipelineState const):
+        (WebCore::GPULegacyComputeCommandEncoder::setBuffer const):
+        (WebCore::GPULegacyComputeCommandEncoder::dispatch const):
+        (WebCore::GPULegacyComputeCommandEncoder::endEncoding const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyComputePipelineStateMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyComputePipelineStateMetal.mm.
+        (WebCore::GPULegacyComputePipelineState::GPULegacyComputePipelineState):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyDepthStencilDescriptorMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyDepthStencilDescriptorMetal.mm.
+        (WebCore::GPULegacyDepthStencilDescriptor::GPULegacyDepthStencilDescriptor):
+        (WebCore::GPULegacyDepthStencilDescriptor::depthWriteEnabled const):
+        (WebCore::GPULegacyDepthStencilDescriptor::setDepthWriteEnabled const):
+        (WebCore::GPULegacyDepthStencilDescriptor::depthCompareFunction const):
+        (WebCore::GPULegacyDepthStencilDescriptor::setDepthCompareFunction const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyDepthStencilStateMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyDepthStencilStateMetal.mm.
+        (WebCore::GPULegacyDepthStencilState::GPULegacyDepthStencilState):
+        (WebCore::GPULegacyDepthStencilState::label const):
+        (WebCore::GPULegacyDepthStencilState::setLabel const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyDeviceMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyDeviceMetal.mm.
+        (WebCore::GPULegacyDevice::GPULegacyDevice):
+        (WebCore::GPULegacyDevice::disconnect):
+        (WebCore::GPULegacyDevice::reshape const):
+        (WebCore::GPULegacyDevice::platformLayer const):
+        (WebCore::GPULegacyDevice::operator! const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyDrawableMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyDrawableMetal.mm.
+        (WebCore::GPULegacyDrawable::GPULegacyDrawable):
+        (WebCore::GPULegacyDrawable::release):
+        (WebCore::GPULegacyDrawable::metal const):
+        (WebCore::GPULegacyDrawable::texture const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyFunctionMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyFunctionMetal.mm.
+        (WebCore::GPULegacyFunction::GPULegacyFunction):
+        (WebCore::GPULegacyFunction::name const):
+        (WebCore::GPULegacyFunction::operator! const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyLibraryMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyLibraryMetal.mm.
+        (WebCore::GPULegacyLibrary::GPULegacyLibrary):
+        (WebCore::GPULegacyLibrary::label const):
+        (WebCore::GPULegacyLibrary::setLabel const):
+        (WebCore::GPULegacyLibrary::functionNames const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyRenderCommandEncoderMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyRenderCommandEncoderMetal.mm.
+        (WebCore::GPULegacyRenderCommandEncoder::GPULegacyRenderCommandEncoder):
+        (WebCore::GPULegacyRenderCommandEncoder::setRenderPipelineState const):
+        (WebCore::GPULegacyRenderCommandEncoder::setDepthStencilState const):
+        (WebCore::GPULegacyRenderCommandEncoder::setVertexBuffer const):
+        (WebCore::GPULegacyRenderCommandEncoder::setFragmentBuffer const):
+        (WebCore::GPULegacyRenderCommandEncoder::drawPrimitives const):
+        (WebCore::GPULegacyRenderCommandEncoder::endEncoding const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyRenderPassAttachmentDescriptorMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyRenderPassAttachmentDescriptorMetal.mm.
+        (WebCore::GPULegacyRenderPassAttachmentDescriptor::GPULegacyRenderPassAttachmentDescriptor):
+        (WebCore::GPULegacyRenderPassAttachmentDescriptor::loadAction const):
+        (WebCore::GPULegacyRenderPassAttachmentDescriptor::setLoadAction const):
+        (WebCore::GPULegacyRenderPassAttachmentDescriptor::storeAction const):
+        (WebCore::GPULegacyRenderPassAttachmentDescriptor::setStoreAction const):
+        (WebCore::GPULegacyRenderPassAttachmentDescriptor::setTexture const):
+        (WebCore::GPULegacyRenderPassAttachmentDescriptor::metal const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyRenderPassColorAttachmentDescriptorMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyRenderPassColorAttachmentDescriptorMetal.mm.
+        (WebCore::GPULegacyRenderPassColorAttachmentDescriptor::GPULegacyRenderPassColorAttachmentDescriptor):
+        (WebCore::GPULegacyRenderPassColorAttachmentDescriptor::clearColor const):
+        (WebCore::GPULegacyRenderPassColorAttachmentDescriptor::setClearColor const):
+        (WebCore::GPULegacyRenderPassColorAttachmentDescriptor::metal const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyRenderPassDepthAttachmentDescriptorMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyRenderPassDepthAttachmentDescriptorMetal.mm.
+        (WebCore::GPULegacyRenderPassDepthAttachmentDescriptor::GPULegacyRenderPassDepthAttachmentDescriptor):
+        (WebCore::GPULegacyRenderPassDepthAttachmentDescriptor::clearDepth const):
+        (WebCore::GPULegacyRenderPassDepthAttachmentDescriptor::setClearDepth const):
+        (WebCore::GPULegacyRenderPassDepthAttachmentDescriptor::metal const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyRenderPassDescriptorMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyRenderPassDescriptorMetal.mm.
+        (WebCore::GPULegacyRenderPassDescriptor::GPULegacyRenderPassDescriptor):
+        (WebCore::GPULegacyRenderPassDescriptor::colorAttachments const):
+        (WebCore::GPULegacyRenderPassDescriptor::depthAttachment const):
+        (WebCore::GPULegacyRenderPassDescriptor::metal const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyRenderPipelineColorAttachmentDescriptorMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyRenderPipelineColorAttachmentDescriptorMetal.mm.
+        (WebCore::GPULegacyRenderPipelineColorAttachmentDescriptor::GPULegacyRenderPipelineColorAttachmentDescriptor):
+        (WebCore::GPULegacyRenderPipelineColorAttachmentDescriptor::pixelFormat const):
+        (WebCore::GPULegacyRenderPipelineColorAttachmentDescriptor::setPixelFormat const):
+        (WebCore::GPULegacyRenderPipelineColorAttachmentDescriptor::metal const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyRenderPipelineDescriptorMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyRenderPipelineDescriptorMetal.mm.
+        (WebCore::GPULegacyRenderPipelineDescriptor::GPULegacyRenderPipelineDescriptor):
+        (WebCore::GPULegacyRenderPipelineDescriptor::depthAttachmentPixelFormat const):
+        (WebCore::GPULegacyRenderPipelineDescriptor::setDepthAttachmentPixelFormat const):
+        (WebCore::GPULegacyRenderPipelineDescriptor::setVertexFunction const):
+        (WebCore::GPULegacyRenderPipelineDescriptor::setFragmentFunction const):
+        (WebCore::GPULegacyRenderPipelineDescriptor::colorAttachments const):
+        (WebCore::GPULegacyRenderPipelineDescriptor::reset const):
+        (WebCore::GPULegacyRenderPipelineDescriptor::metal const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyRenderPipelineStateMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyRenderPipelineStateMetal.mm.
+        (WebCore::GPULegacyRenderPipelineState::GPULegacyRenderPipelineState):
+        (WebCore::GPULegacyRenderPipelineState::label const):
+        (WebCore::GPULegacyRenderPipelineState::setLabel const):
+        (WebCore::GPULegacyRenderPipelineState::metal const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyTextureDescriptorMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyTextureDescriptorMetal.mm.
+        (WebCore::GPULegacyTextureDescriptor::GPULegacyTextureDescriptor):
+        (WebCore::GPULegacyTextureDescriptor::width const):
+        (WebCore::GPULegacyTextureDescriptor::setWidth const):
+        (WebCore::GPULegacyTextureDescriptor::height const):
+        (WebCore::GPULegacyTextureDescriptor::setHeight const):
+        (WebCore::GPULegacyTextureDescriptor::sampleCount const):
+        (WebCore::GPULegacyTextureDescriptor::setSampleCount const):
+        (WebCore::GPULegacyTextureDescriptor::textureType const):
+        (WebCore::GPULegacyTextureDescriptor::setTextureType const):
+        (WebCore::GPULegacyTextureDescriptor::storageMode const):
+        (WebCore::GPULegacyTextureDescriptor::setStorageMode const):
+        (WebCore::GPULegacyTextureDescriptor::usage const):
+        (WebCore::GPULegacyTextureDescriptor::setUsage const):
+        (WebCore::GPULegacyTextureDescriptor::metal const):
+        * platform/graphics/gpu/legacy/cocoa/GPULegacyTextureMetal.mm: Renamed from Source/WebCore/platform/graphics/metal/GPULegacyTextureMetal.mm.
+        (WebCore::GPULegacyTexture::GPULegacyTexture):
+        (WebCore::GPULegacyTexture::width const):
+        (WebCore::GPULegacyTexture::height const):
+        (WebCore::GPULegacyTexture::metal const):
+
+2018-11-21  Adrian Perez de Castro  <aperez@igalia.com>
+
+        [SOUP] Certificate decoder always returns GByteArray with zero size
+        https://bugs.webkit.org/show_bug.cgi?id=191888
+
+        Reviewed by Žan Doberšek.
+
+        No new tests needed.
+
+        * platform/network/soup/CertificateInfo.h:
+        (WTF::Persistence::Coder<GRefPtr<GByteArray>>::decode): Add missing
+        call to g_byte_array_set_size() to make sure byteArray->len has the
+        correct value.
+
+2018-11-21  Zalan Butjas  <zalan@apple.com>
+
+        [LFC][IFC] Take nonBreakableStart/End into use.
+        https://bugs.webkit.org/show_bug.cgi?id=191873
+
+        Reviewed by Antti Koivisto.
+
+        Offset the final inline runs with the nonBreakableStart/End values.
+        (This patch also fixes relative positioned run verification.)
+
+        Test: fast/inline/inline-content-with-padding-left-right.html
+
+        * layout/Verification.cpp:
+        (WebCore::Layout::LayoutState::verifyAndOutputMismatchingLayoutTree const):
+        * layout/inlineformatting/InlineFormattingContext.cpp:
+        (WebCore::Layout::InlineFormattingContext::splitInlineRunIfNeeded const):
+
+2018-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        REGRESSION(r237845): [cairo] Hyperlink underscore layout issue
+        https://bugs.webkit.org/show_bug.cgi?id=191630
+
+        Reviewed by Michael Catanzaro.
+
+        Only flip Y in GlyphToPathTranslator for ports using CG.
+
+        * platform/graphics/FontCascade.cpp:
+        (WebCore::GlyphToPathTranslator::GlyphToPathTranslator):
+
+2018-11-21  Alicia Boya García  <aboya@igalia.com>
+
+        [MSE][GStreamer] Refactor AppendPipeline deinitialization
+        https://bugs.webkit.org/show_bug.cgi?id=191759
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        AppendPipeline currently has a method, clearPlayerPrivate(), that the
+        client code uses to deinitialize most of the AppendPipeline... just
+        before actually destructing it in the next line of code.
+
+        Since at that point there should not be alive RefPtr's pointing to the
+        AppendPipeline there is no need for this kind of pre-deinitialization
+        in this usage pattern. Instead, we can just rely on C++ destructors,
+        cleaning the code a bit and removing the potential for the question
+        "what if `clearPlayerPrivate() has been called before?`": it has not.
+
+        Assertions have been added to ensure that there is only one alive
+        RefPtr pointing to AppendPipeline, therefore guaranteeing its immediate
+        destruction.
+
+        * platform/graphics/gstreamer/mse/AppendPipeline.cpp:
+        (WebCore::AppendPipeline::~AppendPipeline):
+        (WebCore::AppendPipeline::deinitialize):
+        (WebCore::AppendPipeline::clearPlayerPrivate): Deleted.
+        * platform/graphics/gstreamer/mse/AppendPipeline.h:
+        * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
+        (WebCore::MediaPlayerPrivateGStreamerMSE::~MediaPlayerPrivateGStreamerMSE):
+        * platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp:
+        (WebCore::MediaSourceClientGStreamerMSE::removedFromMediaSource):
+
+2018-11-20  Dean Jackson  <dino@apple.com>
+
+        Removing using namespace WebCore from WebLayer
+        https://bugs.webkit.org/show_bug.cgi?id=191870
+        <rdar://problem/46192206>
+
+        Rubber-stamped by Sam Weinig.
+
+        Remove "using namespace WebCore" from WebLayer.mm
+        because it will cause type clashes in unified source
+        builds.
+
+        * platform/graphics/mac/WebLayer.mm:
+        (-[WebLayer drawInContext:]):
+        (-[WebSimpleLayer setNeedsDisplay]):
+        (-[WebSimpleLayer setNeedsDisplayInRect:]):
+        (-[WebSimpleLayer display]):
+        (-[WebSimpleLayer drawInContext:]):
+
+2018-11-20  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Input element gains focus when a selectstart event listener on document prevents the default action
+        https://bugs.webkit.org/show_bug.cgi?id=191714
+        <rdar://problem/46174389>
+
+        Reviewed by Antti Koivisto.
+
+        The bug was caused by WebKit keep firing selectstart upon mousemove after the drag had already started
+        when preventDefault had been called in the previous firings of selectstart event. Because input element
+        has its own editable element and fires selectstart on the input element itself, which won't be prevented
+        by selectstart on docuemnt, this allowed the selection to be set inside the input element even though
+        the mouse cursor was simply passing over the input element after the drag had already started.
+
+        Fixed the bug by not firing selectstart if the default action had been prevented by the initial firing
+        of selectstart by setting m_mouseDownMayStartDrag to false. This also matches the behaviors of Chrome
+        and Firefox.
+
+        Test: fast/events/selectstart-prevent-default-should-not-focus-input.html
+
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
+        (WebCore::EventHandler::updateSelectionForMouseDrag):
+
+2018-11-20  Christopher Reid  <chris.reid@sony.com>
+
+        Remove the need for LocalizedStringsWPE.cpp
+        https://bugs.webkit.org/show_bug.cgi?id=191854
+
+        Reviewed by Michael Catanzaro.
+
+        No change in behavior.
+
+        Consolidate "Search the Web" as the default search context menu text on non-COCOA ports.
+
+        GTK, WPE, and non-CF WIN all had the same default localizedString function
+        of String::fromUTF8. Move that to LocalizedString.cpp as the default implementation
+        for all ports not using CF.
+
+        * en.lproj/Localizable.strings:
+        * platform/LocalizedStrings.cpp:
+        * platform/gtk/LocalizedStringsGtk.cpp:
+        * platform/win/LocalizedStringsWin.cpp:
+        * platform/wpe/LocalizedStringsWPE.cpp: Removed.
+
+2018-11-20  Zan Dobersek  <zdobersek@igalia.com>
+
+        Segfaults on https://terminalizer.com/
+        https://bugs.webkit.org/show_bug.cgi?id=191805
+
+        Reviewed by Michael Catanzaro.
+
+        In HarfBuzzFace, the CacheEntry's HashMap object that caches Unicode
+        codepoints and their corresponding glyph indices should allow zero
+        values as valid keys since zero is a valid Unicode codepoint.
+
+        This change enables properly caching zero codepoints, avoiding
+        repetitive additions to the HashMap cache that end up in a crash.
+
+        * platform/graphics/harfbuzz/HarfBuzzFace.h: Move the elongated
+        GlyphCache type alias to the public section of HarfBuzzFace class
+        declaration, making it reusable in the helper HarfBuzzFontData struct.
+        * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
+
+2018-11-20  Antti Koivisto  <antti@apple.com>
+
+        Update hover state in composed tree
+        https://bugs.webkit.org/show_bug.cgi?id=191860
+
+        Reviewed by Zalan Bujtas.
+
+        The code was already mostly switched over from render tree to composed tree.
+        This patch replaces the remaining common ancestor search code with a DOM based equivalent.
+
+        * dom/Document.cpp:
+        (WebCore::findNearestCommonComposedAncestor):
+        (WebCore::Document::updateHoverActiveState):
+        (WebCore::nearestCommonHoverAncestor): Deleted.
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::hoverAncestor const): Deleted.
+        * rendering/RenderBlock.h:
+        * rendering/RenderElement.cpp:
+        (WebCore::RenderElement::hoverAncestor const): Deleted.
+
+        No longer needed.
+
+        * rendering/RenderElement.h:
+
 2018-11-20  Zalan Bujtas  <zalan@apple.com>
 
         [LFC][IFC] Measure run with non-breakable start/end.