Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2347)

Unified Diff: cc/resources/picture_layer_tiling.cc

Issue 775483002: cc: Remove max tiles and skewport constants from tiling client. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/resources/picture_layer_tiling.h ('k') | cc/resources/picture_layer_tiling_perftest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/resources/picture_layer_tiling.cc
diff --git a/cc/resources/picture_layer_tiling.cc b/cc/resources/picture_layer_tiling.cc
index 340faa96fec2695ff2142519f3225de730253434..b33595f8e759cf7e7a89306c9ac6f0db4676b5e5 100644
--- a/cc/resources/picture_layer_tiling.cc
+++ b/cc/resources/picture_layer_tiling.cc
@@ -59,16 +59,28 @@ class TileEvictionOrder {
scoped_ptr<PictureLayerTiling> PictureLayerTiling::Create(
float contents_scale,
const gfx::Size& layer_bounds,
- PictureLayerTilingClient* client) {
- return make_scoped_ptr(new PictureLayerTiling(contents_scale,
- layer_bounds,
- client));
+ PictureLayerTilingClient* client,
+ size_t max_tiles_for_interest_area,
+ float skewport_target_time_in_seconds,
+ int skewport_extrapolation_limit_in_content_pixels) {
+ return make_scoped_ptr(new PictureLayerTiling(
+ contents_scale, layer_bounds, client, max_tiles_for_interest_area,
+ skewport_target_time_in_seconds,
+ skewport_extrapolation_limit_in_content_pixels));
}
-PictureLayerTiling::PictureLayerTiling(float contents_scale,
- const gfx::Size& layer_bounds,
- PictureLayerTilingClient* client)
- : contents_scale_(contents_scale),
+PictureLayerTiling::PictureLayerTiling(
+ float contents_scale,
+ const gfx::Size& layer_bounds,
+ PictureLayerTilingClient* client,
+ size_t max_tiles_for_interest_area,
+ float skewport_target_time_in_seconds,
+ int skewport_extrapolation_limit_in_content_pixels)
+ : max_tiles_for_interest_area_(max_tiles_for_interest_area),
+ skewport_target_time_in_seconds_(skewport_target_time_in_seconds),
+ skewport_extrapolation_limit_in_content_pixels_(
+ skewport_extrapolation_limit_in_content_pixels),
+ contents_scale_(contents_scale),
layer_bounds_(layer_bounds),
resolution_(NON_IDEAL_RESOLUTION),
client_(client),
@@ -541,10 +553,8 @@ gfx::Rect PictureLayerTiling::ComputeSkewport(
if (time_delta == 0.0)
return skewport;
- float skewport_target_time_in_seconds =
- client_->GetSkewportTargetTimeInSeconds();
double extrapolation_multiplier =
- skewport_target_time_in_seconds / time_delta;
+ skewport_target_time_in_seconds_ / time_delta;
int old_x = last_visible_rect_in_content_space_.x();
int old_y = last_visible_rect_in_content_space_.y();
@@ -556,12 +566,11 @@ gfx::Rect PictureLayerTiling::ComputeSkewport(
int new_right = visible_rect_in_content_space.right();
int new_bottom = visible_rect_in_content_space.bottom();
- int skewport_limit = client_->GetSkewportExtrapolationLimitInContentPixels();
-
- // Compute the maximum skewport based on |skewport_limit|.
+ // Compute the maximum skewport based on
+ // |skewport_extrapolation_limit_in_content_pixels_|.
gfx::Rect max_skewport = skewport;
- max_skewport.Inset(
- -skewport_limit, -skewport_limit, -skewport_limit, -skewport_limit);
+ max_skewport.Inset(-skewport_extrapolation_limit_in_content_pixels_,
+ -skewport_extrapolation_limit_in_content_pixels_);
// Inset the skewport by the needed adjustment.
skewport.Inset(extrapolation_multiplier * (new_x - old_x),
@@ -605,11 +614,9 @@ void PictureLayerTiling::ComputeTilePriorityRects(
DCHECK(skewport.Contains(visible_rect_in_content_space));
// Calculate the eventually/live tiles rect.
- size_t max_tiles_for_interest_area = client_->GetMaxTilesForInterestArea();
-
gfx::Size tile_size = tiling_data_.max_texture_size();
int64 eventually_rect_area =
- max_tiles_for_interest_area * tile_size.width() * tile_size.height();
+ max_tiles_for_interest_area_ * tile_size.width() * tile_size.height();
gfx::Rect eventually_rect =
ExpandRectEquallyToAreaBoundedBy(visible_rect_in_content_space,
« no previous file with comments | « cc/resources/picture_layer_tiling.h ('k') | cc/resources/picture_layer_tiling_perftest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698