1// Copyright 2013 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.
4
5#ifndef CC_TEST_FAKE_UI_RESOURCE_LAYER_TREE_HOST_IMPL_H_
6#define CC_TEST_FAKE_UI_RESOURCE_LAYER_TREE_HOST_IMPL_H_
7
8#include "base/containers/hash_tables.h"
9#include "cc/test/fake_layer_tree_host_impl.h"
10
11namespace cc {
12
13class FakeUIResourceLayerTreeHostImpl : public FakeLayerTreeHostImpl {
14 public:
15  explicit FakeUIResourceLayerTreeHostImpl(Proxy* proxy,
16                                           SharedBitmapManager* manager);
17  virtual ~FakeUIResourceLayerTreeHostImpl();
18
19  virtual void CreateUIResource(UIResourceId uid,
20                                const UIResourceBitmap& bitmap) OVERRIDE;
21
22  virtual void DeleteUIResource(UIResourceId uid) OVERRIDE;
23
24  virtual ResourceProvider::ResourceId ResourceIdForUIResource(
25      UIResourceId uid) const OVERRIDE;
26
27  virtual bool IsUIResourceOpaque(UIResourceId uid) const OVERRIDE;
28
29 private:
30  ResourceProvider::ResourceId fake_next_resource_id_;
31  typedef base::hash_map<UIResourceId, LayerTreeHostImpl::UIResourceData>
32      UIResourceMap;
33  UIResourceMap fake_ui_resource_map_;
34};
35
36}  // namespace cc
37
38#endif  // CC_TEST_FAKE_UI_RESOURCE_LAYER_TREE_HOST_IMPL_H_
39