OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <stddef.h> | 5 #include <stddef.h> |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 1271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1282 gfx::ScrollOffset floored_delta(floor(current_delta.x()), | 1282 gfx::ScrollOffset floored_delta(floor(current_delta.x()), |
1283 floor(current_delta.y())); | 1283 floor(current_delta.y())); |
1284 gfx::ScrollOffset diff_delta = floored_delta - current_delta; | 1284 gfx::ScrollOffset diff_delta = floored_delta - current_delta; |
1285 gfx::ScrollOffset tmp_offset = current_offset + diff_delta; | 1285 gfx::ScrollOffset tmp_offset = current_offset + diff_delta; |
1286 scroll_offset->SetCurrent(tmp_offset); | 1286 scroll_offset->SetCurrent(tmp_offset); |
1287 gfx::ScrollOffset delta = scroll_offset->PullDeltaForMainThread(); | 1287 gfx::ScrollOffset delta = scroll_offset->PullDeltaForMainThread(); |
1288 scroll_offset->SetCurrent(current_offset); | 1288 scroll_offset->SetCurrent(current_offset); |
1289 return delta; | 1289 return delta; |
1290 } | 1290 } |
1291 | 1291 |
1292 void ScrollTree::CollectScrollDeltas(ScrollAndScaleSet* scroll_info) { | 1292 void ScrollTree::CollectScrollDeltas(ScrollAndScaleSet* scroll_info, |
| 1293 int inner_viewport_layer_id) { |
1293 for (auto map_entry : layer_id_to_scroll_offset_map_) { | 1294 for (auto map_entry : layer_id_to_scroll_offset_map_) { |
1294 gfx::ScrollOffset scroll_delta = | 1295 gfx::ScrollOffset scroll_delta = |
1295 PullDeltaForMainThread(map_entry.second.get()); | 1296 PullDeltaForMainThread(map_entry.second.get()); |
1296 | 1297 |
| 1298 gfx::Vector2d scroll_delta_vector(scroll_delta.x(), scroll_delta.y()); |
| 1299 int layer_id = map_entry.first; |
| 1300 |
1297 if (!scroll_delta.IsZero()) { | 1301 if (!scroll_delta.IsZero()) { |
1298 LayerTreeHostCommon::ScrollUpdateInfo scroll; | 1302 if (layer_id == inner_viewport_layer_id) { |
1299 scroll.layer_id = map_entry.first; | 1303 // Inner (visual) viewport is stored separately. |
1300 scroll.scroll_delta = gfx::Vector2d(scroll_delta.x(), scroll_delta.y()); | 1304 scroll_info->inner_viewport_scroll.layer_id = layer_id; |
1301 scroll_info->scrolls.push_back(scroll); | 1305 scroll_info->inner_viewport_scroll.scroll_delta = scroll_delta_vector; |
| 1306 } else { |
| 1307 LayerTreeHostCommon::ScrollUpdateInfo scroll; |
| 1308 scroll.layer_id = layer_id; |
| 1309 scroll.scroll_delta = scroll_delta_vector; |
| 1310 scroll_info->scrolls.push_back(scroll); |
| 1311 } |
1302 } | 1312 } |
1303 } | 1313 } |
1304 } | 1314 } |
1305 | 1315 |
1306 void ScrollTree::CollectScrollDeltasForTesting() { | 1316 void ScrollTree::CollectScrollDeltasForTesting() { |
1307 for (auto map_entry : layer_id_to_scroll_offset_map_) { | 1317 for (auto map_entry : layer_id_to_scroll_offset_map_) { |
1308 PullDeltaForMainThread(map_entry.second.get()); | 1318 PullDeltaForMainThread(map_entry.second.get()); |
1309 } | 1319 } |
1310 } | 1320 } |
1311 | 1321 |
(...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1884 cached_data_.property_tree_update_number = 0; | 1894 cached_data_.property_tree_update_number = 0; |
1885 cached_data_.animation_scales = std::vector<AnimationScaleData>( | 1895 cached_data_.animation_scales = std::vector<AnimationScaleData>( |
1886 transform_tree.nodes().size(), AnimationScaleData()); | 1896 transform_tree.nodes().size(), AnimationScaleData()); |
1887 } | 1897 } |
1888 | 1898 |
1889 void PropertyTrees::UpdateCachedNumber() { | 1899 void PropertyTrees::UpdateCachedNumber() { |
1890 cached_data_.property_tree_update_number++; | 1900 cached_data_.property_tree_update_number++; |
1891 } | 1901 } |
1892 | 1902 |
1893 } // namespace cc | 1903 } // namespace cc |
OLD | NEW |