OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "platform/graphics/compositing/PropertyTreeManager.h" | 5 #include "platform/graphics/compositing/PropertyTreeManager.h" |
6 | 6 |
7 #include "cc/layers/layer.h" | 7 #include "cc/layers/layer.h" |
8 #include "cc/trees/clip_node.h" | 8 #include "cc/trees/clip_node.h" |
9 #include "cc/trees/effect_node.h" | 9 #include "cc/trees/effect_node.h" |
10 #include "cc/trees/layer_tree_host.h" | 10 #include "cc/trees/layer_tree_host.h" |
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
296 auto& compositorTransformNode = *transformTree().Node(transformNodeId); | 296 auto& compositorTransformNode = *transformTree().Node(transformNodeId); |
297 | 297 |
298 auto compositorElementId = scrollOffsetNode->compositorElementId(); | 298 auto compositorElementId = scrollOffsetNode->compositorElementId(); |
299 if (compositorElementId) { | 299 if (compositorElementId) { |
300 compositorScrollNode.element_id = compositorElementId; | 300 compositorScrollNode.element_id = compositorElementId; |
301 m_propertyTrees.element_id_to_scroll_node_index[compositorElementId] = | 301 m_propertyTrees.element_id_to_scroll_node_index[compositorElementId] = |
302 scrollNodeId; | 302 scrollNodeId; |
303 } | 303 } |
304 | 304 |
305 compositorScrollNode.transform_id = transformNodeId; | 305 compositorScrollNode.transform_id = transformNodeId; |
| 306 // TODO(pdr): Set the scroll node's non_fast_scrolling_region value. |
306 | 307 |
307 // Blink creates a 2d transform node just for scroll offset whereas cc's | 308 // Blink creates a 2d transform node just for scroll offset whereas cc's |
308 // transform node has a special scroll offset field. To handle this we adjust | 309 // transform node has a special scroll offset field. To handle this we adjust |
309 // cc's transform node to remove the 2d scroll translation and instead set the | 310 // cc's transform node to remove the 2d scroll translation and instead set the |
310 // scroll_offset field. | 311 // scroll_offset field. |
311 auto scrollOffsetSize = scrollOffsetNode->matrix().to2DTranslation(); | 312 auto scrollOffsetSize = scrollOffsetNode->matrix().to2DTranslation(); |
312 auto scrollOffset = | 313 auto scrollOffset = |
313 gfx::ScrollOffset(-scrollOffsetSize.width(), -scrollOffsetSize.height()); | 314 gfx::ScrollOffset(-scrollOffsetSize.width(), -scrollOffsetSize.height()); |
314 DCHECK(compositorTransformNode.local.IsIdentityOr2DTranslation()); | 315 DCHECK(compositorTransformNode.local.IsIdentityOr2DTranslation()); |
315 compositorTransformNode.scroll_offset = scrollOffset; | 316 compositorTransformNode.scroll_offset = scrollOffset; |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
453 m_effectStack.push_back(BlinkEffectAndCcIdPair{nextEffect, effectNode.id}); | 454 m_effectStack.push_back(BlinkEffectAndCcIdPair{nextEffect, effectNode.id}); |
454 | 455 |
455 dummyLayer->set_property_tree_sequence_number(kPropertyTreeSequenceNumber); | 456 dummyLayer->set_property_tree_sequence_number(kPropertyTreeSequenceNumber); |
456 dummyLayer->SetTransformTreeIndex(kSecondaryRootNodeId); | 457 dummyLayer->SetTransformTreeIndex(kSecondaryRootNodeId); |
457 dummyLayer->SetClipTreeIndex(outputClipId); | 458 dummyLayer->SetClipTreeIndex(outputClipId); |
458 dummyLayer->SetEffectTreeIndex(effectNode.id); | 459 dummyLayer->SetEffectTreeIndex(effectNode.id); |
459 dummyLayer->SetScrollTreeIndex(kRealRootNodeId); | 460 dummyLayer->SetScrollTreeIndex(kRealRootNodeId); |
460 } | 461 } |
461 | 462 |
462 } // namespace blink | 463 } // namespace blink |
OLD | NEW |