summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--android_webview/browser/hardware_renderer.cc13
-rw-r--r--android_webview/browser/hardware_renderer.h3
2 files changed, 7 insertions, 9 deletions
diff --git a/android_webview/browser/hardware_renderer.cc b/android_webview/browser/hardware_renderer.cc
index d83e943..a1518005 100644
--- a/android_webview/browser/hardware_renderer.cc
+++ b/android_webview/browser/hardware_renderer.cc
@@ -74,8 +74,6 @@ scoped_refptr<cc::ContextProvider> CreateContext(
HardwareRenderer::HardwareRenderer(SharedRendererState* state)
: shared_renderer_state_(state),
last_egl_context_(eglGetCurrentContext()),
- view_width_(-1),
- view_height_(-1),
viewport_clip_valid_for_dcheck_(false),
root_layer_(cc::Layer::Create()),
output_surface_(NULL) {
@@ -161,10 +159,11 @@ bool HardwareRenderer::DrawGL(bool stencil_enabled,
// suppresses the transform.
input->frame.delegated_frame_data->device_scale_factor = 1.0f;
- bool size_changed =
- input->width != view_width_ || input->height != view_height_;
- view_width_ = input->width;
- view_height_ = input->height;
+ gfx::Size frame_size =
+ input->frame.delegated_frame_data->render_pass_list.back()
+ ->output_rect.size();
+ bool size_changed = frame_size != frame_size_;
+ frame_size_ = frame_size;
scroll_offset_ = input->scroll_offset;
if (!frame_provider_ || size_changed) {
@@ -176,7 +175,7 @@ bool HardwareRenderer::DrawGL(bool stencil_enabled,
resource_collection_.get(), input->frame.delegated_frame_data.Pass());
delegated_layer_ = cc::DelegatedRendererLayer::Create(frame_provider_);
- delegated_layer_->SetBounds(gfx::Size(view_width_, view_height_));
+ delegated_layer_->SetBounds(gfx::Size(input->width, input->height));
delegated_layer_->SetIsDrawable(true);
root_layer_->AddChild(delegated_layer_);
diff --git a/android_webview/browser/hardware_renderer.h b/android_webview/browser/hardware_renderer.h
index 8adbf0e..d2bf596 100644
--- a/android_webview/browser/hardware_renderer.h
+++ b/android_webview/browser/hardware_renderer.h
@@ -71,8 +71,7 @@ class HardwareRenderer : public HardwareRendererInterface,
EGLContext last_egl_context_;
// Information about last delegated frame.
- int view_width_;
- int view_height_;
+ gfx::Size frame_size_;
gfx::Vector2d scroll_offset_;
// Information from draw.