| Index: cc/surfaces/display.cc
|
| diff --git a/cc/surfaces/display.cc b/cc/surfaces/display.cc
|
| index d608fca1ab1b1159138276501ebe9214714d102f..457d55416e3473cc46480eaaaac692d231f9482f 100644
|
| --- a/cc/surfaces/display.cc
|
| +++ b/cc/surfaces/display.cc
|
| @@ -133,6 +133,10 @@ void Display::SetExternalClip(const gfx::Rect& clip) {
|
| external_clip_ = clip;
|
| }
|
|
|
| +void Display::SetExternalViewport(const gfx::Rect& viewport) {
|
| + external_viewport_ = viewport;
|
| +}
|
| +
|
| void Display::SetOutputIsSecure(bool secure) {
|
| if (secure == output_is_secure_)
|
| return;
|
| @@ -285,7 +289,9 @@ bool Display::DrawAndSwap() {
|
| }
|
|
|
| if (should_draw) {
|
| - gfx::Rect device_viewport_rect = gfx::Rect(current_surface_size_);
|
| + gfx::Rect device_viewport_rect = external_viewport_.IsEmpty()
|
| + ? gfx::Rect(current_surface_size_)
|
| + : external_viewport_;
|
| gfx::Rect device_clip_rect =
|
| external_clip_.IsEmpty() ? device_viewport_rect : external_clip_;
|
|
|
|
|