Apply more unique_ptr to line box management.
<https://webkit.org/b/123857>

Make all of the functions that return newly-created line boxes
return them packed up in std::unique_ptrs.

There is one exception in RenderBlockLineLayout where the function
createInlineBoxForRenderer() is inconsistent about the ownership of
the returned object. This will be addressed by a subsequent patch.

We now "release" the line boxes into their various home structures,
so the pointer smartness doesn't go end-to-end just yet.

Reviewed by Anders Carlsson.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158718 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Protect DOM nodes in IndentOutdentCommand::tryIndentingAsListItem()
https://bugs.webkit.org/show_bug.cgi?id=123861

Reviewed by Benjamin Poulain.

Merge https://chromium.googlesource.com/chromium/blink/+/297442eb539a2b764fdad323de79099a70179186 partially.

* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::tryIndentingAsListItem): Make selectedListItem, previousList, and nextList
RefPtr since they're are used after calling insertNodeBefore.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158719 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Flaky Test: transitions/cancel-transition.html
https://bugs.webkit.org/show_bug.cgi?id=114193

Reviewed by Simon Fraser.

Merge https://chromium.googlesource.com/chromium/blink/+/983dbbff6c46b6365540bf1451f25b31d72ce893

* transitions/cancel-transition.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158720 268f45cc-cd09-0410-ab3c-d52691b4dbfc
valueForBorderRadiusShorthand returns wrong values in some case
https://bugs.webkit.org/show_bug.cgi?id=123866

Reviewed by Andreas Kling.

Source/WebCore: 

Merge https://chromium.googlesource.com/chromium/blink/+/0933728126f2db06ab8e945efc98bffa2d42af1c

Because valueForBorderRadiusShorthand misses the followings:
- showHorizontalBottomRight depends on showHorizontalBottomLeft.
- showHorizontalTopRight depends on showHorizontalBottomRight (including showHorizontalBottomLeft).

See also http://dev.w3.org/csswg/css-backgrounds/#the-border-radius

Test: fast/css/getComputedStyle/getComputedStyle-borderRadius-2.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::getBorderRadiusShorthandValue):

LayoutTests: 

* fast/css/getComputedStyle/getComputedStyle-borderRadius-2-expected.txt: Added.
* fast/css/getComputedStyle/getComputedStyle-borderRadius-2.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158721 268f45cc-cd09-0410-ab3c-d52691b4dbfc
simpleUserAgentStyleSheet doesn't have focus ring on anchor element
https://bugs.webkit.org/show_bug.cgi?id=123867

Reviewed by Andreas Kling.

Merge https://chromium.googlesource.com/chromium/blink/+/08ecc23c4d80be9969918c4baf0ac83dc6cb6cbd

* css/CSSDefaultStyleSheets.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158722 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Change the order of conditions to avoid computing rendererIsEditable()
https://bugs.webkit.org/show_bug.cgi?id=123868

Reviewed by Andreas Kling.

Merge https://chromium.googlesource.com/chromium/blink/+/c89b413ff0fc4aafa0c71d180b0b1e131bb37707

When we need both Node::renderer() and Node::rendererIsEditable() conditions to be true to perform
some operation, it is more effective to check for renderer() first, so that if this condition fails
we can avoid unnecessary computation of rendererIsEditable().

* dom/Position.cpp:
(WebCore::nextRenderedEditable):
(WebCore::previousRenderedEditable):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseReleaseEvent):


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