14e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
24e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
34e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// found in the LICENSE file.
44e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
54e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#ifndef CC_TEST_FAKE_UI_RESOURCE_LAYER_TREE_HOST_IMPL_H_
64e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#define CC_TEST_FAKE_UI_RESOURCE_LAYER_TREE_HOST_IMPL_H_
74e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
84e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "base/containers/hash_tables.h"
94e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "cc/test/fake_layer_tree_host_impl.h"
104e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
114e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace cc {
124e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
134e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class FakeUIResourceLayerTreeHostImpl : public FakeLayerTreeHostImpl {
144e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) public:
1523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)  explicit FakeUIResourceLayerTreeHostImpl(Proxy* proxy,
1623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)                                           SharedBitmapManager* manager);
174e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  virtual ~FakeUIResourceLayerTreeHostImpl();
184e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
194e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  virtual void CreateUIResource(UIResourceId uid,
204e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)                                const UIResourceBitmap& bitmap) OVERRIDE;
214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
224e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  virtual void DeleteUIResource(UIResourceId uid) OVERRIDE;
234e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
244e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  virtual ResourceProvider::ResourceId ResourceIdForUIResource(
254e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)      UIResourceId uid) const OVERRIDE;
264e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
271e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  virtual bool IsUIResourceOpaque(UIResourceId uid) const OVERRIDE;
281e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
294e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) private:
304e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  ResourceProvider::ResourceId fake_next_resource_id_;
311e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  typedef base::hash_map<UIResourceId, LayerTreeHostImpl::UIResourceData>
324e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)      UIResourceMap;
334e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  UIResourceMap fake_ui_resource_map_;
344e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)};
354e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
364e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}  // namespace cc
374e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
384e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#endif  // CC_TEST_FAKE_UI_RESOURCE_LAYER_TREE_HOST_IMPL_H_
39