diff options
author | backer@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-25 17:30:07 +0000 |
---|---|---|
committer | backer@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-25 17:30:07 +0000 |
commit | 1cda0485d4adf8cbb159db0514c365e374794509 (patch) | |
tree | 7d04da6bd7215f71fe420c8e4da4f0ab72647b16 /content | |
parent | 64b3d13e30dbefe70e32b3fb5d7b95e28a1100d7 (diff) | |
download | chromium_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.cc | 4 | ||||
-rw-r--r-- | content/common/gpu/image_transport_surface.h | 1 |
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); }; |