Chromium Code Reviews| 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 26 matching lines...) Expand all Loading... | |
| 37 #include "cc/trees/proxy.h" | 37 #include "cc/trees/proxy.h" |
| 38 #include "ui/gfx/geometry/box_f.h" | 38 #include "ui/gfx/geometry/box_f.h" |
| 39 #include "ui/gfx/geometry/point_conversions.h" | 39 #include "ui/gfx/geometry/point_conversions.h" |
| 40 #include "ui/gfx/geometry/quad_f.h" | 40 #include "ui/gfx/geometry/quad_f.h" |
| 41 #include "ui/gfx/geometry/rect_conversions.h" | 41 #include "ui/gfx/geometry/rect_conversions.h" |
| 42 #include "ui/gfx/geometry/size_conversions.h" | 42 #include "ui/gfx/geometry/size_conversions.h" |
| 43 #include "ui/gfx/geometry/vector2d_conversions.h" | 43 #include "ui/gfx/geometry/vector2d_conversions.h" |
| 44 | 44 |
| 45 namespace cc { | 45 namespace cc { |
| 46 LayerImpl::LayerImpl(LayerTreeImpl* layer_impl, int id) | 46 LayerImpl::LayerImpl(LayerTreeImpl* layer_impl, int id) |
| 47 : LayerImpl(layer_impl, id, new LayerImpl::SyncedScrollOffset) { | 47 : LayerImpl(layer_impl, id, new SyncedScrollOffset) {} |
| 48 } | |
| 49 | 48 |
| 50 LayerImpl::LayerImpl(LayerTreeImpl* tree_impl, | 49 LayerImpl::LayerImpl(LayerTreeImpl* tree_impl, |
| 51 int id, | 50 int id, |
| 52 scoped_refptr<SyncedScrollOffset> scroll_offset) | 51 scoped_refptr<SyncedScrollOffset> scroll_offset) |
|
ajuma
2016/03/02 18:43:09
scroll_offset seems to be unused now, so should be
sunxd
2016/03/02 20:52:55
Done.
| |
| 53 : parent_(nullptr), | 52 : parent_(nullptr), |
| 54 scroll_parent_(nullptr), | 53 scroll_parent_(nullptr), |
| 55 clip_parent_(nullptr), | 54 clip_parent_(nullptr), |
| 56 mask_layer_id_(-1), | 55 mask_layer_id_(-1), |
| 57 replica_layer_id_(-1), | 56 replica_layer_id_(-1), |
| 58 layer_id_(id), | 57 layer_id_(id), |
| 59 layer_tree_impl_(tree_impl), | 58 layer_tree_impl_(tree_impl), |
| 60 scroll_offset_(scroll_offset), | |
| 61 scroll_clip_layer_id_(Layer::INVALID_ID), | 59 scroll_clip_layer_id_(Layer::INVALID_ID), |
| 62 main_thread_scrolling_reasons_( | 60 main_thread_scrolling_reasons_( |
| 63 MainThreadScrollingReason::kNotScrollingOnMain), | 61 MainThreadScrollingReason::kNotScrollingOnMain), |
| 64 user_scrollable_horizontal_(true), | 62 user_scrollable_horizontal_(true), |
| 65 user_scrollable_vertical_(true), | 63 user_scrollable_vertical_(true), |
| 66 double_sided_(true), | 64 double_sided_(true), |
| 67 should_flatten_transform_(true), | 65 should_flatten_transform_(true), |
| 68 should_flatten_transform_from_property_tree_(false), | 66 should_flatten_transform_from_property_tree_(false), |
| 69 layer_property_changed_(false), | 67 layer_property_changed_(false), |
| 70 masks_to_bounds_(false), | 68 masks_to_bounds_(false), |
| (...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 482 | 480 |
| 483 bool LayerImpl::scrollable() const { | 481 bool LayerImpl::scrollable() const { |
| 484 return scroll_clip_layer_id_ != Layer::INVALID_ID; | 482 return scroll_clip_layer_id_ != Layer::INVALID_ID; |
| 485 } | 483 } |
| 486 | 484 |
| 487 bool LayerImpl::user_scrollable(ScrollbarOrientation orientation) const { | 485 bool LayerImpl::user_scrollable(ScrollbarOrientation orientation) const { |
| 488 return (orientation == HORIZONTAL) ? user_scrollable_horizontal_ | 486 return (orientation == HORIZONTAL) ? user_scrollable_horizontal_ |
| 489 : user_scrollable_vertical_; | 487 : user_scrollable_vertical_; |
| 490 } | 488 } |
| 491 | 489 |
| 492 void LayerImpl::ApplySentScrollDeltasFromAbortedCommit() { | |
| 493 DCHECK(layer_tree_impl()->IsActiveTree()); | |
| 494 scroll_offset_->AbortCommit(); | |
| 495 } | |
| 496 | |
| 497 skia::RefPtr<SkPicture> LayerImpl::GetPicture() { | 490 skia::RefPtr<SkPicture> LayerImpl::GetPicture() { |
| 498 return skia::RefPtr<SkPicture>(); | 491 return skia::RefPtr<SkPicture>(); |
| 499 } | 492 } |
| 500 | 493 |
| 501 scoped_ptr<LayerImpl> LayerImpl::CreateLayerImpl(LayerTreeImpl* tree_impl) { | 494 scoped_ptr<LayerImpl> LayerImpl::CreateLayerImpl(LayerTreeImpl* tree_impl) { |
| 502 return LayerImpl::Create(tree_impl, layer_id_, scroll_offset_); | 495 return LayerImpl::Create(tree_impl, layer_id_); |
| 503 } | 496 } |
| 504 | 497 |
| 505 void LayerImpl::set_main_thread_scrolling_reasons( | 498 void LayerImpl::set_main_thread_scrolling_reasons( |
| 506 uint32_t main_thread_scrolling_reasons) { | 499 uint32_t main_thread_scrolling_reasons) { |
| 507 if (main_thread_scrolling_reasons_ == main_thread_scrolling_reasons) | 500 if (main_thread_scrolling_reasons_ == main_thread_scrolling_reasons) |
| 508 return; | 501 return; |
| 509 | 502 |
| 510 if (main_thread_scrolling_reasons & | 503 if (main_thread_scrolling_reasons & |
| 511 MainThreadScrollingReason::kHasNonLayerViewportConstrainedObjects && | 504 MainThreadScrollingReason::kHasNonLayerViewportConstrainedObjects && |
| 512 layer_tree_impl()) { | 505 layer_tree_impl()) { |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 564 layer->NoteLayerPropertyChanged(); | 557 layer->NoteLayerPropertyChanged(); |
| 565 | 558 |
| 566 layer->SetScrollClipLayer(scroll_clip_layer_id_); | 559 layer->SetScrollClipLayer(scroll_clip_layer_id_); |
| 567 layer->SetElementId(element_id_); | 560 layer->SetElementId(element_id_); |
| 568 layer->SetMutableProperties(mutable_properties_); | 561 layer->SetMutableProperties(mutable_properties_); |
| 569 layer->set_user_scrollable_horizontal(user_scrollable_horizontal_); | 562 layer->set_user_scrollable_horizontal(user_scrollable_horizontal_); |
| 570 layer->set_user_scrollable_vertical(user_scrollable_vertical_); | 563 layer->set_user_scrollable_vertical(user_scrollable_vertical_); |
| 571 | 564 |
| 572 layer->SetScrollCompensationAdjustment(scroll_compensation_adjustment_); | 565 layer->SetScrollCompensationAdjustment(scroll_compensation_adjustment_); |
| 573 | 566 |
| 574 layer->PushScrollOffset(nullptr); | |
| 575 | |
| 576 layer->Set3dSortingContextId(sorting_context_id_); | 567 layer->Set3dSortingContextId(sorting_context_id_); |
| 577 layer->SetNumDescendantsThatDrawContent(num_descendants_that_draw_content_); | 568 layer->SetNumDescendantsThatDrawContent(num_descendants_that_draw_content_); |
| 578 | 569 |
| 579 layer->SetTransformTreeIndex(transform_tree_index_); | 570 layer->SetTransformTreeIndex(transform_tree_index_); |
| 580 layer->SetClipTreeIndex(clip_tree_index_); | 571 layer->SetClipTreeIndex(clip_tree_index_); |
| 581 layer->SetEffectTreeIndex(effect_tree_index_); | 572 layer->SetEffectTreeIndex(effect_tree_index_); |
| 582 layer->SetScrollTreeIndex(scroll_tree_index_); | 573 layer->SetScrollTreeIndex(scroll_tree_index_); |
| 583 layer->set_offset_to_transform_parent(offset_to_transform_parent_); | 574 layer->set_offset_to_transform_parent(offset_to_transform_parent_); |
| 584 | 575 |
| 585 LayerImpl* scroll_parent = nullptr; | 576 LayerImpl* scroll_parent = nullptr; |
| (...skipping 720 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1306 frame_timing_requests_ = requests; | 1297 frame_timing_requests_ = requests; |
| 1307 frame_timing_requests_dirty_ = true; | 1298 frame_timing_requests_dirty_ = true; |
| 1308 SetNeedsPushProperties(); | 1299 SetNeedsPushProperties(); |
| 1309 } | 1300 } |
| 1310 | 1301 |
| 1311 void LayerImpl::GatherFrameTimingRequestIds(std::vector<int64_t>* request_ids) { | 1302 void LayerImpl::GatherFrameTimingRequestIds(std::vector<int64_t>* request_ids) { |
| 1312 for (const auto& request : frame_timing_requests_) | 1303 for (const auto& request : frame_timing_requests_) |
| 1313 request_ids->push_back(request.id()); | 1304 request_ids->push_back(request.id()); |
| 1314 } | 1305 } |
| 1315 | 1306 |
| 1307 const SyncedScrollOffset* LayerImpl::synced_scroll_offset() const { | |
| 1308 return layer_tree_impl()->property_trees()->scroll_tree.synced_scroll_offset( | |
| 1309 id()); | |
| 1310 } | |
| 1311 | |
| 1312 SyncedScrollOffset* LayerImpl::synced_scroll_offset() { | |
| 1313 return layer_tree_impl()->property_trees()->scroll_tree.synced_scroll_offset( | |
| 1314 id()); | |
| 1315 } | |
| 1316 | |
| 1316 void LayerImpl::SetTransform(const gfx::Transform& transform) { | 1317 void LayerImpl::SetTransform(const gfx::Transform& transform) { |
| 1317 if (transform_ == transform) | 1318 if (transform_ == transform) |
| 1318 return; | 1319 return; |
| 1319 | 1320 |
| 1320 transform_ = transform; | 1321 transform_ = transform; |
| 1321 transform_is_invertible_ = transform_.IsInvertible(); | 1322 transform_is_invertible_ = transform_.IsInvertible(); |
| 1322 } | 1323 } |
| 1323 | 1324 |
| 1324 void LayerImpl::SetTransformAndInvertibility(const gfx::Transform& transform, | 1325 void LayerImpl::SetTransformAndInvertibility(const gfx::Transform& transform, |
| 1325 bool transform_is_invertible) { | 1326 bool transform_is_invertible) { |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1450 update_rect_ = update_rect; | 1451 update_rect_ = update_rect; |
| 1451 SetNeedsPushProperties(); | 1452 SetNeedsPushProperties(); |
| 1452 } | 1453 } |
| 1453 | 1454 |
| 1454 void LayerImpl::AddDamageRect(const gfx::Rect& damage_rect) { | 1455 void LayerImpl::AddDamageRect(const gfx::Rect& damage_rect) { |
| 1455 damage_rect_.Union(damage_rect); | 1456 damage_rect_.Union(damage_rect); |
| 1456 } | 1457 } |
| 1457 | 1458 |
| 1458 void LayerImpl::SetCurrentScrollOffset(const gfx::ScrollOffset& scroll_offset) { | 1459 void LayerImpl::SetCurrentScrollOffset(const gfx::ScrollOffset& scroll_offset) { |
| 1459 DCHECK(IsActive()); | 1460 DCHECK(IsActive()); |
| 1460 if (scroll_offset_->SetCurrent(scroll_offset)) | 1461 if (synced_scroll_offset()->SetCurrent(scroll_offset)) |
| 1461 DidUpdateScrollOffset(); | 1462 DidUpdateScrollOffset(); |
| 1462 } | 1463 } |
| 1463 | 1464 |
| 1464 void LayerImpl::PushScrollOffsetFromMainThread( | |
| 1465 const gfx::ScrollOffset& scroll_offset) { | |
| 1466 PushScrollOffset(&scroll_offset); | |
| 1467 } | |
| 1468 | |
| 1469 void LayerImpl::PushScrollOffsetFromMainThreadAndClobberActiveValue( | |
| 1470 const gfx::ScrollOffset& scroll_offset) { | |
| 1471 scroll_offset_->set_clobber_active_value(); | |
| 1472 PushScrollOffset(&scroll_offset); | |
| 1473 } | |
| 1474 | |
| 1475 gfx::ScrollOffset LayerImpl::PullDeltaForMainThread() { | |
| 1476 // TODO(miletus): Remove all this temporary flooring machinery when | |
| 1477 // Blink fully supports fractional scrolls. | |
| 1478 gfx::ScrollOffset current_offset = CurrentScrollOffset(); | |
| 1479 gfx::ScrollOffset current_delta = IsActive() | |
| 1480 ? scroll_offset_->Delta() | |
| 1481 : scroll_offset_->PendingDelta().get(); | |
| 1482 gfx::ScrollOffset floored_delta(floor(current_delta.x()), | |
| 1483 floor(current_delta.y())); | |
| 1484 gfx::ScrollOffset diff_delta = floored_delta - current_delta; | |
| 1485 gfx::ScrollOffset tmp_offset = current_offset + diff_delta; | |
| 1486 scroll_offset_->SetCurrent(tmp_offset); | |
| 1487 gfx::ScrollOffset delta = scroll_offset_->PullDeltaForMainThread(); | |
| 1488 scroll_offset_->SetCurrent(current_offset); | |
| 1489 return delta; | |
| 1490 } | |
| 1491 | |
| 1492 gfx::ScrollOffset LayerImpl::CurrentScrollOffset() const { | 1465 gfx::ScrollOffset LayerImpl::CurrentScrollOffset() const { |
| 1493 return scroll_offset_->Current(IsActive()); | 1466 return synced_scroll_offset()->Current(IsActive()); |
| 1494 } | 1467 } |
| 1495 | 1468 |
| 1496 gfx::Vector2dF LayerImpl::ScrollDelta() const { | 1469 gfx::Vector2dF LayerImpl::ScrollDelta() const { |
| 1497 if (IsActive()) | 1470 if (IsActive()) |
| 1498 return gfx::Vector2dF(scroll_offset_->Delta().x(), | 1471 return gfx::Vector2dF(synced_scroll_offset()->Delta().x(), |
| 1499 scroll_offset_->Delta().y()); | 1472 synced_scroll_offset()->Delta().y()); |
| 1500 else | 1473 else |
| 1501 return gfx::Vector2dF(scroll_offset_->PendingDelta().get().x(), | 1474 return gfx::Vector2dF(synced_scroll_offset()->PendingDelta().get().x(), |
| 1502 scroll_offset_->PendingDelta().get().y()); | 1475 synced_scroll_offset()->PendingDelta().get().y()); |
| 1503 } | 1476 } |
| 1504 | 1477 |
| 1505 void LayerImpl::SetScrollDelta(const gfx::Vector2dF& delta) { | 1478 void LayerImpl::SetScrollDelta(const gfx::Vector2dF& delta) { |
| 1506 DCHECK(IsActive()); | 1479 DCHECK(IsActive()); |
| 1507 DCHECK(scrollable() || delta.IsZero()); | 1480 DCHECK(scrollable() || delta.IsZero()); |
| 1508 SetCurrentScrollOffset(scroll_offset_->ActiveBase() + | 1481 SetCurrentScrollOffset(synced_scroll_offset()->ActiveBase() + |
| 1509 gfx::ScrollOffset(delta)); | 1482 gfx::ScrollOffset(delta)); |
| 1510 } | 1483 } |
| 1511 | 1484 |
| 1512 gfx::ScrollOffset LayerImpl::BaseScrollOffset() const { | 1485 gfx::ScrollOffset LayerImpl::BaseScrollOffset() const { |
| 1513 if (IsActive()) | 1486 if (IsActive()) |
| 1514 return scroll_offset_->ActiveBase(); | 1487 return synced_scroll_offset()->ActiveBase(); |
| 1515 else | 1488 else |
| 1516 return scroll_offset_->PendingBase(); | 1489 return synced_scroll_offset()->PendingBase(); |
| 1517 } | 1490 } |
| 1518 | 1491 |
| 1519 void LayerImpl::PushScrollOffset(const gfx::ScrollOffset* scroll_offset) { | 1492 void LayerImpl::PushScrollOffsetFromMainThread( |
| 1520 DCHECK(scroll_offset || IsActive()); | 1493 const gfx::ScrollOffset& scroll_offset) { |
| 1521 bool changed = false; | 1494 bool changed = false; |
| 1522 if (scroll_offset) { | 1495 DCHECK(!IsActive() || !layer_tree_impl_->FindPendingTreeLayerById(id())); |
| 1523 DCHECK(!IsActive() || !layer_tree_impl_->FindPendingTreeLayerById(id())); | 1496 changed |= synced_scroll_offset()->PushFromMainThread(scroll_offset); |
| 1524 changed |= scroll_offset_->PushFromMainThread(*scroll_offset); | 1497 |
| 1525 } | |
| 1526 if (IsActive()) { | 1498 if (IsActive()) { |
| 1527 changed |= scroll_offset_->PushPendingToActive(); | 1499 changed |= synced_scroll_offset()->PushPendingToActive(); |
| 1528 } | 1500 } |
| 1529 | 1501 |
| 1530 if (changed) | 1502 if (changed) |
| 1531 DidUpdateScrollOffset(); | 1503 DidUpdateScrollOffset(); |
| 1532 } | 1504 } |
| 1533 | 1505 |
| 1534 void LayerImpl::UpdatePropertyTreeScrollOffset() { | 1506 void LayerImpl::UpdatePropertyTreeScrollOffset() { |
| 1535 // TODO(enne): in the future, scrolling should update the scroll tree | 1507 // TODO(enne): in the future, scrolling should update the scroll tree |
| 1536 // directly instead of going through layers. | 1508 // directly instead of going through layers. |
| 1537 if (transform_tree_index_ != -1) { | 1509 if (transform_tree_index_ != -1) { |
| 1538 TransformTree& transform_tree = | 1510 TransformTree& transform_tree = |
| 1539 layer_tree_impl()->property_trees()->transform_tree; | 1511 layer_tree_impl()->property_trees()->transform_tree; |
| 1540 TransformNode* node = transform_tree.Node(transform_tree_index_); | 1512 TransformNode* node = transform_tree.Node(transform_tree_index_); |
| 1541 gfx::ScrollOffset current_offset = scroll_offset_->Current(IsActive()); | 1513 gfx::ScrollOffset current_offset = |
| 1514 synced_scroll_offset()->Current(IsActive()); | |
| 1542 if (node->data.scroll_offset != current_offset) { | 1515 if (node->data.scroll_offset != current_offset) { |
| 1543 node->data.scroll_offset = current_offset; | 1516 node->data.scroll_offset = current_offset; |
| 1544 node->data.needs_local_transform_update = true; | 1517 node->data.needs_local_transform_update = true; |
| 1545 transform_tree.set_needs_update(true); | 1518 transform_tree.set_needs_update(true); |
| 1546 } | 1519 } |
| 1547 } | 1520 } |
| 1548 } | 1521 } |
| 1549 | 1522 |
| 1550 void LayerImpl::DidUpdateScrollOffset() { | 1523 void LayerImpl::DidUpdateScrollOffset() { |
| 1551 DCHECK(scroll_offset_); | |
| 1552 | |
| 1553 layer_tree_impl()->DidUpdateScrollState(id()); | 1524 layer_tree_impl()->DidUpdateScrollState(id()); |
| 1554 NoteLayerPropertyChangedForSubtree(); | 1525 NoteLayerPropertyChangedForSubtree(); |
| 1555 | |
| 1556 UpdatePropertyTreeScrollOffset(); | 1526 UpdatePropertyTreeScrollOffset(); |
| 1557 | 1527 |
| 1558 // Inform the pending twin that a property changed. | 1528 // Inform the pending twin that a property changed. |
| 1559 if (layer_tree_impl()->IsActiveTree()) { | 1529 if (layer_tree_impl()->IsActiveTree()) { |
| 1560 LayerImpl* pending_twin = layer_tree_impl()->FindPendingTreeLayerById(id()); | 1530 LayerImpl* pending_twin = layer_tree_impl()->FindPendingTreeLayerById(id()); |
| 1561 if (pending_twin) | 1531 if (pending_twin) |
| 1562 pending_twin->DidUpdateScrollOffset(); | 1532 pending_twin->DidUpdateScrollOffset(); |
| 1563 } | 1533 } |
| 1564 } | 1534 } |
| 1565 | 1535 |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1649 | 1619 |
| 1650 state->SetInteger("draws_content", DrawsContent()); | 1620 state->SetInteger("draws_content", DrawsContent()); |
| 1651 state->SetInteger("gpu_memory_usage", | 1621 state->SetInteger("gpu_memory_usage", |
| 1652 base::saturated_cast<int>(GPUMemoryUsageInBytes())); | 1622 base::saturated_cast<int>(GPUMemoryUsageInBytes())); |
| 1653 | 1623 |
| 1654 if (mutable_properties_ != MutableProperty::kNone) { | 1624 if (mutable_properties_ != MutableProperty::kNone) { |
| 1655 state->SetInteger("element_id", base::saturated_cast<int>(element_id_)); | 1625 state->SetInteger("element_id", base::saturated_cast<int>(element_id_)); |
| 1656 state->SetInteger("mutable_properties", mutable_properties_); | 1626 state->SetInteger("mutable_properties", mutable_properties_); |
| 1657 } | 1627 } |
| 1658 | 1628 |
| 1659 MathUtil::AddToTracedValue( | 1629 MathUtil::AddToTracedValue("scroll_offset", |
| 1660 "scroll_offset", scroll_offset_ ? scroll_offset_->Current(IsActive()) | 1630 synced_scroll_offset() |
| 1661 : gfx::ScrollOffset(), | 1631 ? synced_scroll_offset()->Current(IsActive()) |
| 1662 state); | 1632 : gfx::ScrollOffset(), |
| 1633 state); | |
| 1663 | 1634 |
| 1664 MathUtil::AddToTracedValue("transform_origin", transform_origin_, state); | 1635 MathUtil::AddToTracedValue("transform_origin", transform_origin_, state); |
| 1665 | 1636 |
| 1666 bool clipped; | 1637 bool clipped; |
| 1667 gfx::QuadF layer_quad = | 1638 gfx::QuadF layer_quad = |
| 1668 MathUtil::MapQuad(ScreenSpaceTransform(), | 1639 MathUtil::MapQuad(ScreenSpaceTransform(), |
| 1669 gfx::QuadF(gfx::RectF(gfx::Rect(bounds()))), &clipped); | 1640 gfx::QuadF(gfx::RectF(gfx::Rect(bounds()))), &clipped); |
| 1670 MathUtil::AddToTracedValue("layer_quad", layer_quad, state); | 1641 MathUtil::AddToTracedValue("layer_quad", layer_quad, state); |
| 1671 if (!touch_event_handler_region_.IsEmpty()) { | 1642 if (!touch_event_handler_region_.IsEmpty()) { |
| 1672 state->BeginArray("touch_event_handler_region"); | 1643 state->BeginArray("touch_event_handler_region"); |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1849 .layer_transforms_should_scale_layer_contents) { | 1820 .layer_transforms_should_scale_layer_contents) { |
| 1850 return default_scale; | 1821 return default_scale; |
| 1851 } | 1822 } |
| 1852 | 1823 |
| 1853 gfx::Vector2dF transform_scales = MathUtil::ComputeTransform2dScaleComponents( | 1824 gfx::Vector2dF transform_scales = MathUtil::ComputeTransform2dScaleComponents( |
| 1854 DrawTransform(), default_scale); | 1825 DrawTransform(), default_scale); |
| 1855 return std::max(transform_scales.x(), transform_scales.y()); | 1826 return std::max(transform_scales.x(), transform_scales.y()); |
| 1856 } | 1827 } |
| 1857 | 1828 |
| 1858 } // namespace cc | 1829 } // namespace cc |
| OLD | NEW |