[Mac] Make synchronized content resize/repaint visually atomic.
NSDisableScreenUpdates() is advertised for making visually atomic changes that affect multiple windows, but it it's also effective when multiple processes have layers in the same window. macOS uses it to synchronize resizing of out-of-process views like NSOpenPanel. Leaving screen updates disabled for too long can create funky visual artifacts within and behind Chrome windows if left on for too long. This waits to flip it until a frame has been produced of the new size, and it's only on during the (very brief) compositor swap. Bug: 617824, 741478 Change-Id: Id6ddfb8848342d6e4b148207a3f76125774081d6 Reviewed-on: https://chromium-review.googlesource.com/798774 Commit-Queue: Sidney San Martín <sdy@chromium.org> Reviewed-by:ccameron <ccameron@chromium.org> Cr-Commit-Position: refs/heads/master@{#523982}
Showing
Please register or sign in to comment