mac: Fix a bug where navigating away from NTP flashes a grey bar.
commit14ba9442cd91d36890d0002762597fc49b3a86df
authorerikchen@chromium.org <erikchen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Tue, 11 Mar 2014 01:01:56 +0000 (11 01:01 +0000)
committererikchen@chromium.org <erikchen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Tue, 11 Mar 2014 01:01:56 +0000 (11 01:01 +0000)
tree5a25a9e3ac922368e972b5556fc3b5e58e133904
parentf8c39666afc2ef3136684cdff4d2fcedc1c08112
mac: Fix a bug where navigating away from NTP flashes a grey bar.

This is the mac implementation for a fix written by kuan@ at
crrev.com/21843003.

The existing mac layout code relies on an assumption that the RWHV always has
the same size as the WCV. Any time the size of the WCV changes, the
relative change is propagated to the RWHV. This CL enables kuan's NTP fix,
which prematurely increases the size of the RWHV before the WCV size is
updated. When the size of the WCV changes, instead of propagating a relative
size change to the RWHV, the WCV resets the size of the RWHV to its own size.

This change gives SizeContents a no-op implementation, as the existing
implementation has never worked. In the previous implementation, it was
possible for the contents module to change the size of the wcv (that's the
whole point of SizeContents). However, the chrome embedder makes the assumption
that it is the only one to set the size of the wcv, and all size changes are
propagated down as relative size changes. If SizeContents were to change the
size of the wcv, the size of the wcv would forever be out of sync.

BUG=264207, 317760

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256090 0039d316-1c4b-4281-b951-d872f2087c98
chrome/browser/ui/browser_browsertest.cc
chrome/browser/ui/cocoa/browser_window_cocoa.mm
content/browser/web_contents/web_contents_impl_browsertest.cc
content/browser/web_contents/web_contents_view_mac.mm
content/shell/browser/shell.h
content/shell/browser/shell_mac.mm