Check the traversal state in CompositeEditCommand::cloneParagraphUnderNewElement.

CompositeEditCommand::cloneParagraphUnderNewElement(const Position& start, const Position& end, Node* passedOuterNode, Element* blockElement) copies target elements between |start| and |end| to |blockElement|.
This function can crash if it traverses on a strange tree.

The root issue of issue 338558 is that it inserts a node after a node which has no parent.

BUG=338558

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172967 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert 172391 "Apply the correct style to first-letter pseudo el..."

Caused many use-after-free regressions on ClusterFuzz.

> Apply the correct style to first-letter pseudo elements composed of different renderers
> 
> Traverse (in preorder) the whole subtree under a render block with a first-letter selector when
> looking for the text renderers which would need to get the apropriate style applied, instead of
> only considering the first renderer only, which might not contain all the text that should be
> considered as a "first letter" (leading and trailing punctuation should be included too).
> 
> The present patch also considers leading spaces, if any, as part of the first-letter element,
> to match the behaviour of other renderers such as IE and Opera (Firefox does not do that).
> 
> R=eseidel@chromium.org, eae@chromium.org, leviw@chromium.org
> BUG=354403
> TEST=Add new test to check first-letter elements composed of different renderers.
> 
> Review URL: https://codereview.chromium.org/249353003

TBR=mario.prada@samsung.com

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

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