Stacked floats with shape-outside should allow inline content to interact with the non-outermost float

Make inline content interact with stacked floats with shape-outside per
the spec. This means that content can interact with floats on the line
that are not the outermost float.

This refactors ComputeFloatOffsetAdapter into a superclass and two
subclasses: one adaptor for determining the offset for float layout, and
one for determining the offset for inline layout.

The logic in LineWidth::shrinkAvailableWidthForNewFloatIfNeeded has been
updated to handle stacked floats with shape-outside properly and has
been considerably simplified in the process. It was previously doing a
whole bunch of unnecessary work.

This is a port from WebKit of http://trac.webkit.org/changeset/162217

BUG=249140

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168155 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add an accessibility role for the iframe element.

We can add a layout test after adding TestRunner support on the Chromium side,
or we could just test it in Chromium.

BUG=347464

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168156 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make RenderObject non-copyable.

Important since pointers been replaced with references.

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168157 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Minor cosmetic cleanup in FrameView

Micro cleanup of awkward nested 'if statement' in FrameView::layout().

BUG=

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

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

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

BUG=345609
TBR=tkent@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168159 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix crash in CompositeEditCommand::cloneParagraphUnderNewElement().

The root cause is CompositeEditCommand::moveParagraphWithClones() passing
two positions |start| and |end| which do not follow the document order,
i.e. in some situations |start| is located after |end| because of
the difference in affinity.

This patch fixes this crash by normalizing |end| to |start| in such situations.
It also adds an ASSERT that checks the relationship between |start| and |end|.

BUG=345005

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

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