| Index: services/ui/surfaces/display_output_surface.cc
|
| diff --git a/services/ui/surfaces/display_output_surface.cc b/services/ui/surfaces/display_output_surface.cc
|
| index 37604e770553fb265c01fceb7bd7149b56a51500..85ece68dd7dfaa9e5d9c8c295e188d26eab6ab94 100644
|
| --- a/services/ui/surfaces/display_output_surface.cc
|
| +++ b/services/ui/surfaces/display_output_surface.cc
|
| @@ -54,17 +54,32 @@ void DisplayOutputSurface::BindFramebuffer() {
|
| context_provider()->ContextGL()->BindFramebuffer(GL_FRAMEBUFFER, 0);
|
| }
|
|
|
| +void DisplayOutputSurface::SetDrawRectangle(const gfx::Rect& rect) {
|
| + if (set_draw_rectangle_for_frame_)
|
| + return;
|
| + DCHECK(gfx::Rect(size_).Contains(rect));
|
| + DCHECK(has_set_draw_rectangle_since_last_resize_ ||
|
| + (gfx::Rect(size_) == rect));
|
| + set_draw_rectangle_for_frame_ = true;
|
| + has_set_draw_rectangle_since_last_resize_ = true;
|
| + context_provider()->ContextGL()->SetDrawRectangleCHROMIUM(
|
| + rect.x(), rect.y(), rect.width(), rect.height());
|
| +}
|
| +
|
| void DisplayOutputSurface::Reshape(const gfx::Size& size,
|
| float device_scale_factor,
|
| const gfx::ColorSpace& color_space,
|
| bool has_alpha,
|
| bool use_stencil) {
|
| + size_ = size;
|
| + has_set_draw_rectangle_since_last_resize_ = false;
|
| context_provider()->ContextGL()->ResizeCHROMIUM(
|
| size.width(), size.height(), device_scale_factor, has_alpha);
|
| }
|
|
|
| void DisplayOutputSurface::SwapBuffers(cc::OutputSurfaceFrame frame) {
|
| DCHECK(context_provider_);
|
| + set_draw_rectangle_for_frame_ = false;
|
| if (frame.sub_buffer_rect) {
|
| context_provider_->ContextSupport()->PartialSwapBuffers(
|
| *frame.sub_buffer_rect);
|
|
|