diff options
author | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-06 02:25:56 +0000 |
---|---|---|
committer | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-06 02:25:56 +0000 |
commit | 26df445d5fabd796387f0aaf46558e11c2489671 (patch) | |
tree | 4219778d2365a3ebc258f70e839c1910a403cef6 /cc/layers/io_surface_layer.cc | |
parent | db5cf810960812abf4a63f15725798f4a2fcc6eb (diff) | |
download | chromium_src-26df445d5fabd796387f0aaf46558e11c2489671.zip chromium_src-26df445d5fabd796387f0aaf46558e11c2489671.tar.gz chromium_src-26df445d5fabd796387f0aaf46558e11c2489671.tar.bz2 |
cc: Fix IOSurfaceLayer freezing during aborts
This is the IOSurfaceLayer equivalent of this video layer fix:
https://chromiumcodereview.appspot.com/21567003
R=danakj@chromium.org
BUG=268287
Review URL: https://chromiumcodereview.appspot.com/22314002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215760 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/layers/io_surface_layer.cc')
-rw-r--r-- | cc/layers/io_surface_layer.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/cc/layers/io_surface_layer.cc b/cc/layers/io_surface_layer.cc index 3ccbdd9..1e94515 100644 --- a/cc/layers/io_surface_layer.cc +++ b/cc/layers/io_surface_layer.cc @@ -40,4 +40,13 @@ void IOSurfaceLayer::PushPropertiesTo(LayerImpl* layer) { io_surface_layer->SetIOSurfaceProperties(io_surface_id_, io_surface_size_); } +bool IOSurfaceLayer::Update(ResourceUpdateQueue* queue, + const OcclusionTracker* occlusion) { + bool updated = Layer::Update(queue, occlusion); + + // This layer doesn't update any resources from the main thread side, + // but repaint rects need to be sent to the layer impl via commit. + return updated || !update_rect_.IsEmpty(); +} + } // namespace cc |