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

Unified Diff: cc/layers/picture_layer_impl.cc

Issue 913393004: Revert of cc: Make PaintedScrollbarLayer not use ContentsScalingLayer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 months 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/layers/painted_scrollbar_layer_impl_unittest.cc ('k') | cc/layers/scrollbar_layer_impl_base.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/picture_layer_impl.cc
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc
index 05c7b520ead96e167ebfbe42afb7bbcb2abed673..dbe343d08446b986f33a688e4b3b0c2c5a251508 100644
--- a/cc/layers/picture_layer_impl.cc
+++ b/cc/layers/picture_layer_impl.cc
@@ -179,27 +179,43 @@
}
float max_contents_scale = MaximumTilingContentsScale();
- PopulateScaledSharedQuadState(shared_quad_state, max_contents_scale);
+ gfx::Transform scaled_draw_transform = draw_transform();
+ scaled_draw_transform.Scale(SK_MScalar1 / max_contents_scale,
+ SK_MScalar1 / max_contents_scale);
+ gfx::Size scaled_content_bounds =
+ gfx::ToCeiledSize(gfx::ScaleSize(bounds(), max_contents_scale));
+ gfx::Rect scaled_visible_content_rect =
+ gfx::ScaleToEnclosingRect(visible_content_rect(), max_contents_scale);
+ scaled_visible_content_rect.Intersect(gfx::Rect(scaled_content_bounds));
Occlusion scaled_occlusion =
occlusion_in_content_space.GetOcclusionWithGivenDrawTransform(
- shared_quad_state->content_to_target_transform);
+ scaled_draw_transform);
+
+ shared_quad_state->SetAll(
+ scaled_draw_transform, scaled_content_bounds, scaled_visible_content_rect,
+ draw_properties().clip_rect, draw_properties().is_clipped,
+ draw_properties().opacity, draw_properties().blend_mode,
+ sorting_context_id_);
if (current_draw_mode_ == DRAW_MODE_RESOURCELESS_SOFTWARE) {
AppendDebugBorderQuad(
- render_pass, shared_quad_state->content_bounds, shared_quad_state,
- append_quads_data, DebugColors::DirectPictureBorderColor(),
+ render_pass,
+ scaled_content_bounds,
+ shared_quad_state,
+ append_quads_data,
+ DebugColors::DirectPictureBorderColor(),
DebugColors::DirectPictureBorderWidth(layer_tree_impl()));
- gfx::Rect geometry_rect = shared_quad_state->visible_content_rect;
+ gfx::Rect geometry_rect = scaled_visible_content_rect;
gfx::Rect opaque_rect = contents_opaque() ? geometry_rect : gfx::Rect();
gfx::Rect visible_geometry_rect =
scaled_occlusion.GetUnoccludedContentRect(geometry_rect);
if (visible_geometry_rect.IsEmpty())
return;
- gfx::Rect quad_content_rect = shared_quad_state->visible_content_rect;
- gfx::Size texture_size = quad_content_rect.size();
+ gfx::Size texture_size = scaled_visible_content_rect.size();
gfx::RectF texture_rect = gfx::RectF(texture_size);
+ gfx::Rect quad_content_rect = scaled_visible_content_rect;
PictureDrawQuad* quad =
render_pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
@@ -210,14 +226,17 @@
return;
}
- AppendDebugBorderQuad(render_pass, shared_quad_state->content_bounds,
- shared_quad_state, append_quads_data);
+ AppendDebugBorderQuad(
+ render_pass, scaled_content_bounds, shared_quad_state, append_quads_data);
if (ShowDebugBorders()) {
for (PictureLayerTilingSet::CoverageIterator iter(
- tilings_.get(), max_contents_scale,
- shared_quad_state->visible_content_rect, ideal_contents_scale_);
- iter; ++iter) {
+ tilings_.get(),
+ max_contents_scale,
+ scaled_visible_content_rect,
+ ideal_contents_scale_);
+ iter;
+ ++iter) {
SkColor color;
float width;
if (*iter && iter->IsReadyToDraw()) {
@@ -271,10 +290,12 @@
size_t missing_tile_count = 0u;
size_t on_demand_missing_tile_count = 0u;
only_used_low_res_last_append_quads_ = true;
- for (PictureLayerTilingSet::CoverageIterator iter(
- tilings_.get(), max_contents_scale,
- shared_quad_state->visible_content_rect, ideal_contents_scale_);
- iter; ++iter) {
+ for (PictureLayerTilingSet::CoverageIterator iter(tilings_.get(),
+ max_contents_scale,
+ scaled_visible_content_rect,
+ ideal_contents_scale_);
+ iter;
+ ++iter) {
gfx::Rect geometry_rect = iter.geometry_rect();
gfx::Rect opaque_rect = contents_opaque() ? geometry_rect : gfx::Rect();
gfx::Rect visible_geometry_rect =
« no previous file with comments | « cc/layers/painted_scrollbar_layer_impl_unittest.cc ('k') | cc/layers/scrollbar_layer_impl_base.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698