Update adjust_src_dst_region_for_blitframebuffer workaround to adjust both src and dst rectangles

This workaround previously only adjusted the src rectangle and then
proportionally adjusted the dst rectangle. In cases where the src
rectangle is inside the framebuffer and the dst rectangle is very
large, the workaround would leave the dst rectangle unchanged. This
update first adjusts the dst rectangle and computes the adjusted
corresponding src rectangle. It then uses the previous code to adjust
the src rectangle and compute the corresponding dst rectangle.

Bug: 830046, 926107
Change-Id: I57374f0132f07a1ef57dccac48e117910bbc192b
Reviewed-on: https://chromium-review.googlesource.com/c/1455310
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: James Darpinian <jdarpinian@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631804}
3 files changed