• Mohsen Izadi's avatar
    Move docked magnifier out of magnified contents · bd4e1c48
    Mohsen Izadi authored
    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: default avatarScott Violet <sky@chromium.org>
    Reviewed-by: default avatarAhmed Fakhry <afakhry@chromium.org>
    Commit-Queue: Mohsen Izadi <mohsen@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#664302}
    bd4e1c48
shell_window_ids.h 7.94 KB