Index: cc/output/output_surface.cc |
diff --git a/cc/output/output_surface.cc b/cc/output/output_surface.cc |
index fe2b074ee46d033f7900054ccb164dc3b3992cae..051b5fc92397887debdf23b6d0def74afde7cab1 100644 |
--- a/cc/output/output_surface.cc |
+++ b/cc/output/output_surface.cc |
@@ -112,8 +112,18 @@ void OutputSurface::DiscardBackbuffer() { |
} |
void OutputSurface::Reshape(gfx::Size size, float scale_factor) { |
- DCHECK(context3d_); |
- context3d_->reshapeWithScaleFactor(size.width(), size.height(), scale_factor); |
+ if (size == surface_size_ && scale_factor == device_scale_factor_) |
+ return; |
+ |
+ surface_size_ = size; |
+ device_scale_factor_ = scale_factor; |
+ if (context3d_) |
piman
2013/06/05 00:52:08
nit: brackets needed.
|
+ context3d_->reshapeWithScaleFactor( |
+ size.width(), size.height(), scale_factor); |
+} |
+ |
+gfx::Size OutputSurface::SurfaceSize() const { |
+ return surface_size_; |
} |
void OutputSurface::BindFramebuffer() { |