| Index: cc/layers/painted_scrollbar_layer_impl.cc
|
| diff --git a/cc/layers/painted_scrollbar_layer_impl.cc b/cc/layers/painted_scrollbar_layer_impl.cc
|
| index 068d42f2a5f626b255cb5c9c5b058a41f68bc64c..b05d51e500956620333a0fe5659caf05caab39cb 100644
|
| --- a/cc/layers/painted_scrollbar_layer_impl.cc
|
| +++ b/cc/layers/painted_scrollbar_layer_impl.cc
|
| @@ -32,6 +32,7 @@ PaintedScrollbarLayerImpl::PaintedScrollbarLayerImpl(
|
| : ScrollbarLayerImplBase(tree_impl, id, orientation, false, false),
|
| track_ui_resource_id_(0),
|
| thumb_ui_resource_id_(0),
|
| + internal_contents_scale_(1.f),
|
| thumb_thickness_(0),
|
| thumb_length_(0),
|
| track_start_(0),
|
| @@ -51,6 +52,9 @@ void PaintedScrollbarLayerImpl::PushPropertiesTo(LayerImpl* layer) {
|
| PaintedScrollbarLayerImpl* scrollbar_layer =
|
| static_cast<PaintedScrollbarLayerImpl*>(layer);
|
|
|
| + scrollbar_layer->set_internal_contents_scale_and_bounds(
|
| + internal_contents_scale_, internal_content_bounds_);
|
| +
|
| scrollbar_layer->SetThumbThickness(thumb_thickness_);
|
| scrollbar_layer->SetThumbLength(thumb_length_);
|
| scrollbar_layer->SetTrackStart(track_start_);
|
| @@ -68,26 +72,28 @@ bool PaintedScrollbarLayerImpl::WillDraw(DrawMode draw_mode,
|
|
|
| void PaintedScrollbarLayerImpl::AppendQuads(
|
| RenderPass* render_pass,
|
| - const Occlusion& occlusion_in_content_space,
|
| AppendQuadsData* append_quads_data) {
|
| bool premultipled_alpha = true;
|
| bool flipped = false;
|
| bool nearest_neighbor = false;
|
| gfx::PointF uv_top_left(0.f, 0.f);
|
| gfx::PointF uv_bottom_right(1.f, 1.f);
|
| - gfx::Rect bounds_rect(bounds());
|
| - gfx::Rect content_bounds_rect(content_bounds());
|
|
|
| SharedQuadState* shared_quad_state =
|
| render_pass->CreateAndAppendSharedQuadState();
|
| - PopulateSharedQuadState(shared_quad_state);
|
| + PopulateScaledSharedQuadState(shared_quad_state, internal_contents_scale_);
|
|
|
| - AppendDebugBorderQuad(
|
| - render_pass, content_bounds(), shared_quad_state, append_quads_data);
|
| + AppendDebugBorderQuad(render_pass, internal_content_bounds_,
|
| + shared_quad_state, append_quads_data);
|
|
|
| gfx::Rect thumb_quad_rect = ComputeThumbQuadRect();
|
| + gfx::Rect scaled_thumb_quad_rect =
|
| + gfx::ScaleToEnclosingRect(thumb_quad_rect, internal_contents_scale_);
|
| gfx::Rect visible_thumb_quad_rect =
|
| - occlusion_in_content_space.GetUnoccludedContentRect(thumb_quad_rect);
|
| + draw_properties().occlusion_in_content_space.GetUnoccludedContentRect(
|
| + thumb_quad_rect);
|
| + gfx::Rect scaled_visible_thumb_quad_rect = gfx::ScaleToEnclosingRect(
|
| + visible_thumb_quad_rect, internal_contents_scale_);
|
|
|
| ResourceProvider::ResourceId thumb_resource_id =
|
| layer_tree_impl()->ResourceIdForUIResource(thumb_ui_resource_id_);
|
| @@ -99,40 +105,29 @@ void PaintedScrollbarLayerImpl::AppendQuads(
|
| const float opacity[] = {1.0f, 1.0f, 1.0f, 1.0f};
|
| TextureDrawQuad* quad =
|
| render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>();
|
| - quad->SetNew(shared_quad_state,
|
| - thumb_quad_rect,
|
| - opaque_rect,
|
| - visible_thumb_quad_rect,
|
| - thumb_resource_id,
|
| - premultipled_alpha,
|
| - uv_top_left,
|
| - uv_bottom_right,
|
| - SK_ColorTRANSPARENT,
|
| - opacity,
|
| - flipped,
|
| - nearest_neighbor);
|
| + quad->SetNew(shared_quad_state, scaled_thumb_quad_rect, opaque_rect,
|
| + scaled_visible_thumb_quad_rect, thumb_resource_id,
|
| + premultipled_alpha, uv_top_left, uv_bottom_right,
|
| + SK_ColorTRANSPARENT, opacity, flipped, nearest_neighbor);
|
| }
|
|
|
| - gfx::Rect track_quad_rect = content_bounds_rect;
|
| + gfx::Rect track_quad_rect(bounds());
|
| + gfx::Rect scaled_track_quad_rect(internal_content_bounds_);
|
| gfx::Rect visible_track_quad_rect =
|
| - occlusion_in_content_space.GetUnoccludedContentRect(track_quad_rect);
|
| + draw_properties().occlusion_in_content_space.GetUnoccludedContentRect(
|
| + track_quad_rect);
|
| + gfx::Rect scaled_visible_track_quad_rect = gfx::ScaleToEnclosingRect(
|
| + visible_track_quad_rect, internal_contents_scale_);
|
| if (track_resource_id && !visible_track_quad_rect.IsEmpty()) {
|
| - gfx::Rect opaque_rect(contents_opaque() ? track_quad_rect : gfx::Rect());
|
| + gfx::Rect opaque_rect(contents_opaque() ? scaled_track_quad_rect
|
| + : gfx::Rect());
|
| const float opacity[] = {1.0f, 1.0f, 1.0f, 1.0f};
|
| TextureDrawQuad* quad =
|
| render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>();
|
| - quad->SetNew(shared_quad_state,
|
| - track_quad_rect,
|
| - opaque_rect,
|
| - visible_track_quad_rect,
|
| - track_resource_id,
|
| - premultipled_alpha,
|
| - uv_top_left,
|
| - uv_bottom_right,
|
| - SK_ColorTRANSPARENT,
|
| - opacity,
|
| - flipped,
|
| - nearest_neighbor);
|
| + quad->SetNew(shared_quad_state, scaled_track_quad_rect, opaque_rect,
|
| + scaled_visible_track_quad_rect, track_resource_id,
|
| + premultipled_alpha, uv_top_left, uv_bottom_right,
|
| + SK_ColorTRANSPARENT, opacity, flipped, nearest_neighbor);
|
| }
|
| }
|
|
|
|
|