Refactor color selection out of InlineTextBox::paint.

BUG=388946

Review URL: https://codereview.chromium.org/367973003

git-svn-id: svn://svn.chromium.org/blink/trunk@177426 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Auto-rebaseline for r177416

http://src.chromium.org/viewvc/blink?view=revision&revision=177416

BUG=391044
TBR=lushnikov@chromium.org

Review URL: https://codereview.chromium.org/362363003

git-svn-id: svn://svn.chromium.org/blink/trunk@177427 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Split list marker updating into two steps

This patch reverts r164210[1] and fixes it in a different way. A list
marker can be parented on different renderers and changing a list
marker to being "inside" can change the parent. This patch splits the
reparent and update steps from invalidating list marker parent's width.
This refactoring has a few advantages such as removing the
preferredLogicalWidthsDirty check and not dirtying the marker's child
lines since these steps happen naturally as part of reparenting the
marker renderer.

Detailed changes:
1) updateMarkerLocation is now a private implementation detail of
RenderListItem.
2) The reparent and update steps have been refactored out of
updateMarkerLocation. updateMarkerLocation now reparents and updates
the marker while updateMarkerLocationAndInvalidateWidth adds a width
invalidation step that's necessary only during layout (before layout it
wouldn't do anything).
3) The comment "Sanity check the location of our marker." has been
removed--there is no sanity in the render list marker code.
4) HTMLLIElement::attach now just does the reparent and update steps
instead of also invalidating the marker's width.

[1] https://src.chromium.org/viewvc/blink?view=rev&revision=164210

BUG=301196,390569

Review URL: https://codereview.chromium.org/368733002

git-svn-id: svn://svn.chromium.org/blink/trunk@177428 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Auto-rebaseline for r177415

http://src.chromium.org/viewvc/blink?view=revision&revision=177415

BUG=360286
TBR=jchaffraix@chromium.org

Review URL: https://codereview.chromium.org/370453003

git-svn-id: svn://svn.chromium.org/blink/trunk@177429 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Initialize WebCore::Frame when swapping frames.

Combine the logic for initializing the WebCore Frame for main frames
and child frames so that the logic can be used to initialize WebCore
state as well when swapping a local frame in.

Also adds a few tests for WebFrame::swap() and fixes a memory leak
issue with WebRemoteFrame, due to WebRemoteFrame::close() being
unimplemented.

BUG=346764

Review URL: https://codereview.chromium.org/346403002

git-svn-id: svn://svn.chromium.org/blink/trunk@177430 bbb929c8-8fbe-4397-9dbb-9b2b20218538