[LayoutNG] Fix excessive MarkLineBoxes when line wraps

This patch fixes to mark only the last line when we need to
mark the previous LayoutObject of changed object, and it
wraps.

Also uses bitfields to skip unnnecessary calls to
FirstInlineFragment() under some conditions.

Bug: 636993
Change-Id: I11471477825c1b8fb1867e5b7b654d695f332b3a
Reviewed-on: https://chromium-review.googlesource.com/c/1290710
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: Emil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602637}
4 files changed