Add toSVGTextPathElement(), and use it
https://bugs.webkit.org/show_bug.cgi?id=119783

Reviewed by Ryosuke Niwa.

As a step to clean-up static_cast<SVGXXX>, static_cast<SVGTextPathElement*> can
be changed with toSVGTextPathElement().

* rendering/svg/RenderSVGTextPath.cpp:
(WebCore::RenderSVGTextPath::layoutPath):
(WebCore::RenderSVGTextPath::startOffset):
(WebCore::RenderSVGTextPath::exactAlignment):
(WebCore::RenderSVGTextPath::stretchMethod):
* svg/SVGTextPathElement.h:
(WebCore::toSVGTextPathElement):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Grid Layout] Align our grid-line handling with the updated specification
https://bugs.webkit.org/show_bug.cgi?id=113546

Reviewed by Andreas Kling.

From Blink r148091 by <jchaffraix@chromium.org>

Source/WebCore:

This change makes us match the updated specification by making
grid line numbers to always resolve against the
grid-{column|row}-start edge (the previous code would resolve
grid-{column|row}-end grid lines against the grid-{column|row}-end
edge).

To keep feature parity, negative numbers resolve against the
grid-{column|row}-end edge of the 'explicit grid'.

Test: fast/css-grid-layout/grid-item-negative-integer-explicit-grid-resolution.html

* rendering/RenderGrid.cpp:
(WebCore::estimatedGridSizeForPosition):
(WebCore::RenderGrid::explicitGridColumnCount): New utility function.
(WebCore::RenderGrid::explicitGridRowCount): Ditto.
(WebCore::RenderGrid::maximumIndexInDirection): Use explicitGridXXXCount().
(WebCore::RenderGrid::resolveGridPositionsFromStyle): Check that row-end > row-start.
(WebCore::RenderGrid::resolveGridPositionFromStyle): Clamp negative values to the first line.
* rendering/RenderGrid.h:
* rendering/style/GridPosition.h:

LayoutTests:

Added a couple of new tests to cover the cases of grid resolutions
using negative integers. Negative integers must resolve against
the grid-{column|row}-end of the explicit grid.

* fast/css-grid-layout/grid-auto-flow-resolution-expected.txt:
* fast/css-grid-layout/grid-auto-flow-resolution.html:
* fast/css-grid-layout/grid-item-negative-integer-explicit-grid-resolution-expected.txt: Added.
* fast/css-grid-layout/grid-item-negative-integer-explicit-grid-resolution.html: Added.
* fast/css-grid-layout/grid-item-spanning-resolution-expected.txt:
* fast/css-grid-layout/grid-item-spanning-resolution.html:
* fast/css-grid-layout/resources/grid.css:
(.autoLastRowAutoLastColumn):
(.autoSecondRowAutoFirstColumn):
(.firstRowBothColumn):
(.secondRowBothColumn):
(.bothRowFirstColumn):
(.bothRowSecondColumn):
(.bothRowBothColumn):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ASSERT(m_frame->view() == this) fails
https://bugs.webkit.org/show_bug.cgi?id=119015

Reviewed by Simon Fraser.

Introduced the method fixedLayoutSizeChanged and made it chack if the view
is attached to the frame before issuing contentsResized.

* page/FrameView.cpp:
(WebCore::FrameView::fixedLayoutSizeChanged):
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::setFixedLayoutSize):
(WebCore::ScrollView::setUseFixedLayout):
(WebCore::ScrollView::fixedLayoutSizeChanged):
* platform/ScrollView.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154045 268f45cc-cd09-0410-ab3c-d52691b4dbfc