| Index: cc/surfaces/surface_manager.cc
|
| diff --git a/cc/surfaces/surface_manager.cc b/cc/surfaces/surface_manager.cc
|
| index 07d2338009404168851632729f0830b1ec739e79..3972a9d198688acfbaad54f80c613cc22780fa2c 100644
|
| --- a/cc/surfaces/surface_manager.cc
|
| +++ b/cc/surfaces/surface_manager.cc
|
| @@ -118,6 +118,8 @@ std::unique_ptr<Surface> SurfaceManager::CreateSurface(
|
| void SurfaceManager::DestroySurface(std::unique_ptr<Surface> surface) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| surface->set_destroyed(true);
|
| + for (auto& observer : observer_list_)
|
| + observer.OnSurfaceDestroyed(surface->surface_id());
|
| surfaces_to_destroy_.push_back(std::move(surface));
|
| GarbageCollectSurfaces();
|
| }
|
| @@ -457,11 +459,12 @@ Surface* SurfaceManager::GetSurfaceForId(const SurfaceId& surface_id) {
|
| return it->second;
|
| }
|
|
|
| -bool SurfaceManager::SurfaceModified(const SurfaceId& surface_id) {
|
| +bool SurfaceManager::SurfaceModified(const SurfaceId& surface_id,
|
| + const BeginFrameAck& ack) {
|
| CHECK(thread_checker_.CalledOnValidThread());
|
| bool changed = false;
|
| for (auto& observer : observer_list_)
|
| - observer.OnSurfaceDamaged(surface_id, &changed);
|
| + observer.OnSurfaceDamaged(surface_id, ack, &changed);
|
| return changed;
|
| }
|
|
|
| @@ -504,6 +507,13 @@ void SurfaceManager::SurfaceDiscarded(Surface* surface) {
|
| dependency_tracker_->OnSurfaceDiscarded(surface);
|
| }
|
|
|
| +void SurfaceManager::SurfaceDamageExpected(const SurfaceId& surface_id,
|
| + const BeginFrameArgs& args) {
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| + for (auto& observer : observer_list_)
|
| + observer.OnSurfaceDamageExpected(surface_id, args);
|
| +}
|
| +
|
| void SurfaceManager::UnregisterSurface(const SurfaceId& surface_id) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| SurfaceMap::iterator it = surface_map_.find(surface_id);
|
|
|