| OLD | NEW |
| 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_impl.h" | 5 #include "cc/trees/layer_tree_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 566 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 577 layer->element_id().AsValue().release(), "layer_id", | 577 layer->element_id().AsValue().release(), "layer_id", |
| 578 layer->id()); | 578 layer->id()); |
| 579 | 579 |
| 580 layer_tree_host_impl_->mutator_host()->UnregisterElement( | 580 layer_tree_host_impl_->mutator_host()->UnregisterElement( |
| 581 layer->element_id(), | 581 layer->element_id(), |
| 582 IsActiveTree() ? ElementListType::ACTIVE : ElementListType::PENDING); | 582 IsActiveTree() ? ElementListType::ACTIVE : ElementListType::PENDING); |
| 583 | 583 |
| 584 element_layers_map_.erase(layer->element_id()); | 584 element_layers_map_.erase(layer->element_id()); |
| 585 } | 585 } |
| 586 | 586 |
| 587 void LayerTreeImpl::AddToOpacityAnimationsMap(int id, float opacity) { | |
| 588 if (LayerImpl* layer = LayerById(id)) | |
| 589 element_id_to_opacity_animations_[layer->element_id()] = opacity; | |
| 590 } | |
| 591 | |
| 592 void LayerTreeImpl::SetTransformMutated(ElementId element_id, | 587 void LayerTreeImpl::SetTransformMutated(ElementId element_id, |
| 593 const gfx::Transform& transform) { | 588 const gfx::Transform& transform) { |
| 594 DCHECK_EQ(1u, property_trees()->element_id_to_transform_node_index.count( | 589 DCHECK_EQ(1u, property_trees()->element_id_to_transform_node_index.count( |
| 595 element_id)); | 590 element_id)); |
| 596 element_id_to_transform_animations_[element_id] = transform; | 591 element_id_to_transform_animations_[element_id] = transform; |
| 597 if (!property_trees()->transform_tree.OnTransformAnimated(element_id, | 592 if (!property_trees()->transform_tree.OnTransformAnimated(element_id, |
| 598 transform)) | 593 transform)) |
| 599 return; | 594 return; |
| 600 | 595 |
| 601 if (LayerImpl* layer = LayerByElementId(element_id)) | 596 if (LayerImpl* layer = LayerByElementId(element_id)) |
| (...skipping 806 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1408 | 1403 |
| 1409 gfx::Rect LayerTreeImpl::DeviceViewport() const { | 1404 gfx::Rect LayerTreeImpl::DeviceViewport() const { |
| 1410 return layer_tree_host_impl_->DeviceViewport(); | 1405 return layer_tree_host_impl_->DeviceViewport(); |
| 1411 } | 1406 } |
| 1412 | 1407 |
| 1413 const gfx::Rect LayerTreeImpl::ViewportRectForTilePriority() const { | 1408 const gfx::Rect LayerTreeImpl::ViewportRectForTilePriority() const { |
| 1414 return layer_tree_host_impl_->ViewportRectForTilePriority(); | 1409 return layer_tree_host_impl_->ViewportRectForTilePriority(); |
| 1415 } | 1410 } |
| 1416 | 1411 |
| 1417 std::unique_ptr<ScrollbarAnimationController> | 1412 std::unique_ptr<ScrollbarAnimationController> |
| 1418 LayerTreeImpl::CreateScrollbarAnimationController(ElementId scroll_element_id) { | 1413 LayerTreeImpl::CreateScrollbarAnimationController(ElementId scroll_element_id, |
| 1414 float initial_opacity) { |
| 1419 DCHECK(!settings().scrollbar_fade_delay.is_zero()); | 1415 DCHECK(!settings().scrollbar_fade_delay.is_zero()); |
| 1420 DCHECK(!settings().scrollbar_fade_duration.is_zero()); | 1416 DCHECK(!settings().scrollbar_fade_duration.is_zero()); |
| 1421 base::TimeDelta fade_delay = settings().scrollbar_fade_delay; | 1417 base::TimeDelta fade_delay = settings().scrollbar_fade_delay; |
| 1422 base::TimeDelta fade_duration = settings().scrollbar_fade_duration; | 1418 base::TimeDelta fade_duration = settings().scrollbar_fade_duration; |
| 1423 switch (settings().scrollbar_animator) { | 1419 switch (settings().scrollbar_animator) { |
| 1424 case LayerTreeSettings::ANDROID_OVERLAY: { | 1420 case LayerTreeSettings::ANDROID_OVERLAY: { |
| 1425 return ScrollbarAnimationController:: | 1421 return ScrollbarAnimationController:: |
| 1426 CreateScrollbarAnimationControllerAndroid(scroll_element_id, | 1422 CreateScrollbarAnimationControllerAndroid( |
| 1427 layer_tree_host_impl_, | 1423 scroll_element_id, layer_tree_host_impl_, fade_delay, |
| 1428 fade_delay, fade_duration); | 1424 fade_duration, initial_opacity); |
| 1429 } | 1425 } |
| 1430 case LayerTreeSettings::AURA_OVERLAY: { | 1426 case LayerTreeSettings::AURA_OVERLAY: { |
| 1431 base::TimeDelta thinning_duration = | 1427 base::TimeDelta thinning_duration = |
| 1432 settings().scrollbar_thinning_duration; | 1428 settings().scrollbar_thinning_duration; |
| 1433 return ScrollbarAnimationController:: | 1429 return ScrollbarAnimationController:: |
| 1434 CreateScrollbarAnimationControllerAuraOverlay( | 1430 CreateScrollbarAnimationControllerAuraOverlay( |
| 1435 scroll_element_id, layer_tree_host_impl_, fade_delay, | 1431 scroll_element_id, layer_tree_host_impl_, fade_delay, |
| 1436 fade_duration, thinning_duration); | 1432 fade_duration, thinning_duration, initial_opacity); |
| 1437 } | 1433 } |
| 1438 case LayerTreeSettings::NO_ANIMATOR: | 1434 case LayerTreeSettings::NO_ANIMATOR: |
| 1439 NOTREACHED(); | 1435 NOTREACHED(); |
| 1440 break; | 1436 break; |
| 1441 } | 1437 } |
| 1442 return nullptr; | 1438 return nullptr; |
| 1443 } | 1439 } |
| 1444 | 1440 |
| 1445 void LayerTreeImpl::DidAnimateScrollOffset() { | 1441 void LayerTreeImpl::DidAnimateScrollOffset() { |
| 1446 layer_tree_host_impl_->DidAnimateScrollOffset(); | 1442 layer_tree_host_impl_->DidAnimateScrollOffset(); |
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1664 | 1660 |
| 1665 void LayerTreeImpl::RegisterScrollbar(ScrollbarLayerImplBase* scrollbar_layer) { | 1661 void LayerTreeImpl::RegisterScrollbar(ScrollbarLayerImplBase* scrollbar_layer) { |
| 1666 ElementId scroll_element_id = scrollbar_layer->scroll_element_id(); | 1662 ElementId scroll_element_id = scrollbar_layer->scroll_element_id(); |
| 1667 if (!scroll_element_id) | 1663 if (!scroll_element_id) |
| 1668 return; | 1664 return; |
| 1669 | 1665 |
| 1670 element_id_to_scrollbar_layer_ids_.insert( | 1666 element_id_to_scrollbar_layer_ids_.insert( |
| 1671 std::pair<ElementId, int>(scroll_element_id, scrollbar_layer->id())); | 1667 std::pair<ElementId, int>(scroll_element_id, scrollbar_layer->id())); |
| 1672 if (IsActiveTree() && scrollbar_layer->is_overlay_scrollbar()) { | 1668 if (IsActiveTree() && scrollbar_layer->is_overlay_scrollbar()) { |
| 1673 layer_tree_host_impl_->RegisterScrollbarAnimationController( | 1669 layer_tree_host_impl_->RegisterScrollbarAnimationController( |
| 1674 scroll_element_id); | 1670 scroll_element_id, scrollbar_layer->Opacity()); |
| 1675 } | 1671 } |
| 1676 | 1672 |
| 1677 // TODO(pdr): Refactor DidUpdateScrollState to use ElementIds instead of | 1673 // TODO(pdr): Refactor DidUpdateScrollState to use ElementIds instead of |
| 1678 // layer ids and remove this use of LayerIdByElementId. | 1674 // layer ids and remove this use of LayerIdByElementId. |
| 1679 DidUpdateScrollState(LayerIdByElementId(scroll_element_id)); | 1675 DidUpdateScrollState(LayerIdByElementId(scroll_element_id)); |
| 1680 } | 1676 } |
| 1681 | 1677 |
| 1682 void LayerTreeImpl::UnregisterScrollbar( | 1678 void LayerTreeImpl::UnregisterScrollbar( |
| 1683 ScrollbarLayerImplBase* scrollbar_layer) { | 1679 ScrollbarLayerImplBase* scrollbar_layer) { |
| 1684 ElementId scroll_element_id = scrollbar_layer->scroll_element_id(); | 1680 ElementId scroll_element_id = scrollbar_layer->scroll_element_id(); |
| (...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2109 | 2105 |
| 2110 void LayerTreeImpl::ResetAllChangeTracking() { | 2106 void LayerTreeImpl::ResetAllChangeTracking() { |
| 2111 layers_that_should_push_properties_.clear(); | 2107 layers_that_should_push_properties_.clear(); |
| 2112 // Iterate over all layers, including masks. | 2108 // Iterate over all layers, including masks. |
| 2113 for (auto& layer : *layers_) | 2109 for (auto& layer : *layers_) |
| 2114 layer->ResetChangeTracking(); | 2110 layer->ResetChangeTracking(); |
| 2115 property_trees_.ResetAllChangeTracking(); | 2111 property_trees_.ResetAllChangeTracking(); |
| 2116 } | 2112 } |
| 2117 | 2113 |
| 2118 } // namespace cc | 2114 } // namespace cc |
| OLD | NEW |