Upstream version 10.38.208.0
[platform/framework/web/crosswalk.git] / src / cc / test / fake_picture_layer_tiling_client.cc
1 // Copyright 2012 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_picture_layer_tiling_client.h"
6
7 #include <limits>
8
9 #include "cc/test/fake_picture_pile_impl.h"
10 #include "cc/test/fake_tile_manager.h"
11
12 namespace cc {
13
14 FakePictureLayerTilingClient::FakePictureLayerTilingClient()
15     : tile_manager_(new FakeTileManager(&tile_manager_client_)),
16       pile_(FakePicturePileImpl::CreateInfiniteFilledPile()),
17       twin_tiling_(NULL),
18       recycled_twin_tiling_(NULL),
19       allow_create_tile_(true),
20       max_tiles_for_interest_area_(10000),
21       skewport_target_time_in_seconds_(1.0f),
22       skewport_extrapolation_limit_in_content_pixels_(2000) {
23 }
24
25 FakePictureLayerTilingClient::FakePictureLayerTilingClient(
26     ResourceProvider* resource_provider)
27     : resource_pool_(
28           ResourcePool::Create(resource_provider, GL_TEXTURE_2D, RGBA_8888)),
29       tile_manager_(
30           new FakeTileManager(&tile_manager_client_, resource_pool_.get())),
31       pile_(FakePicturePileImpl::CreateInfiniteFilledPile()),
32       twin_tiling_(NULL),
33       recycled_twin_tiling_(NULL),
34       allow_create_tile_(true),
35       max_tiles_for_interest_area_(10000),
36       skewport_target_time_in_seconds_(1.0f) {
37 }
38
39 FakePictureLayerTilingClient::~FakePictureLayerTilingClient() {
40 }
41
42 scoped_refptr<Tile> FakePictureLayerTilingClient::CreateTile(
43     PictureLayerTiling*,
44     const gfx::Rect& rect) {
45   if (!allow_create_tile_)
46     return scoped_refptr<Tile>();
47   return tile_manager_->CreateTile(
48       pile_.get(), tile_size_, rect, gfx::Rect(), 1, 0, 0, 0);
49 }
50
51 PicturePileImpl* FakePictureLayerTilingClient::GetPile() {
52   return pile_.get();
53 }
54
55 void FakePictureLayerTilingClient::SetTileSize(const gfx::Size& tile_size) {
56   tile_size_ = tile_size;
57 }
58
59 gfx::Size FakePictureLayerTilingClient::CalculateTileSize(
60     const gfx::Size& /* content_bounds */) const {
61   return tile_size_;
62 }
63
64 size_t FakePictureLayerTilingClient::GetMaxTilesForInterestArea() const {
65   return max_tiles_for_interest_area_;
66 }
67
68 float FakePictureLayerTilingClient::GetSkewportTargetTimeInSeconds() const {
69   return skewport_target_time_in_seconds_;
70 }
71
72 int FakePictureLayerTilingClient::GetSkewportExtrapolationLimitInContentPixels()
73     const {
74   return skewport_extrapolation_limit_in_content_pixels_;
75 }
76
77 const Region* FakePictureLayerTilingClient::GetInvalidation() {
78   return &invalidation_;
79 }
80
81 const PictureLayerTiling* FakePictureLayerTilingClient::GetTwinTiling(
82       const PictureLayerTiling* tiling) const {
83   return twin_tiling_;
84 }
85
86 PictureLayerTiling* FakePictureLayerTilingClient::GetRecycledTwinTiling(
87     const PictureLayerTiling* tiling) {
88   return recycled_twin_tiling_;
89 }
90
91 WhichTree FakePictureLayerTilingClient::GetTree() const {
92   return tree_;
93 }
94
95 }  // namespace cc