| Index: cc/layers/scrollbar_layer.cc
|
| diff --git a/cc/layers/scrollbar_layer.cc b/cc/layers/scrollbar_layer.cc
|
| index f2c46a82202a200833511ae8750b4f5b44a637e4..ace27f969c73b47a95bc4deae995973bfa71c6d0 100644
|
| --- a/cc/layers/scrollbar_layer.cc
|
| +++ b/cc/layers/scrollbar_layer.cc
|
| @@ -34,8 +34,8 @@ scoped_refptr<ScrollbarLayer> ScrollbarLayer::Create(
|
| ScrollbarLayer::ScrollbarLayer(
|
| scoped_ptr<Scrollbar> scrollbar,
|
| int scroll_layer_id)
|
| - : scrollbar_(scrollbar.Pass()),
|
| - scroll_layer_id_(scroll_layer_id),
|
| + : ScrollbarLayerBase(scroll_layer_id, scrollbar->Orientation()),
|
| + scrollbar_(scrollbar.Pass()),
|
| texture_format_(GL_INVALID_ENUM) {
|
| if (!scrollbar_->IsOverlay())
|
| SetShouldScrollOnMainThread(true);
|
| @@ -43,31 +43,26 @@ ScrollbarLayer::ScrollbarLayer(
|
|
|
| ScrollbarLayer::~ScrollbarLayer() {}
|
|
|
| -void ScrollbarLayer::SetScrollLayerId(int id) {
|
| - if (id == scroll_layer_id_)
|
| - return;
|
| -
|
| - scroll_layer_id_ = id;
|
| - SetNeedsFullTreeSync();
|
| -}
|
| -
|
| bool ScrollbarLayer::OpacityCanAnimateOnImplThread() const {
|
| return scrollbar_->IsOverlay();
|
| }
|
|
|
| -ScrollbarOrientation ScrollbarLayer::Orientation() const {
|
| - return scrollbar_->Orientation();
|
| -}
|
| +ScrollbarLayerBase* ScrollbarLayer::ToScrollbarLayerBase() { return this; }
|
|
|
| int ScrollbarLayer::MaxTextureSize() {
|
| DCHECK(layer_tree_host());
|
| return layer_tree_host()->GetRendererCapabilities().max_texture_size;
|
| }
|
|
|
| -float ScrollbarLayer::ClampScaleToMaxTextureSize(float scale) {
|
| - if (layer_tree_host()->settings().solid_color_scrollbars)
|
| - return scale;
|
| +void ScrollbarLayer::SetScrollLayerId(int id) {
|
| + if (id == scroll_layer_id_)
|
| + return;
|
|
|
| + scroll_layer_id_ = id;
|
| + SetNeedsFullTreeSync();
|
| +}
|
| +
|
| +float ScrollbarLayer::ClampScaleToMaxTextureSize(float scale) {
|
| // If the scaled content_bounds() is bigger than the max texture size of the
|
| // device, we need to clamp it by rescaling, since content_bounds() is used
|
| // below to set the texture size.
|
| @@ -104,21 +99,7 @@ void ScrollbarLayer::PushPropertiesTo(LayerImpl* layer) {
|
|
|
| ScrollbarLayerImpl* scrollbar_layer = static_cast<ScrollbarLayerImpl*>(layer);
|
|
|
| - if (layer_tree_host() &&
|
| - layer_tree_host()->settings().solid_color_scrollbars) {
|
| - int thickness_override =
|
| - layer_tree_host()->settings().solid_color_scrollbar_thickness_dip;
|
| - if (thickness_override != -1) {
|
| - scrollbar_layer->set_thumb_thickness(thickness_override);
|
| - } else {
|
| - if (Orientation() == HORIZONTAL)
|
| - scrollbar_layer->set_thumb_thickness(bounds().height());
|
| - else
|
| - scrollbar_layer->set_thumb_thickness(bounds().width());
|
| - }
|
| - } else {
|
| - scrollbar_layer->set_thumb_thickness(thumb_thickness_);
|
| - }
|
| + scrollbar_layer->set_thumb_thickness(thumb_thickness_);
|
| scrollbar_layer->set_thumb_length(thumb_length_);
|
| if (Orientation() == HORIZONTAL) {
|
| scrollbar_layer->set_track_start(track_rect_.x());
|
| @@ -139,10 +120,6 @@ void ScrollbarLayer::PushPropertiesTo(LayerImpl* layer) {
|
| scrollbar_layer->set_thumb_resource_id(0);
|
| }
|
|
|
| -ScrollbarLayer* ScrollbarLayer::ToScrollbarLayer() {
|
| - return this;
|
| -}
|
| -
|
| void ScrollbarLayer::SetLayerTreeHost(LayerTreeHost* host) {
|
| if (!host || host != layer_tree_host()) {
|
| track_updater_ = NULL;
|
| @@ -174,9 +151,6 @@ class ScrollbarPartPainter : public LayerPainter {
|
| };
|
|
|
| void ScrollbarLayer::CreateUpdaterIfNeeded() {
|
| - if (layer_tree_host()->settings().solid_color_scrollbars)
|
| - return;
|
| -
|
| texture_format_ =
|
| layer_tree_host()->GetRendererCapabilities().best_texture_format;
|
|
|
| @@ -211,9 +185,6 @@ void ScrollbarLayer::UpdatePart(CachingBitmapContentLayerUpdater* painter,
|
| LayerUpdater::Resource* resource,
|
| gfx::Rect rect,
|
| ResourceUpdateQueue* queue) {
|
| - if (layer_tree_host()->settings().solid_color_scrollbars)
|
| - return;
|
| -
|
| // Skip painting and uploading if there are no invalidations and
|
| // we already have valid texture data.
|
| if (resource->texture()->have_backing_texture() &&
|
| @@ -265,9 +236,6 @@ gfx::Rect ScrollbarLayer::ScrollbarLayerRectToContentRect(
|
|
|
| void ScrollbarLayer::SetTexturePriorities(
|
| const PriorityCalculator& priority_calc) {
|
| - if (layer_tree_host()->settings().solid_color_scrollbars)
|
| - return;
|
| -
|
| if (content_bounds().IsEmpty())
|
| return;
|
| DCHECK_LE(content_bounds().width(), MaxTextureSize());
|
| @@ -293,9 +261,6 @@ void ScrollbarLayer::Update(ResourceUpdateQueue* queue,
|
| const OcclusionTracker* occlusion) {
|
| track_rect_ = scrollbar_->TrackRect();
|
|
|
| - if (layer_tree_host()->settings().solid_color_scrollbars)
|
| - return;
|
| -
|
| {
|
| base::AutoReset<bool> ignore_set_needs_commit(&ignore_set_needs_commit_,
|
| true);
|
|
|