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

Side by Side Diff: cc/trees/layer_tree_host_impl.cc

Issue 2860293002: Change cc::ElementId to be a uint64_t (Closed)
Patch Set: none Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/trees/layer_tree_host_impl.h" 5 #include "cc/trees/layer_tree_host_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 3524 matching lines...) Expand 10 before | Expand all | Expand 10 after
3535 tree_impl->InnerViewportScrollLayer() 3535 tree_impl->InnerViewportScrollLayer()
3536 ? tree_impl->InnerViewportScrollLayer()->id() 3536 ? tree_impl->InnerViewportScrollLayer()->id()
3537 : Layer::INVALID_ID; 3537 : Layer::INVALID_ID;
3538 3538
3539 tree_impl->property_trees()->scroll_tree.CollectScrollDeltas( 3539 tree_impl->property_trees()->scroll_tree.CollectScrollDeltas(
3540 scroll_info, inner_viewport_layer_id); 3540 scroll_info, inner_viewport_layer_id);
3541 } 3541 }
3542 3542
3543 static void CollectScrollbarUpdates( 3543 static void CollectScrollbarUpdates(
3544 ScrollAndScaleSet* scroll_info, 3544 ScrollAndScaleSet* scroll_info,
3545 std::unordered_map<ElementId, 3545 std::unordered_map<ElementId::Id,
3546 std::unique_ptr<ScrollbarAnimationController>, 3546 std::unique_ptr<ScrollbarAnimationController>>*
3547 ElementIdHash>* controllers) { 3547 controllers) {
3548 scroll_info->scrollbars.reserve(controllers->size()); 3548 scroll_info->scrollbars.reserve(controllers->size());
3549 for (auto& pair : *controllers) { 3549 for (auto& pair : *controllers) {
3550 ElementId element_id;
3551 element_id.id = pair.first;
3550 scroll_info->scrollbars.push_back(LayerTreeHostCommon::ScrollbarsUpdateInfo( 3552 scroll_info->scrollbars.push_back(LayerTreeHostCommon::ScrollbarsUpdateInfo(
3551 pair.first, pair.second->ScrollbarsHidden())); 3553 element_id, pair.second->ScrollbarsHidden()));
3552 } 3554 }
3553 } 3555 }
3554 3556
3555 std::unique_ptr<ScrollAndScaleSet> LayerTreeHostImpl::ProcessScrollDeltas() { 3557 std::unique_ptr<ScrollAndScaleSet> LayerTreeHostImpl::ProcessScrollDeltas() {
3556 std::unique_ptr<ScrollAndScaleSet> scroll_info(new ScrollAndScaleSet()); 3558 std::unique_ptr<ScrollAndScaleSet> scroll_info(new ScrollAndScaleSet());
3557 3559
3558 CollectScrollDeltas(scroll_info.get(), active_tree_.get()); 3560 CollectScrollDeltas(scroll_info.get(), active_tree_.get());
3559 CollectScrollbarUpdates(scroll_info.get(), &scrollbar_animation_controllers_); 3561 CollectScrollbarUpdates(scroll_info.get(), &scrollbar_animation_controllers_);
3560 scroll_info->page_scale_delta = 3562 scroll_info->page_scale_delta =
3561 active_tree_->page_scale_factor()->PullDeltaForMainThread(); 3563 active_tree_->page_scale_factor()->PullDeltaForMainThread();
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
3687 return str; 3689 return str;
3688 } 3690 }
3689 3691
3690 void LayerTreeHostImpl::RegisterScrollbarAnimationController( 3692 void LayerTreeHostImpl::RegisterScrollbarAnimationController(
3691 ElementId scroll_element_id) { 3693 ElementId scroll_element_id) {
3692 if (settings().scrollbar_animator == LayerTreeSettings::NO_ANIMATOR) 3694 if (settings().scrollbar_animator == LayerTreeSettings::NO_ANIMATOR)
3693 return; 3695 return;
3694 if (ScrollbarAnimationControllerForElementId(scroll_element_id)) 3696 if (ScrollbarAnimationControllerForElementId(scroll_element_id))
3695 return; 3697 return;
3696 3698
3697 scrollbar_animation_controllers_[scroll_element_id] = 3699 scrollbar_animation_controllers_[scroll_element_id.id] =
3698 active_tree_->CreateScrollbarAnimationController(scroll_element_id); 3700 active_tree_->CreateScrollbarAnimationController(scroll_element_id);
3699 } 3701 }
3700 3702
3701 void LayerTreeHostImpl::UnregisterScrollbarAnimationController( 3703 void LayerTreeHostImpl::UnregisterScrollbarAnimationController(
3702 ElementId scroll_element_id) { 3704 ElementId scroll_element_id) {
3703 scrollbar_animation_controllers_.erase(scroll_element_id); 3705 scrollbar_animation_controllers_.erase(scroll_element_id.id);
3704 } 3706 }
3705 3707
3706 ScrollbarAnimationController* 3708 ScrollbarAnimationController*
3707 LayerTreeHostImpl::ScrollbarAnimationControllerForElementId( 3709 LayerTreeHostImpl::ScrollbarAnimationControllerForElementId(
3708 ElementId scroll_element_id) const { 3710 ElementId scroll_element_id) const {
3709 // The viewport layers have only one set of scrollbars and their controller 3711 // The viewport layers have only one set of scrollbars and their controller
3710 // is registered with the outer viewport. 3712 // is registered with the outer viewport.
3711 if (InnerViewportScrollLayer() && OuterViewportScrollLayer() && 3713 if (InnerViewportScrollLayer() && OuterViewportScrollLayer() &&
3712 scroll_element_id == InnerViewportScrollLayer()->element_id()) 3714 scroll_element_id == InnerViewportScrollLayer()->element_id())
3713 scroll_element_id = OuterViewportScrollLayer()->element_id(); 3715 scroll_element_id = OuterViewportScrollLayer()->element_id();
3714 auto i = scrollbar_animation_controllers_.find(scroll_element_id); 3716 auto i = scrollbar_animation_controllers_.find(scroll_element_id.id);
3715 if (i == scrollbar_animation_controllers_.end()) 3717 if (i == scrollbar_animation_controllers_.end())
3716 return nullptr; 3718 return nullptr;
3717 return i->second.get(); 3719 return i->second.get();
3718 } 3720 }
3719 3721
3720 void LayerTreeHostImpl::PostDelayedScrollbarAnimationTask( 3722 void LayerTreeHostImpl::PostDelayedScrollbarAnimationTask(
3721 const base::Closure& task, 3723 const base::Closure& task,
3722 base::TimeDelta delay) { 3724 base::TimeDelta delay) {
3723 client_->PostDelayedAnimationTaskOnImplThread(task, delay); 3725 client_->PostDelayedAnimationTaskOnImplThread(task, delay);
3724 } 3726 }
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after
4298 4300
4299 void LayerTreeHostImpl::ShowScrollbarsForImplScroll(ElementId element_id) { 4301 void LayerTreeHostImpl::ShowScrollbarsForImplScroll(ElementId element_id) {
4300 if (!element_id) 4302 if (!element_id)
4301 return; 4303 return;
4302 if (ScrollbarAnimationController* animation_controller = 4304 if (ScrollbarAnimationController* animation_controller =
4303 ScrollbarAnimationControllerForElementId(element_id)) 4305 ScrollbarAnimationControllerForElementId(element_id))
4304 animation_controller->DidScrollUpdate(); 4306 animation_controller->DidScrollUpdate();
4305 } 4307 }
4306 4308
4307 } // namespace cc 4309 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698