| OLD | NEW |
| 1 // Copyright 2010 The Chromium Authors. All rights reserved. | 1 // Copyright 2010 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.h" | 5 #include "cc/layers/layer.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 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 layer_id_(g_next_layer_id.GetNext() + 1), | 57 layer_id_(g_next_layer_id.GetNext() + 1), |
| 58 ignore_set_needs_commit_(false), | 58 ignore_set_needs_commit_(false), |
| 59 sorting_context_id_(0), | 59 sorting_context_id_(0), |
| 60 parent_(nullptr), | 60 parent_(nullptr), |
| 61 layer_tree_host_(nullptr), | 61 layer_tree_host_(nullptr), |
| 62 scroll_clip_layer_id_(INVALID_ID), | 62 scroll_clip_layer_id_(INVALID_ID), |
| 63 num_descendants_that_draw_content_(0), | 63 num_descendants_that_draw_content_(0), |
| 64 transform_tree_index_(-1), | 64 transform_tree_index_(-1), |
| 65 effect_tree_index_(-1), | 65 effect_tree_index_(-1), |
| 66 clip_tree_index_(-1), | 66 clip_tree_index_(-1), |
| 67 scroll_tree_index_(-1), |
| 67 property_tree_sequence_number_(-1), | 68 property_tree_sequence_number_(-1), |
| 68 element_id_(0), | 69 element_id_(0), |
| 69 mutable_properties_(MutableProperty::kNone), | 70 mutable_properties_(MutableProperty::kNone), |
| 70 main_thread_scrolling_reasons_( | 71 main_thread_scrolling_reasons_( |
| 71 MainThreadScrollingReason::kNotScrollingOnMain), | 72 MainThreadScrollingReason::kNotScrollingOnMain), |
| 72 should_flatten_transform_from_property_tree_(false), | 73 should_flatten_transform_from_property_tree_(false), |
| 73 have_wheel_event_handlers_(false), | 74 have_wheel_event_handlers_(false), |
| 74 have_scroll_event_handlers_(false), | 75 have_scroll_event_handlers_(false), |
| 75 user_scrollable_horizontal_(true), | 76 user_scrollable_horizontal_(true), |
| 76 user_scrollable_vertical_(true), | 77 user_scrollable_vertical_(true), |
| (...skipping 1004 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1081 | 1082 |
| 1082 int Layer::effect_tree_index() const { | 1083 int Layer::effect_tree_index() const { |
| 1083 if (!layer_tree_host_ || | 1084 if (!layer_tree_host_ || |
| 1084 layer_tree_host_->property_trees()->sequence_number != | 1085 layer_tree_host_->property_trees()->sequence_number != |
| 1085 property_tree_sequence_number_) { | 1086 property_tree_sequence_number_) { |
| 1086 return -1; | 1087 return -1; |
| 1087 } | 1088 } |
| 1088 return effect_tree_index_; | 1089 return effect_tree_index_; |
| 1089 } | 1090 } |
| 1090 | 1091 |
| 1092 void Layer::SetScrollTreeIndex(int index) { |
| 1093 DCHECK(IsPropertyChangeAllowed()); |
| 1094 if (scroll_tree_index_ == index) |
| 1095 return; |
| 1096 scroll_tree_index_ = index; |
| 1097 SetNeedsPushProperties(); |
| 1098 } |
| 1099 |
| 1100 int Layer::scroll_tree_index() const { |
| 1101 if (!layer_tree_host_ || |
| 1102 layer_tree_host_->property_trees()->sequence_number != |
| 1103 property_tree_sequence_number_) { |
| 1104 return -1; |
| 1105 } |
| 1106 return scroll_tree_index_; |
| 1107 } |
| 1108 |
| 1091 void Layer::InvalidatePropertyTreesIndices() { | 1109 void Layer::InvalidatePropertyTreesIndices() { |
| 1092 int invalid_property_tree_index = -1; | 1110 int invalid_property_tree_index = -1; |
| 1093 SetTransformTreeIndex(invalid_property_tree_index); | 1111 SetTransformTreeIndex(invalid_property_tree_index); |
| 1094 SetClipTreeIndex(invalid_property_tree_index); | 1112 SetClipTreeIndex(invalid_property_tree_index); |
| 1095 SetEffectTreeIndex(invalid_property_tree_index); | 1113 SetEffectTreeIndex(invalid_property_tree_index); |
| 1096 } | 1114 } |
| 1097 | 1115 |
| 1098 void Layer::SetShouldFlattenTransform(bool should_flatten) { | 1116 void Layer::SetShouldFlattenTransform(bool should_flatten) { |
| 1099 DCHECK(IsPropertyChangeAllowed()); | 1117 DCHECK(IsPropertyChangeAllowed()); |
| 1100 if (should_flatten_transform_ == should_flatten) | 1118 if (should_flatten_transform_ == should_flatten) |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1194 #if defined(NDEBUG) | 1212 #if defined(NDEBUG) |
| 1195 if (frame_viewer_instrumentation::IsTracingLayerTreeSnapshots()) | 1213 if (frame_viewer_instrumentation::IsTracingLayerTreeSnapshots()) |
| 1196 layer->SetDebugInfo(TakeDebugInfo()); | 1214 layer->SetDebugInfo(TakeDebugInfo()); |
| 1197 #else | 1215 #else |
| 1198 layer->SetDebugInfo(TakeDebugInfo()); | 1216 layer->SetDebugInfo(TakeDebugInfo()); |
| 1199 #endif | 1217 #endif |
| 1200 | 1218 |
| 1201 layer->SetTransformTreeIndex(transform_tree_index()); | 1219 layer->SetTransformTreeIndex(transform_tree_index()); |
| 1202 layer->SetEffectTreeIndex(effect_tree_index()); | 1220 layer->SetEffectTreeIndex(effect_tree_index()); |
| 1203 layer->SetClipTreeIndex(clip_tree_index()); | 1221 layer->SetClipTreeIndex(clip_tree_index()); |
| 1222 layer->SetScrollTreeIndex(scroll_tree_index()); |
| 1204 layer->set_offset_to_transform_parent(offset_to_transform_parent_); | 1223 layer->set_offset_to_transform_parent(offset_to_transform_parent_); |
| 1205 layer->SetDoubleSided(double_sided_); | 1224 layer->SetDoubleSided(double_sided_); |
| 1206 layer->SetDrawsContent(DrawsContent()); | 1225 layer->SetDrawsContent(DrawsContent()); |
| 1207 layer->SetHideLayerAndSubtree(hide_layer_and_subtree_); | 1226 layer->SetHideLayerAndSubtree(hide_layer_and_subtree_); |
| 1208 layer->SetHasRenderSurface(has_render_surface_); | 1227 layer->SetHasRenderSurface(has_render_surface_); |
| 1209 layer->SetForceRenderSurface(force_render_surface_); | 1228 layer->SetForceRenderSurface(force_render_surface_); |
| 1210 if (!layer->FilterIsAnimatingOnImplOnly() && !FilterIsAnimating()) | 1229 if (!layer->FilterIsAnimatingOnImplOnly() && !FilterIsAnimating()) |
| 1211 layer->SetFilters(filters_); | 1230 layer->SetFilters(filters_); |
| 1212 DCHECK(!(FilterIsAnimating() && layer->FilterIsAnimatingOnImplOnly())); | 1231 DCHECK(!(FilterIsAnimating() && layer->FilterIsAnimatingOnImplOnly())); |
| 1213 layer->SetBackgroundFilters(background_filters()); | 1232 layer->SetBackgroundFilters(background_filters()); |
| (...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1464 Point3FToProto(transform_origin_, base->mutable_transform_origin()); | 1483 Point3FToProto(transform_origin_, base->mutable_transform_origin()); |
| 1465 base->set_background_color(background_color_); | 1484 base->set_background_color(background_color_); |
| 1466 SizeToProto(use_paint_properties ? paint_properties_.bounds : bounds_, | 1485 SizeToProto(use_paint_properties ? paint_properties_.bounds : bounds_, |
| 1467 base->mutable_bounds()); | 1486 base->mutable_bounds()); |
| 1468 | 1487 |
| 1469 // TODO(nyquist): Figure out what to do with debug info. See crbug.com/570372. | 1488 // TODO(nyquist): Figure out what to do with debug info. See crbug.com/570372. |
| 1470 | 1489 |
| 1471 base->set_transform_free_index(transform_tree_index_); | 1490 base->set_transform_free_index(transform_tree_index_); |
| 1472 base->set_effect_tree_index(effect_tree_index_); | 1491 base->set_effect_tree_index(effect_tree_index_); |
| 1473 base->set_clip_tree_index(clip_tree_index_); | 1492 base->set_clip_tree_index(clip_tree_index_); |
| 1493 base->set_scroll_tree_index(scroll_tree_index_); |
| 1474 Vector2dFToProto(offset_to_transform_parent_, | 1494 Vector2dFToProto(offset_to_transform_parent_, |
| 1475 base->mutable_offset_to_transform_parent()); | 1495 base->mutable_offset_to_transform_parent()); |
| 1476 base->set_double_sided(double_sided_); | 1496 base->set_double_sided(double_sided_); |
| 1477 base->set_draws_content(draws_content_); | 1497 base->set_draws_content(draws_content_); |
| 1478 base->set_hide_layer_and_subtree(hide_layer_and_subtree_); | 1498 base->set_hide_layer_and_subtree(hide_layer_and_subtree_); |
| 1479 base->set_has_render_surface(has_render_surface_); | 1499 base->set_has_render_surface(has_render_surface_); |
| 1480 | 1500 |
| 1481 // TODO(nyquist): Add support for serializing FilterOperations for | 1501 // TODO(nyquist): Add support for serializing FilterOperations for |
| 1482 // |filters_| and |background_filters_|. See crbug.com/541321. | 1502 // |filters_| and |background_filters_|. See crbug.com/541321. |
| 1483 | 1503 |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1554 DCHECK(layer_tree_host_); | 1574 DCHECK(layer_tree_host_); |
| 1555 const proto::BaseLayerProperties& base = proto.base(); | 1575 const proto::BaseLayerProperties& base = proto.base(); |
| 1556 | 1576 |
| 1557 transform_origin_ = ProtoToPoint3F(base.transform_origin()); | 1577 transform_origin_ = ProtoToPoint3F(base.transform_origin()); |
| 1558 background_color_ = base.background_color(); | 1578 background_color_ = base.background_color(); |
| 1559 bounds_ = ProtoToSize(base.bounds()); | 1579 bounds_ = ProtoToSize(base.bounds()); |
| 1560 | 1580 |
| 1561 transform_tree_index_ = base.transform_free_index(); | 1581 transform_tree_index_ = base.transform_free_index(); |
| 1562 effect_tree_index_ = base.effect_tree_index(); | 1582 effect_tree_index_ = base.effect_tree_index(); |
| 1563 clip_tree_index_ = base.clip_tree_index(); | 1583 clip_tree_index_ = base.clip_tree_index(); |
| 1584 scroll_tree_index_ = base.scroll_tree_index(); |
| 1564 offset_to_transform_parent_ = | 1585 offset_to_transform_parent_ = |
| 1565 ProtoToVector2dF(base.offset_to_transform_parent()); | 1586 ProtoToVector2dF(base.offset_to_transform_parent()); |
| 1566 double_sided_ = base.double_sided(); | 1587 double_sided_ = base.double_sided(); |
| 1567 draws_content_ = base.draws_content(); | 1588 draws_content_ = base.draws_content(); |
| 1568 hide_layer_and_subtree_ = base.hide_layer_and_subtree(); | 1589 hide_layer_and_subtree_ = base.hide_layer_and_subtree(); |
| 1569 has_render_surface_ = base.has_render_surface(); | 1590 has_render_surface_ = base.has_render_surface(); |
| 1570 masks_to_bounds_ = base.masks_to_bounds(); | 1591 masks_to_bounds_ = base.masks_to_bounds(); |
| 1571 main_thread_scrolling_reasons_ = base.main_thread_scrolling_reasons(); | 1592 main_thread_scrolling_reasons_ = base.main_thread_scrolling_reasons(); |
| 1572 have_wheel_event_handlers_ = base.have_wheel_event_handlers(); | 1593 have_wheel_event_handlers_ = base.have_wheel_event_handlers(); |
| 1573 have_scroll_event_handlers_ = base.have_scroll_event_handlers(); | 1594 have_scroll_event_handlers_ = base.have_scroll_event_handlers(); |
| (...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2027 this, layer_tree_host_->property_trees()->transform_tree); | 2048 this, layer_tree_host_->property_trees()->transform_tree); |
| 2028 } | 2049 } |
| 2029 | 2050 |
| 2030 gfx::Transform Layer::screen_space_transform() const { | 2051 gfx::Transform Layer::screen_space_transform() const { |
| 2031 DCHECK_NE(transform_tree_index_, -1); | 2052 DCHECK_NE(transform_tree_index_, -1); |
| 2032 return ScreenSpaceTransformFromPropertyTrees( | 2053 return ScreenSpaceTransformFromPropertyTrees( |
| 2033 this, layer_tree_host_->property_trees()->transform_tree); | 2054 this, layer_tree_host_->property_trees()->transform_tree); |
| 2034 } | 2055 } |
| 2035 | 2056 |
| 2036 } // namespace cc | 2057 } // namespace cc |
| OLD | NEW |