diff options
author | ajay.berwal@samsung.com <ajay.berwal@samsung.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-05 09:18:42 +0000 |
---|---|---|
committer | ajay.berwal@samsung.com <ajay.berwal@samsung.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-05 09:18:42 +0000 |
commit | 243e4f1996a61098947b5f9ad1798d6b5412ef0b (patch) | |
tree | 647808bf21f492a652d54e8e15c12177ca04e824 /cc/layers | |
parent | 1e7e41e75151197f026df35b9c01c4bc63bccef0 (diff) | |
download | chromium_src-243e4f1996a61098947b5f9ad1798d6b5412ef0b.zip chromium_src-243e4f1996a61098947b5f9ad1798d6b5412ef0b.tar.gz chromium_src-243e4f1996a61098947b5f9ad1798d6b5412ef0b.tar.bz2 |
Pass gfx structs by const ref (gfx::Vector2d)
Avoid unneccessary copy of structures gfx::Vector2d
by passing them by const ref rather than value.
Any struct of size > 4 bytes should be passed by const ref.
Passing by ref for these structs is faster than passing
by value, especially when invoking function has multiple parameters.
Pass gfx structs by const ref (gfx::Vector2d)
BUG=159273
Review URL: https://codereview.chromium.org/132163009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248941 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/layers')
-rw-r--r-- | cc/layers/layer.cc | 3 | ||||
-rw-r--r-- | cc/layers/layer.h | 3 | ||||
-rw-r--r-- | cc/layers/layer_impl.cc | 7 | ||||
-rw-r--r-- | cc/layers/layer_impl.h | 7 | ||||
-rw-r--r-- | cc/layers/tiled_layer.cc | 2 |
5 files changed, 9 insertions, 13 deletions
diff --git a/cc/layers/layer.cc b/cc/layers/layer.cc index b485d0d..56850a8 100644 --- a/cc/layers/layer.cc +++ b/cc/layers/layer.cc @@ -693,7 +693,7 @@ void Layer::SetScrollOffset(gfx::Vector2d scroll_offset) { SetNeedsCommit(); } -void Layer::SetScrollOffsetFromImplSide(gfx::Vector2d scroll_offset) { +void Layer::SetScrollOffsetFromImplSide(const gfx::Vector2d& scroll_offset) { DCHECK(IsPropertyChangeAllowed()); // This function only gets called during a BeginMainFrame, so there // is no need to call SetNeedsUpdate here. @@ -1204,5 +1204,4 @@ void Layer::RemoveFromClipTree() { void Layer::RunMicroBenchmark(MicroBenchmark* benchmark) { benchmark->RunOnLayer(this); } - } // namespace cc diff --git a/cc/layers/layer.h b/cc/layers/layer.h index 15b0e00..1c0f27c 100644 --- a/cc/layers/layer.h +++ b/cc/layers/layer.h @@ -267,10 +267,9 @@ class CC_EXPORT Layer : public base::RefCounted<Layer>, void SetScrollOffset(gfx::Vector2d scroll_offset); gfx::Vector2d scroll_offset() const { return scroll_offset_; } - void SetScrollOffsetFromImplSide(gfx::Vector2d scroll_offset); + void SetScrollOffsetFromImplSide(const gfx::Vector2d& scroll_offset); gfx::Vector2d MaxScrollOffset() const; - void SetScrollClipLayerId(int clip_layer_id); bool scrollable() const { return scroll_clip_layer_id_ != INVALID_ID; } diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc index e21cc13..a06884d 100644 --- a/cc/layers/layer_impl.cc +++ b/cc/layers/layer_impl.cc @@ -367,7 +367,7 @@ ResourceProvider::ResourceId LayerImpl::ContentsResourceId() const { return 0; } -void LayerImpl::SetSentScrollDelta(gfx::Vector2d sent_scroll_delta) { +void LayerImpl::SetSentScrollDelta(const gfx::Vector2d& sent_scroll_delta) { // Pending tree never has sent scroll deltas DCHECK(layer_tree_impl()->IsActiveTree()); @@ -1054,11 +1054,11 @@ bool LayerImpl::IsExternalFlingActive() const { scroll_offset_delegate_->IsExternalFlingActive(); } -void LayerImpl::SetScrollOffset(gfx::Vector2d scroll_offset) { +void LayerImpl::SetScrollOffset(const gfx::Vector2d& scroll_offset) { SetScrollOffsetAndDelta(scroll_offset, ScrollDelta()); } -void LayerImpl::SetScrollOffsetAndDelta(gfx::Vector2d scroll_offset, +void LayerImpl::SetScrollOffsetAndDelta(const gfx::Vector2d& scroll_offset, const gfx::Vector2dF& scroll_delta) { bool changed = false; @@ -1478,5 +1478,4 @@ scoped_ptr<base::Value> LayerImpl::AsValue() const { void LayerImpl::RunMicroBenchmark(MicroBenchmarkImpl* benchmark) { benchmark->RunOnLayer(this); } - } // namespace cc diff --git a/cc/layers/layer_impl.h b/cc/layers/layer_impl.h index bb4358f..a901a64 100644 --- a/cc/layers/layer_impl.h +++ b/cc/layers/layer_impl.h @@ -362,8 +362,8 @@ class CC_EXPORT LayerImpl : public LayerAnimationValueObserver, LayerScrollOffsetDelegate* scroll_offset_delegate); bool IsExternalFlingActive() const; - void SetScrollOffset(gfx::Vector2d scroll_offset); - void SetScrollOffsetAndDelta(gfx::Vector2d scroll_offset, + void SetScrollOffset(const gfx::Vector2d& scroll_offset); + void SetScrollOffsetAndDelta(const gfx::Vector2d& scroll_offset, const gfx::Vector2dF& scroll_delta); gfx::Vector2d scroll_offset() const { return scroll_offset_; } @@ -371,13 +371,12 @@ class CC_EXPORT LayerImpl : public LayerAnimationValueObserver, gfx::Vector2dF ClampScrollToMaxScrollOffset(); void SetScrollbarPosition(ScrollbarLayerImplBase* scrollbar_layer, LayerImpl* scrollbar_clip_layer) const; - void SetScrollDelta(const gfx::Vector2dF& scroll_delta); gfx::Vector2dF ScrollDelta() const; gfx::Vector2dF TotalScrollOffset() const; - void SetSentScrollDelta(gfx::Vector2d sent_scroll_delta); + void SetSentScrollDelta(const gfx::Vector2d& sent_scroll_delta); gfx::Vector2d sent_scroll_delta() const { return sent_scroll_delta_; } // Returns the delta of the scroll that was outside of the bounds of the diff --git a/cc/layers/tiled_layer.cc b/cc/layers/tiled_layer.cc index 2507470..d4ec763 100644 --- a/cc/layers/tiled_layer.cc +++ b/cc/layers/tiled_layer.cc @@ -686,7 +686,7 @@ void TiledLayer::ResetUpdateState() { } namespace { -gfx::Rect ExpandRectByDelta(const gfx::Rect& rect, gfx::Vector2d delta) { +gfx::Rect ExpandRectByDelta(const gfx::Rect& rect, const gfx::Vector2d& delta) { int width = rect.width() + std::abs(delta.x()); int height = rect.height() + std::abs(delta.y()); int x = rect.x() + ((delta.x() < 0) ? delta.x() : 0); |