[LayoutNG] Fix MarkLineBoxesDirtyFor for form controls

This patch fixes |MarkLineBoxesDirtyFor()| when the object is
an atomic inline that is not LayoutNGBlockFlow; e.g., form
controls.

It fails because |EnclosingNGBlockFlow()| returns itself if
the given object is LayoutBox, and if the atomic inline is
in legacy, it returns nullptr.

This problem keeps occuring, and there are two fixes done
independently. To avoid this happening again, this patch
also removes |EnclosingNGBlockFlow()| and add
|ContainingNGBlockFlow()| instead.

Bug: 636993
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng;luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ia01a197697b1d4b3da3efde18154e33ece289529
Reviewed-on: https://chromium-review.googlesource.com/c/1278667
Commit-Queue: Koji Ishii <kojii@chromium.org>
Reviewed-by: Yoichi Osato <yoichio@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599876}
17 files changed