OLD | NEW |
---|---|
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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/layers/layer_impl.h" | 5 #include "cc/layers/layer_impl.h" |
6 | 6 |
7 #include "base/debug/trace_event.h" | 7 #include "base/debug/trace_event.h" |
8 #include "base/debug/trace_event_argument.h" | 8 #include "base/debug/trace_event_argument.h" |
9 #include "base/json/json_reader.h" | 9 #include "base/json/json_reader.h" |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
(...skipping 1061 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1072 scroll_offset_delegate_ = scroll_offset_delegate; | 1072 scroll_offset_delegate_ = scroll_offset_delegate; |
1073 if (scroll_offset_delegate_) | 1073 if (scroll_offset_delegate_) |
1074 scroll_offset_delegate_->SetTotalScrollOffset(total_offset); | 1074 scroll_offset_delegate_->SetTotalScrollOffset(total_offset); |
1075 } | 1075 } |
1076 | 1076 |
1077 bool LayerImpl::IsExternalFlingActive() const { | 1077 bool LayerImpl::IsExternalFlingActive() const { |
1078 return scroll_offset_delegate_ && | 1078 return scroll_offset_delegate_ && |
1079 scroll_offset_delegate_->IsExternalFlingActive(); | 1079 scroll_offset_delegate_->IsExternalFlingActive(); |
1080 } | 1080 } |
1081 | 1081 |
1082 void LayerImpl::OnDelegatedScrollOffsetChanged() { | |
1083 NoteLayerPropertyChangedForSubtree(); | |
1084 ScrollbarParametersDidChange(false); | |
1085 } | |
1086 | |
1082 void LayerImpl::SetScrollOffset(const gfx::ScrollOffset& scroll_offset) { | 1087 void LayerImpl::SetScrollOffset(const gfx::ScrollOffset& scroll_offset) { |
1083 SetScrollOffsetAndDelta(scroll_offset, ScrollDelta()); | 1088 SetScrollOffsetAndDelta(scroll_offset, ScrollDelta()); |
1084 } | 1089 } |
1085 | 1090 |
1086 void LayerImpl::SetScrollOffsetAndDelta(const gfx::ScrollOffset& scroll_offset, | 1091 void LayerImpl::SetScrollOffsetAndDelta(const gfx::ScrollOffset& scroll_offset, |
1087 const gfx::Vector2dF& scroll_delta) { | 1092 const gfx::Vector2dF& scroll_delta) { |
1088 bool changed = false; | 1093 bool changed = false; |
1089 | 1094 |
1090 last_scroll_offset_ = scroll_offset; | 1095 last_scroll_offset_ = scroll_offset; |
1091 | 1096 |
(...skipping 23 matching lines...) Expand all Loading... | |
1115 | 1120 |
1116 if (scroll_offset_delegate_) { | 1121 if (scroll_offset_delegate_) { |
1117 scroll_offset_delegate_->SetTotalScrollOffset( | 1122 scroll_offset_delegate_->SetTotalScrollOffset( |
1118 ScrollOffsetWithDelta(scroll_offset_, scroll_delta)); | 1123 ScrollOffsetWithDelta(scroll_offset_, scroll_delta)); |
1119 } else { | 1124 } else { |
1120 scroll_delta_ = scroll_delta; | 1125 scroll_delta_ = scroll_delta; |
1121 } | 1126 } |
1122 } | 1127 } |
1123 | 1128 |
1124 if (changed) { | 1129 if (changed) { |
1125 NoteLayerPropertyChangedForSubtree(); | 1130 OnDelegatedScrollOffsetChanged(); |
enne (OOO)
2014/10/10 18:10:17
bikeshed: This isn't really just for "delegated" i
boliu
2014/10/10 18:23:11
Sounds good. Done.
| |
1126 ScrollbarParametersDidChange(false); | |
1127 } | 1131 } |
1128 } | 1132 } |
1129 | 1133 |
1130 gfx::Vector2dF LayerImpl::ScrollDelta() const { | 1134 gfx::Vector2dF LayerImpl::ScrollDelta() const { |
1131 if (scroll_offset_delegate_) { | 1135 if (scroll_offset_delegate_) { |
1132 return scroll_offset_delegate_->GetTotalScrollOffset().DeltaFrom( | 1136 return scroll_offset_delegate_->GetTotalScrollOffset().DeltaFrom( |
1133 scroll_offset_); | 1137 scroll_offset_); |
1134 } | 1138 } |
1135 return scroll_delta_; | 1139 return scroll_delta_; |
1136 } | 1140 } |
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1556 } | 1560 } |
1557 | 1561 |
1558 void LayerImpl::NotifyAnimationFinished( | 1562 void LayerImpl::NotifyAnimationFinished( |
1559 base::TimeTicks monotonic_time, | 1563 base::TimeTicks monotonic_time, |
1560 Animation::TargetProperty target_property) { | 1564 Animation::TargetProperty target_property) { |
1561 if (target_property == Animation::ScrollOffset) | 1565 if (target_property == Animation::ScrollOffset) |
1562 layer_tree_impl_->InputScrollAnimationFinished(); | 1566 layer_tree_impl_->InputScrollAnimationFinished(); |
1563 } | 1567 } |
1564 | 1568 |
1565 } // namespace cc | 1569 } // namespace cc |
OLD | NEW |