1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "cc/surfaces/surface_manager.h"
7 #include "base/logging.h"
11 SurfaceManager::SurfaceManager()
12 : next_surface_id_(1) {
15 SurfaceManager::~SurfaceManager() {}
17 int SurfaceManager::RegisterAndAllocateIDForSurface(Surface
* surface
) {
19 int surface_id
= next_surface_id_
++;
20 surface_map_
[surface_id
] = surface
;
24 void SurfaceManager::DeregisterSurface(int surface_id
) {
25 SurfaceMap::iterator it
= surface_map_
.find(surface_id
);
26 DCHECK(it
!= surface_map_
.end());
27 surface_map_
.erase(it
);
30 Surface
* SurfaceManager::GetSurfaceForID(int surface_id
) {
31 SurfaceMap::iterator it
= surface_map_
.find(surface_id
);
32 if (it
== surface_map_
.end())