diff options
author | ccameron@chromium.org <ccameron@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-12 08:00:06 +0000 |
---|---|---|
committer | ccameron@chromium.org <ccameron@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-12 08:00:06 +0000 |
commit | b027bb7ba4d6a8f8b42ea3848d4efd64218675ad (patch) | |
tree | ffd8c4c243d9c617e212d6927fb7c9ac06305ef9 /cc/scheduler/scheduler_state_machine_unittest.cc | |
parent | 9a001bc0c8aa42c276279cb1229875cd7bc613d0 (diff) | |
download | chromium_src-b027bb7ba4d6a8f8b42ea3848d4efd64218675ad.zip chromium_src-b027bb7ba4d6a8f8b42ea3848d4efd64218675ad.tar.gz chromium_src-b027bb7ba4d6a8f8b42ea3848d4efd64218675ad.tar.bz2 |
CoreAnimation: Ensure that frames are drawn after window resize
In this bug, the layer will be displayed in a strange state where the
the GL contents are inappropriately translated, and the background
color, which should never be visible for a CAOpenGLLayer sub-class, is
visible.
There are two bugs at play.
The first bug is in drawInCGLContext where we infer the size of the
surface we're drawing to from the layer's bounds. This is not correct,
the size of the surface being drawn to is the GL_VIEWPORT when
drawInCGLContext is called. Re-cast this as a window size, taking
into account contents scale (this can be simplified when the
non-CoreAnimation code is not needed).
With that fixed, we no longer see strange garbage. Rather, we start
seeing just the old frame (so, the bottom bit of the frame corresponding
to size of the now-removed infobar is now missing).
The second bugs is another instance of the well-established fact that
setDisplay will often be dropped on the floor. This happens pretty
consistently during the resize. Add the usual fix of immediately
calling displayIfNeeded.
BUG=350817
Review URL: https://codereview.chromium.org/194593003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256479 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/scheduler/scheduler_state_machine_unittest.cc')
0 files changed, 0 insertions, 0 deletions