Upstream version 11.40.277.0
[platform/framework/web/crosswalk.git] / src / cc / test / fake_scoped_ui_resource.cc
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 #include "cc/test/fake_scoped_ui_resource.h"
6
7 #include "cc/trees/layer_tree_host.h"
8
9 namespace cc {
10
11 namespace {
12
13 UIResourceBitmap CreateMockUIResourceBitmap() {
14   bool is_opaque = false;
15   return UIResourceBitmap(gfx::Size(1, 1), is_opaque);
16 }
17
18 }  // anonymous namespace
19
20 scoped_ptr<FakeScopedUIResource> FakeScopedUIResource::Create(
21     LayerTreeHost* host) {
22   return make_scoped_ptr(new FakeScopedUIResource(host));
23 }
24
25 FakeScopedUIResource::FakeScopedUIResource(LayerTreeHost* host)
26     : ScopedUIResource(host, CreateMockUIResourceBitmap()) {
27   // The constructor of ScopedUIResource already created a resource so we need
28   // to delete the created resource to wipe the state clean.
29   host_->DeleteUIResource(id_);
30   ResetCounters();
31   id_ = host_->CreateUIResource(this);
32 }
33
34 UIResourceBitmap FakeScopedUIResource::GetBitmap(UIResourceId uid,
35                                                  bool resource_lost) {
36   resource_create_count++;
37   if (resource_lost)
38     lost_resource_count++;
39   return ScopedUIResource::GetBitmap(uid, resource_lost);
40 }
41
42 void FakeScopedUIResource::ResetCounters() {
43   resource_create_count = 0;
44   lost_resource_count = 0;
45 }
46
47 }  // namespace cc