summaryrefslogtreecommitdiffstats
path: root/cc/scheduler/scheduler_state_machine_unittest.cc
diff options
context:
space:
mode:
authorccameron@chromium.org <ccameron@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-12 08:00:06 +0000
committerccameron@chromium.org <ccameron@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-12 08:00:06 +0000
commitb027bb7ba4d6a8f8b42ea3848d4efd64218675ad (patch)
treeffd8c4c243d9c617e212d6927fb7c9ac06305ef9 /cc/scheduler/scheduler_state_machine_unittest.cc
parent9a001bc0c8aa42c276279cb1229875cd7bc613d0 (diff)
downloadchromium_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