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