[LayoutNG] Fix abspos percentage margins

Margins were being computed incorrectly in abspos_utils.
Margins were not being copied to Legacy.

The tricky part is that if node is using old block layout,
strange margins get computed because of the way we enforce
abspos child size:
SetIsFixedSizeInline
causes block layout to compute margins wrt that fixed size.

The fix is to let Legacy block layout compute margins
incorrectly, and set them to correct values afterwards.

Bug: 740993
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: I6e9354fdcad0e0703bd35ad849300be9f223f618
Reviewed-on: https://chromium-review.googlesource.com/1119078
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Commit-Queue: Aleks Totic <atotic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571318}
5 files changed