diff options
author | jbauman <jbauman@chromium.org> | 2015-01-26 18:53:00 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-01-27 02:53:41 +0000 |
commit | c247da12fcca15fdcc948024287b94d6e63e9784 (patch) | |
tree | a70d6b32500dab15367155ce8ffe428a86a6fb85 /cc/surfaces/surface_aggregator.cc | |
parent | 474ba4f54ed0c050a74c35ec7ec73d849bc9f6ee (diff) | |
download | chromium_src-c247da12fcca15fdcc948024287b94d6e63e9784.zip chromium_src-c247da12fcca15fdcc948024287b94d6e63e9784.tar.gz chromium_src-c247da12fcca15fdcc948024287b94d6e63e9784.tar.bz2 |
Run draw callback immediately if no Display is damaged.
This may cause the draw callback to be run earlier than before if the Surface would later be added to a Display, but prevents it ensures that the callback runs if the Surface wouldn't be drawn at all
BUG=440269
Review URL: https://codereview.chromium.org/792383004
Cr-Commit-Position: refs/heads/master@{#313212}
Diffstat (limited to 'cc/surfaces/surface_aggregator.cc')
-rw-r--r-- | cc/surfaces/surface_aggregator.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/cc/surfaces/surface_aggregator.cc b/cc/surfaces/surface_aggregator.cc index 9456dd2..15f4b53 100644 --- a/cc/surfaces/surface_aggregator.cc +++ b/cc/surfaces/surface_aggregator.cc @@ -433,6 +433,10 @@ void SurfaceAggregator::RemoveUnreferencedChildren() { provider_->DestroyChild(it->second); surface_id_to_resource_child_id_.erase(it); } + + Surface* surface_ptr = manager_->GetSurfaceForId(surface.first); + if (surface_ptr) + surface_ptr->RunDrawCallbacks(SurfaceDrawStatus::DRAW_SKIPPED); } } } |