Clean up WebViewImpl to only allow compositing setup code to run when compositing.

Previously, a Page inside of the WebViewImpl would think that
compositing was possible, even in cases when there is no WebLayerTreeView available.
Only while setting it up would the code in WebViewImpl undo
that, which is wrong.

If there is no WebLayerTreeView, then compositing is not
possible. In that case, tell the page that compositing is
not supported, so it doesn't try to set it up.

BUG=

Review URL: https://codereview.chromium.org/408443003

git-svn-id: svn://svn.chromium.org/blink/trunk@178589 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Should use new document size to compute scrollbars when updating overflow

There was a bug in previous CL that when updating overflow, the new scrollbar
status is computed using the old document size. This results the frame in an
inconsistent state that the document size is updated but scrollbar state is
dirty, and layout will be called indefinitely.

This CL does two things:
1. Use the new document size to compute scrollbars so we don't result in an
   inconsistent state.
2. Add early exit if the new document rect isn't changed so we don't attempt
   to update scrollbars at all. This helps the corner case that the scrollbar
   state still doesn't converge after 3 trials.

BUG=391924

Review URL: https://codereview.chromium.org/384933002

git-svn-id: svn://svn.chromium.org/blink/trunk@178592 bbb929c8-8fbe-4397-9dbb-9b2b20218538