| 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 <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 LayerImpl::LayerImpl(LayerTreeImpl* tree_impl, | 49 LayerImpl::LayerImpl(LayerTreeImpl* tree_impl, |
| 50 int id, | 50 int id, |
| 51 scoped_refptr<SyncedScrollOffset> scroll_offset) | 51 scoped_refptr<SyncedScrollOffset> scroll_offset) |
| 52 : parent_(nullptr), | 52 : parent_(nullptr), |
| 53 scroll_parent_(nullptr), | 53 scroll_parent_(nullptr), |
| 54 clip_parent_(nullptr), | 54 clip_parent_(nullptr), |
| 55 mask_layer_id_(-1), | 55 mask_layer_id_(-1), |
| 56 replica_layer_id_(-1), | 56 replica_layer_id_(-1), |
| 57 layer_id_(id), | 57 layer_id_(id), |
| 58 layer_tree_impl_(tree_impl), | 58 layer_tree_impl_(tree_impl), |
| 59 scroll_offset_(scroll_offset), | |
| 60 scroll_clip_layer_id_(Layer::INVALID_ID), | 59 scroll_clip_layer_id_(Layer::INVALID_ID), |
| 61 main_thread_scrolling_reasons_( | 60 main_thread_scrolling_reasons_( |
| 62 MainThreadScrollingReason::kNotScrollingOnMain), | 61 MainThreadScrollingReason::kNotScrollingOnMain), |
| 63 user_scrollable_horizontal_(true), | 62 user_scrollable_horizontal_(true), |
| 64 user_scrollable_vertical_(true), | 63 user_scrollable_vertical_(true), |
| 65 double_sided_(true), | 64 double_sided_(true), |
| 66 should_flatten_transform_(true), | 65 should_flatten_transform_(true), |
| 67 should_flatten_transform_from_property_tree_(false), | 66 should_flatten_transform_from_property_tree_(false), |
| 68 layer_property_changed_(false), | 67 layer_property_changed_(false), |
| 69 masks_to_bounds_(false), | 68 masks_to_bounds_(false), |
| (...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 481 | 480 |
| 482 bool LayerImpl::scrollable() const { | 481 bool LayerImpl::scrollable() const { |
| 483 return scroll_clip_layer_id_ != Layer::INVALID_ID; | 482 return scroll_clip_layer_id_ != Layer::INVALID_ID; |
| 484 } | 483 } |
| 485 | 484 |
| 486 bool LayerImpl::user_scrollable(ScrollbarOrientation orientation) const { | 485 bool LayerImpl::user_scrollable(ScrollbarOrientation orientation) const { |
| 487 return (orientation == HORIZONTAL) ? user_scrollable_horizontal_ | 486 return (orientation == HORIZONTAL) ? user_scrollable_horizontal_ |
| 488 : user_scrollable_vertical_; | 487 : user_scrollable_vertical_; |
| 489 } | 488 } |
| 490 | 489 |
| 491 void LayerImpl::ApplySentScrollDeltasFromAbortedCommit() { | |
| 492 DCHECK(layer_tree_impl()->IsActiveTree()); | |
| 493 scroll_offset_->AbortCommit(); | |
| 494 } | |
| 495 | |
| 496 skia::RefPtr<SkPicture> LayerImpl::GetPicture() { | 490 skia::RefPtr<SkPicture> LayerImpl::GetPicture() { |
| 497 return skia::RefPtr<SkPicture>(); | 491 return skia::RefPtr<SkPicture>(); |
| 498 } | 492 } |
| 499 | 493 |
| 500 scoped_ptr<LayerImpl> LayerImpl::CreateLayerImpl(LayerTreeImpl* tree_impl) { | 494 scoped_ptr<LayerImpl> LayerImpl::CreateLayerImpl(LayerTreeImpl* tree_impl) { |
| 501 return LayerImpl::Create(tree_impl, layer_id_, scroll_offset_); | 495 return LayerImpl::Create(tree_impl, layer_id_); |
| 502 } | 496 } |
| 503 | 497 |
| 504 void LayerImpl::PushPropertiesTo(LayerImpl* layer) { | 498 void LayerImpl::PushPropertiesTo(LayerImpl* layer) { |
| 505 layer->SetTransformOrigin(transform_origin_); | 499 layer->SetTransformOrigin(transform_origin_); |
| 506 layer->SetBackgroundColor(background_color_); | 500 layer->SetBackgroundColor(background_color_); |
| 507 layer->SetBounds(bounds_); | 501 layer->SetBounds(bounds_); |
| 508 layer->SetDoubleSided(double_sided_); | 502 layer->SetDoubleSided(double_sided_); |
| 509 layer->SetDrawsContent(DrawsContent()); | 503 layer->SetDrawsContent(DrawsContent()); |
| 510 layer->SetHideLayerAndSubtree(hide_layer_and_subtree_); | 504 layer->SetHideLayerAndSubtree(hide_layer_and_subtree_); |
| 511 // If whether layer has render surface changes, we need to update draw | 505 // If whether layer has render surface changes, we need to update draw |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 543 layer->NoteLayerPropertyChanged(); | 537 layer->NoteLayerPropertyChanged(); |
| 544 | 538 |
| 545 layer->SetScrollClipLayer(scroll_clip_layer_id_); | 539 layer->SetScrollClipLayer(scroll_clip_layer_id_); |
| 546 layer->SetElementId(element_id_); | 540 layer->SetElementId(element_id_); |
| 547 layer->SetMutableProperties(mutable_properties_); | 541 layer->SetMutableProperties(mutable_properties_); |
| 548 layer->set_user_scrollable_horizontal(user_scrollable_horizontal_); | 542 layer->set_user_scrollable_horizontal(user_scrollable_horizontal_); |
| 549 layer->set_user_scrollable_vertical(user_scrollable_vertical_); | 543 layer->set_user_scrollable_vertical(user_scrollable_vertical_); |
| 550 | 544 |
| 551 layer->SetScrollCompensationAdjustment(scroll_compensation_adjustment_); | 545 layer->SetScrollCompensationAdjustment(scroll_compensation_adjustment_); |
| 552 | 546 |
| 553 layer->PushScrollOffset(nullptr); | |
| 554 | |
| 555 layer->Set3dSortingContextId(sorting_context_id_); | 547 layer->Set3dSortingContextId(sorting_context_id_); |
| 556 layer->SetNumDescendantsThatDrawContent(num_descendants_that_draw_content_); | 548 layer->SetNumDescendantsThatDrawContent(num_descendants_that_draw_content_); |
| 557 | 549 |
| 558 layer->SetTransformTreeIndex(transform_tree_index_); | 550 layer->SetTransformTreeIndex(transform_tree_index_); |
| 559 layer->SetClipTreeIndex(clip_tree_index_); | 551 layer->SetClipTreeIndex(clip_tree_index_); |
| 560 layer->SetEffectTreeIndex(effect_tree_index_); | 552 layer->SetEffectTreeIndex(effect_tree_index_); |
| 561 layer->SetScrollTreeIndex(scroll_tree_index_); | 553 layer->SetScrollTreeIndex(scroll_tree_index_); |
| 562 layer->set_offset_to_transform_parent(offset_to_transform_parent_); | 554 layer->set_offset_to_transform_parent(offset_to_transform_parent_); |
| 563 | 555 |
| 564 LayerImpl* scroll_parent = nullptr; | 556 LayerImpl* scroll_parent = nullptr; |
| (...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 887 if (node->owner_id != id() || node->data.opacity == effective_opacity) | 879 if (node->owner_id != id() || node->data.opacity == effective_opacity) |
| 888 return; | 880 return; |
| 889 node->data.opacity = effective_opacity; | 881 node->data.opacity = effective_opacity; |
| 890 node->data.opacity_changed = true; | 882 node->data.opacity_changed = true; |
| 891 layer_tree_impl()->property_trees()->changed = true; | 883 layer_tree_impl()->property_trees()->changed = true; |
| 892 effect_tree.set_needs_update(true); | 884 effect_tree.set_needs_update(true); |
| 893 } | 885 } |
| 894 } | 886 } |
| 895 | 887 |
| 896 void LayerImpl::UpdatePropertyTreeForScrollingAndAnimationIfNeeded() { | 888 void LayerImpl::UpdatePropertyTreeForScrollingAndAnimationIfNeeded() { |
| 897 if (scrollable()) | 889 // if (scrollable()) |
| 898 UpdatePropertyTreeScrollOffset(); | 890 // UpdatePropertyTreeScrollOffset(); |
| 899 | 891 |
| 900 if (HasAnyAnimationTargetingProperty(TargetProperty::OPACITY)) | 892 if (HasAnyAnimationTargetingProperty(TargetProperty::OPACITY)) |
| 901 UpdatePropertyTreeOpacity(); | 893 UpdatePropertyTreeOpacity(); |
| 902 | 894 |
| 903 if (HasAnyAnimationTargetingProperty(TargetProperty::TRANSFORM)) { | 895 if (HasAnyAnimationTargetingProperty(TargetProperty::TRANSFORM)) { |
| 904 UpdatePropertyTreeTransform(); | 896 UpdatePropertyTreeTransform(); |
| 905 UpdatePropertyTreeTransformIsAnimated( | 897 UpdatePropertyTreeTransformIsAnimated( |
| 906 HasPotentiallyRunningTransformAnimation()); | 898 HasPotentiallyRunningTransformAnimation()); |
| 907 } | 899 } |
| 908 } | 900 } |
| (...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1271 frame_timing_requests_ = requests; | 1263 frame_timing_requests_ = requests; |
| 1272 frame_timing_requests_dirty_ = true; | 1264 frame_timing_requests_dirty_ = true; |
| 1273 SetNeedsPushProperties(); | 1265 SetNeedsPushProperties(); |
| 1274 } | 1266 } |
| 1275 | 1267 |
| 1276 void LayerImpl::GatherFrameTimingRequestIds(std::vector<int64_t>* request_ids) { | 1268 void LayerImpl::GatherFrameTimingRequestIds(std::vector<int64_t>* request_ids) { |
| 1277 for (const auto& request : frame_timing_requests_) | 1269 for (const auto& request : frame_timing_requests_) |
| 1278 request_ids->push_back(request.id()); | 1270 request_ids->push_back(request.id()); |
| 1279 } | 1271 } |
| 1280 | 1272 |
| 1273 const SyncedScrollOffset* LayerImpl::synced_scroll_offset() const { |
| 1274 return layer_tree_impl()->property_trees()->scroll_tree.synced_scroll_offset( |
| 1275 id()); |
| 1276 } |
| 1277 |
| 1278 SyncedScrollOffset* LayerImpl::synced_scroll_offset() { |
| 1279 return layer_tree_impl()->property_trees()->scroll_tree.synced_scroll_offset( |
| 1280 id()); |
| 1281 } |
| 1282 |
| 1281 void LayerImpl::SetTransform(const gfx::Transform& transform) { | 1283 void LayerImpl::SetTransform(const gfx::Transform& transform) { |
| 1282 if (transform_ == transform) | 1284 if (transform_ == transform) |
| 1283 return; | 1285 return; |
| 1284 | 1286 |
| 1285 transform_ = transform; | 1287 transform_ = transform; |
| 1286 transform_is_invertible_ = transform_.IsInvertible(); | 1288 transform_is_invertible_ = transform_.IsInvertible(); |
| 1287 NoteLayerPropertyChangedForSubtree(); | 1289 NoteLayerPropertyChangedForSubtree(); |
| 1288 } | 1290 } |
| 1289 | 1291 |
| 1290 void LayerImpl::SetTransformAndInvertibility(const gfx::Transform& transform, | 1292 void LayerImpl::SetTransformAndInvertibility(const gfx::Transform& transform, |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1416 update_rect_ = update_rect; | 1418 update_rect_ = update_rect; |
| 1417 SetNeedsPushProperties(); | 1419 SetNeedsPushProperties(); |
| 1418 } | 1420 } |
| 1419 | 1421 |
| 1420 void LayerImpl::AddDamageRect(const gfx::Rect& damage_rect) { | 1422 void LayerImpl::AddDamageRect(const gfx::Rect& damage_rect) { |
| 1421 damage_rect_.Union(damage_rect); | 1423 damage_rect_.Union(damage_rect); |
| 1422 } | 1424 } |
| 1423 | 1425 |
| 1424 void LayerImpl::SetCurrentScrollOffset(const gfx::ScrollOffset& scroll_offset) { | 1426 void LayerImpl::SetCurrentScrollOffset(const gfx::ScrollOffset& scroll_offset) { |
| 1425 DCHECK(IsActive()); | 1427 DCHECK(IsActive()); |
| 1426 if (scroll_offset_->SetCurrent(scroll_offset)) | 1428 if (synced_scroll_offset()->SetCurrent(scroll_offset)) |
| 1427 DidUpdateScrollOffset(); | 1429 DidUpdateScrollOffset(); |
| 1428 } | 1430 } |
| 1429 | 1431 |
| 1430 void LayerImpl::PushScrollOffsetFromMainThread( | |
| 1431 const gfx::ScrollOffset& scroll_offset) { | |
| 1432 PushScrollOffset(&scroll_offset); | |
| 1433 } | |
| 1434 | |
| 1435 void LayerImpl::PushScrollOffsetFromMainThreadAndClobberActiveValue( | |
| 1436 const gfx::ScrollOffset& scroll_offset) { | |
| 1437 scroll_offset_->set_clobber_active_value(); | |
| 1438 PushScrollOffset(&scroll_offset); | |
| 1439 } | |
| 1440 | |
| 1441 gfx::ScrollOffset LayerImpl::PullDeltaForMainThread() { | |
| 1442 // TODO(miletus): Remove all this temporary flooring machinery when | |
| 1443 // Blink fully supports fractional scrolls. | |
| 1444 gfx::ScrollOffset current_offset = CurrentScrollOffset(); | |
| 1445 gfx::ScrollOffset current_delta = IsActive() | |
| 1446 ? scroll_offset_->Delta() | |
| 1447 : scroll_offset_->PendingDelta().get(); | |
| 1448 gfx::ScrollOffset floored_delta(floor(current_delta.x()), | |
| 1449 floor(current_delta.y())); | |
| 1450 gfx::ScrollOffset diff_delta = floored_delta - current_delta; | |
| 1451 gfx::ScrollOffset tmp_offset = current_offset + diff_delta; | |
| 1452 scroll_offset_->SetCurrent(tmp_offset); | |
| 1453 gfx::ScrollOffset delta = scroll_offset_->PullDeltaForMainThread(); | |
| 1454 scroll_offset_->SetCurrent(current_offset); | |
| 1455 return delta; | |
| 1456 } | |
| 1457 | |
| 1458 gfx::ScrollOffset LayerImpl::CurrentScrollOffset() const { | 1432 gfx::ScrollOffset LayerImpl::CurrentScrollOffset() const { |
| 1459 return scroll_offset_->Current(IsActive()); | 1433 return synced_scroll_offset()->Current(IsActive()); |
| 1460 } | 1434 } |
| 1461 | 1435 |
| 1462 gfx::Vector2dF LayerImpl::ScrollDelta() const { | 1436 gfx::Vector2dF LayerImpl::ScrollDelta() const { |
| 1463 if (IsActive()) | 1437 if (IsActive()) |
| 1464 return gfx::Vector2dF(scroll_offset_->Delta().x(), | 1438 return gfx::Vector2dF(synced_scroll_offset()->Delta().x(), |
| 1465 scroll_offset_->Delta().y()); | 1439 synced_scroll_offset()->Delta().y()); |
| 1466 else | 1440 else |
| 1467 return gfx::Vector2dF(scroll_offset_->PendingDelta().get().x(), | 1441 return gfx::Vector2dF(synced_scroll_offset()->PendingDelta().get().x(), |
| 1468 scroll_offset_->PendingDelta().get().y()); | 1442 synced_scroll_offset()->PendingDelta().get().y()); |
| 1469 } | 1443 } |
| 1470 | 1444 |
| 1471 void LayerImpl::SetScrollDelta(const gfx::Vector2dF& delta) { | 1445 void LayerImpl::SetScrollDelta(const gfx::Vector2dF& delta) { |
| 1472 DCHECK(IsActive()); | 1446 DCHECK(IsActive()); |
| 1473 DCHECK(scrollable() || delta.IsZero()); | 1447 DCHECK(scrollable() || delta.IsZero()); |
| 1474 SetCurrentScrollOffset(scroll_offset_->ActiveBase() + | 1448 SetCurrentScrollOffset(synced_scroll_offset()->ActiveBase() + |
| 1475 gfx::ScrollOffset(delta)); | 1449 gfx::ScrollOffset(delta)); |
| 1476 } | 1450 } |
| 1477 | 1451 |
| 1478 gfx::ScrollOffset LayerImpl::BaseScrollOffset() const { | 1452 gfx::ScrollOffset LayerImpl::BaseScrollOffset() const { |
| 1479 if (IsActive()) | 1453 if (IsActive()) |
| 1480 return scroll_offset_->ActiveBase(); | 1454 return synced_scroll_offset()->ActiveBase(); |
| 1481 else | 1455 else |
| 1482 return scroll_offset_->PendingBase(); | 1456 return synced_scroll_offset()->PendingBase(); |
| 1483 } | 1457 } |
| 1484 | 1458 |
| 1485 void LayerImpl::PushScrollOffset(const gfx::ScrollOffset* scroll_offset) { | 1459 void LayerImpl::PushScrollOffsetFromMainThread( |
| 1486 DCHECK(scroll_offset || IsActive()); | 1460 const gfx::ScrollOffset& scroll_offset) { |
| 1461 DCHECK(&scroll_offset || IsActive()); |
| 1487 bool changed = false; | 1462 bool changed = false; |
| 1488 if (scroll_offset) { | 1463 if (&scroll_offset) { |
| 1489 DCHECK(!IsActive() || !layer_tree_impl_->FindPendingTreeLayerById(id())); | 1464 DCHECK(!IsActive() || !layer_tree_impl_->FindPendingTreeLayerById(id())); |
| 1490 changed |= scroll_offset_->PushFromMainThread(*scroll_offset); | 1465 changed |= synced_scroll_offset()->PushFromMainThread(scroll_offset); |
| 1491 } | 1466 } |
| 1467 |
| 1492 if (IsActive()) { | 1468 if (IsActive()) { |
| 1493 changed |= scroll_offset_->PushPendingToActive(); | 1469 changed |= synced_scroll_offset()->PushPendingToActive(); |
| 1494 } | 1470 } |
| 1495 | 1471 |
| 1496 if (changed) | 1472 if (changed) |
| 1497 DidUpdateScrollOffset(); | 1473 DidUpdateScrollOffset(); |
| 1498 } | 1474 } |
| 1499 | 1475 |
| 1500 void LayerImpl::UpdatePropertyTreeScrollOffset() { | 1476 void LayerImpl::UpdatePropertyTreeScrollOffset() { |
| 1501 // TODO(enne): in the future, scrolling should update the scroll tree | 1477 // TODO(enne): in the future, scrolling should update the scroll tree |
| 1502 // directly instead of going through layers. | 1478 // directly instead of going through layers. |
| 1503 if (transform_tree_index_ != -1) { | 1479 if (transform_tree_index_ != -1) { |
| 1504 TransformTree& transform_tree = | 1480 TransformTree& transform_tree = |
| 1505 layer_tree_impl()->property_trees()->transform_tree; | 1481 layer_tree_impl()->property_trees()->transform_tree; |
| 1482 |
| 1506 TransformNode* node = transform_tree.Node(transform_tree_index_); | 1483 TransformNode* node = transform_tree.Node(transform_tree_index_); |
| 1507 gfx::ScrollOffset current_offset = scroll_offset_->Current(IsActive()); | 1484 gfx::ScrollOffset current_offset = |
| 1485 synced_scroll_offset()->Current(IsActive()); |
| 1508 if (node->data.scroll_offset != current_offset) { | 1486 if (node->data.scroll_offset != current_offset) { |
| 1509 node->data.scroll_offset = current_offset; | 1487 node->data.scroll_offset = current_offset; |
| 1510 node->data.needs_local_transform_update = true; | 1488 node->data.needs_local_transform_update = true; |
| 1511 transform_tree.set_needs_update(true); | 1489 transform_tree.set_needs_update(true); |
| 1512 } | 1490 } |
| 1513 } | 1491 } |
| 1514 } | 1492 } |
| 1515 | 1493 |
| 1516 void LayerImpl::DidUpdateScrollOffset() { | 1494 void LayerImpl::DidUpdateScrollOffset() { |
| 1517 DCHECK(scroll_offset_); | |
| 1518 | |
| 1519 layer_tree_impl()->DidUpdateScrollState(id()); | 1495 layer_tree_impl()->DidUpdateScrollState(id()); |
| 1520 NoteLayerPropertyChangedForSubtree(); | 1496 NoteLayerPropertyChangedForSubtree(); |
| 1521 | |
| 1522 UpdatePropertyTreeScrollOffset(); | 1497 UpdatePropertyTreeScrollOffset(); |
| 1523 | 1498 |
| 1524 // Inform the pending twin that a property changed. | 1499 // Inform the pending twin that a property changed. |
| 1525 if (layer_tree_impl()->IsActiveTree()) { | 1500 if (layer_tree_impl()->IsActiveTree()) { |
| 1526 LayerImpl* pending_twin = layer_tree_impl()->FindPendingTreeLayerById(id()); | 1501 LayerImpl* pending_twin = layer_tree_impl()->FindPendingTreeLayerById(id()); |
| 1527 if (pending_twin) | 1502 if (pending_twin) |
| 1528 pending_twin->DidUpdateScrollOffset(); | 1503 pending_twin->DidUpdateScrollOffset(); |
| 1529 } | 1504 } |
| 1530 } | 1505 } |
| 1531 | 1506 |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1615 | 1590 |
| 1616 state->SetInteger("draws_content", DrawsContent()); | 1591 state->SetInteger("draws_content", DrawsContent()); |
| 1617 state->SetInteger("gpu_memory_usage", | 1592 state->SetInteger("gpu_memory_usage", |
| 1618 base::saturated_cast<int>(GPUMemoryUsageInBytes())); | 1593 base::saturated_cast<int>(GPUMemoryUsageInBytes())); |
| 1619 | 1594 |
| 1620 if (mutable_properties_ != MutableProperty::kNone) { | 1595 if (mutable_properties_ != MutableProperty::kNone) { |
| 1621 state->SetInteger("element_id", base::saturated_cast<int>(element_id_)); | 1596 state->SetInteger("element_id", base::saturated_cast<int>(element_id_)); |
| 1622 state->SetInteger("mutable_properties", mutable_properties_); | 1597 state->SetInteger("mutable_properties", mutable_properties_); |
| 1623 } | 1598 } |
| 1624 | 1599 |
| 1625 MathUtil::AddToTracedValue( | 1600 MathUtil::AddToTracedValue("scroll_offset", |
| 1626 "scroll_offset", scroll_offset_ ? scroll_offset_->Current(IsActive()) | 1601 synced_scroll_offset() |
| 1627 : gfx::ScrollOffset(), | 1602 ? synced_scroll_offset()->Current(IsActive()) |
| 1628 state); | 1603 : gfx::ScrollOffset(), |
| 1604 state); |
| 1629 | 1605 |
| 1630 MathUtil::AddToTracedValue("transform_origin", transform_origin_, state); | 1606 MathUtil::AddToTracedValue("transform_origin", transform_origin_, state); |
| 1631 | 1607 |
| 1632 bool clipped; | 1608 bool clipped; |
| 1633 gfx::QuadF layer_quad = | 1609 gfx::QuadF layer_quad = |
| 1634 MathUtil::MapQuad(ScreenSpaceTransform(), | 1610 MathUtil::MapQuad(ScreenSpaceTransform(), |
| 1635 gfx::QuadF(gfx::RectF(gfx::Rect(bounds()))), &clipped); | 1611 gfx::QuadF(gfx::RectF(gfx::Rect(bounds()))), &clipped); |
| 1636 MathUtil::AddToTracedValue("layer_quad", layer_quad, state); | 1612 MathUtil::AddToTracedValue("layer_quad", layer_quad, state); |
| 1637 if (!touch_event_handler_region_.IsEmpty()) { | 1613 if (!touch_event_handler_region_.IsEmpty()) { |
| 1638 state->BeginArray("touch_event_handler_region"); | 1614 state->BeginArray("touch_event_handler_region"); |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1815 .layer_transforms_should_scale_layer_contents) { | 1791 .layer_transforms_should_scale_layer_contents) { |
| 1816 return default_scale; | 1792 return default_scale; |
| 1817 } | 1793 } |
| 1818 | 1794 |
| 1819 gfx::Vector2dF transform_scales = MathUtil::ComputeTransform2dScaleComponents( | 1795 gfx::Vector2dF transform_scales = MathUtil::ComputeTransform2dScaleComponents( |
| 1820 DrawTransform(), default_scale); | 1796 DrawTransform(), default_scale); |
| 1821 return std::max(transform_scales.x(), transform_scales.y()); | 1797 return std::max(transform_scales.x(), transform_scales.y()); |
| 1822 } | 1798 } |
| 1823 | 1799 |
| 1824 } // namespace cc | 1800 } // namespace cc |
| OLD | NEW |