Always add positioned objects to Legacy OOF container.

Add LayoutNGBlockFlow::CachedLayoutResultForTesting method to enable 
fragment access from unit tests.

# Reason for patch:

Legacy has a fast layout code path that does not call
LayoutNGBlockFlow::UpdateBlockLayout. This path updates 
overflow, and position of OOF descendants. Because of this, 
Legacy containers must know about all OOF descendants.

Existing code did not let Legacy containers know about NG OOF 
descendants. This CL fixes this.

# Unit tests problems.

This patch will affect future webkit_unit_tests. NGBlockNode::Layout 
will DCHECK if done outside of the performLayout cycle if 
NGBlockNode has OOF descendants. 

The core cause is this:
NGBlockNode::CopyFragmentToLegacyLayout calls 
LayoutBox::LayoutPositionedObjects. LayoutPositionedObjects 
asserts that View()->IsInPerformLayout()

This patch fixes four existing failing tests.

1) NGBlockLayoutAlgorithmTest.CollapsingMarginsEmptyBlockWithClearance
Fixed by inspecting LayoutObjects instead of fragments.

2) NGOutOfFlowLayoutPartTest.FixedInsideAbs
Fixed by 

3) NGOutOfFlowLayoutPartTest.OrthogonalWritingMode1
4) NGOutOfFlowLayoutPartTest.OrthogonalWritingMode2
Removed, code already covered by existing LayoutTests.

Bug: 740993
Change-Id: I3a87ef5cdac883517bc3db33e0569668161ff806
Reviewed-on: https://chromium-review.googlesource.com/722760
Commit-Queue: Aleks Totic <atotic@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510149}
7 files changed