summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-25 17:30:07 +0000
committerbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-25 17:30:07 +0000
commit1cda0485d4adf8cbb159db0514c365e374794509 (patch)
tree7d04da6bd7215f71fe420c8e4da4f0ab72647b16 /content
parent64b3d13e30dbefe70e32b3fb5d7b95e28a1100d7 (diff)
downloadchromium_src-1cda0485d4adf8cbb159db0514c365e374794509.zip
chromium_src-1cda0485d4adf8cbb159db0514c365e374794509.tar.gz
chromium_src-1cda0485d4adf8cbb159db0514c365e374794509.tar.bz2
Stronger synchronization for resize on osmesa.
We need to synchronize resize with when the renderer thinks that the resize occurs. This patch get's rid of display artifacts when resizing window on http://webkit.org/blog-files/3d-transforms/poster-circle.html when running with --use-gl=osmesa on linux. BUG=none TEST=see description Review URL: http://codereview.chromium.org/9212058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119082 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r--content/common/gpu/image_transport_surface.cc4
-rw-r--r--content/common/gpu/image_transport_surface.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/content/common/gpu/image_transport_surface.cc b/content/common/gpu/image_transport_surface.cc
index ff85e90..6aff43d 100644
--- a/content/common/gpu/image_transport_surface.cc
+++ b/content/common/gpu/image_transport_surface.cc
@@ -254,10 +254,14 @@ void PassThroughImageTransportSurface::OnPostSubBufferACK() {
}
void PassThroughImageTransportSurface::OnResizeViewACK() {
+ Resize(new_size_);
+
helper_->SetScheduled(true);
}
void PassThroughImageTransportSurface::OnResize(gfx::Size size) {
+ new_size_ = size;
+
helper_->SendResizeView(size);
helper_->SetScheduled(false);
}
diff --git a/content/common/gpu/image_transport_surface.h b/content/common/gpu/image_transport_surface.h
index 107a530..d977348 100644
--- a/content/common/gpu/image_transport_surface.h
+++ b/content/common/gpu/image_transport_surface.h
@@ -163,6 +163,7 @@ class PassThroughImageTransportSurface
private:
scoped_ptr<ImageTransportHelper> helper_;
+ gfx::Size new_size_;
DISALLOW_COPY_AND_ASSIGN(PassThroughImageTransportSurface);
};