- add sources.
[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   SkBitmap skbitmap;
15   skbitmap.setConfig(SkBitmap::kARGB_8888_Config, 1, 1);
16   skbitmap.allocPixels();
17   skbitmap.setImmutable();
18   return UIResourceBitmap(skbitmap);
19 }
20
21 }  // anonymous namespace
22
23 scoped_ptr<FakeScopedUIResource> FakeScopedUIResource::Create(
24     LayerTreeHost* host) {
25   return make_scoped_ptr(new FakeScopedUIResource(host));
26 }
27
28 FakeScopedUIResource::FakeScopedUIResource(LayerTreeHost* host)
29     : ScopedUIResource(host, CreateMockUIResourceBitmap()) {
30   // The constructor of ScopedUIResource already created a resource so we need
31   // to delete the created resource to wipe the state clean.
32   host_->DeleteUIResource(id_);
33   ResetCounters();
34   id_ = host_->CreateUIResource(this);
35 }
36
37 UIResourceBitmap FakeScopedUIResource::GetBitmap(UIResourceId uid,
38                                                  bool resource_lost) {
39   resource_create_count++;
40   if (resource_lost)
41     lost_resource_count++;
42   return ScopedUIResource::GetBitmap(uid, resource_lost);
43 }
44
45 void FakeScopedUIResource::ResetCounters() {
46   resource_create_count = 0;
47   lost_resource_count = 0;
48 }
49
50 }  // namespace cc