Move docked magnifier out of magnified contents
Currently, docked magnifier container is nested inside containers that have contents to be magnified, essentially creating a cycle (magnifier magnifying itself). Since docked magnifier uses ui::Reflector, it is not an issue because ui::Reflector is one frame behind, magnifying the previous frame. However, ui::Refelctor does not work with out-of-process display compositor (OOP-D). Our solution to the OOP-D case is to update generated compositor frame to create a RenderPass for the magnified content and refer to that RenderPass twice in the compositor frame: once where the content should appear normally, and once inside the magnified viewport. This way the magnifier is not one frame behind anymore, however, we need to break the cycle mentioned above. To remove the cycle, this CL creates a container for the magnified content (called MagnifiedContainer) and makes the DockedMagnifierContainer a sibling of this new container. BUG=947565 Change-Id: Id8d685f90667eac0302b788ffc6d17d02fb79435 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1628909Reviewed-by:Scott Violet <sky@chromium.org> Reviewed-by:
Ahmed Fakhry <afakhry@chromium.org> Commit-Queue: Mohsen Izadi <mohsen@chromium.org> Cr-Commit-Position: refs/heads/master@{#664302}
Showing
Please register or sign in to comment