Version: ToT at r508367
Repro in a unit test:
TEST_F(VisibleUnitsTest,
MostBackwardCaretPositionInRemainingTextWithLeadingCollapsedSpace) {
InsertStyleElement(
"div {white-space: pre-line}"
"div::first-letter {color:red}");
SetBodyContent("<div>F \nbar</div>");
const Node* text = GetDocument().QuerySelector("div")->firstChild();
EXPECT_EQ(Position(text, 1), MostBackwardCaretPosition(Position(text, 2)));
}
However, current implementation returns text@2.
The root cause is that, CanBeBackwardCaretPosition() assumes that the remaining text always starts with non-collapsed character, which is incorrect as in our example.
Comment 1 by xiaoche...@chromium.org
, Oct 12 2017