IndexedDB: fsync after transactions.
[chromium-blink-merge.git] / cc / surfaces / surface_manager.cc
blob366fa81c70e62df6cef0d0121ec90655bf5ce00f
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"
9 namespace cc {
11 SurfaceManager::SurfaceManager()
12 : next_surface_id_(1) {
15 SurfaceManager::~SurfaceManager() {}
17 int SurfaceManager::RegisterAndAllocateIDForSurface(Surface* surface) {
18 DCHECK(surface);
19 int surface_id = next_surface_id_++;
20 surface_map_[surface_id] = surface;
21 return surface_id;
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())
33 return NULL;
34 return it->second;
37 } // namespace cc