commit | 64461531b578e20751309ffabcbe67493c934ced | [log] [tgz] |
---|---|---|
author | Fady Samuel <fsamuel@chromium.org> | Thu Feb 22 23:19:56 2018 |
committer | Fady Samuel <fsamuel@chromium.org> | Thu Feb 22 23:19:56 2018 |
tree | c6ad28a5ea952d29fc7330049ba2ffde9b047311 | |
parent | a6e30d9f7e7a0ffd5c5fa880e01718299b6fe241 [diff] |
Surface synchronization: Update compositor scale factor whenever changes If device emulation was enabled then the WebViewImpl device scale factor may not change as system device scale factor changes. Surface synchronization expects that every surface have a fixed device scale factor. Prior to this CL, the layer compositor's view of device scale factor may not be updated as system device scale factor changes when device emulation is enabled. This would cause the layer compositor to submit a CompositorFrame with an incorrect device scale factor. This resulted in two problems: 1. Surface invariants violation error could result if device emulation is later disabled. This can happen if the system DSF changes but the device emulated DSF does not and then device emulation is turned off with the new system DSF. 2. SurfaceAggregator does relative scaling of surfaces based on their reported device scale factor. If the CompositorFrame doesn't report its device scale factor correctly, it will be scaled incorrectly. TBR=fsamuel@chromium.org (cherry picked from commit e24c90e284ccaae925132cc0271d9179b5560ec3) Bug: 791154, 672962 TBR: bokan@chromium.org Change-Id: I68be4142a83806b8893185ca9e542afada126b9f Reviewed-on: https://chromium-review.googlesource.com/925682 Commit-Queue: Fady Samuel <fsamuel@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#538042} Reviewed-on: https://chromium-review.googlesource.com/933106 Reviewed-by: Fady Samuel <fsamuel@chromium.org> Cr-Commit-Position: refs/branch-heads/3325@{#561} Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .