Commit 078212bb authored by trchen's avatar trchen Committed by Commit bot

[SPv2] Use PassRefPtr in PropertyTreeState setter and remove meaningless DCHECK

The common pattern is to accept PassRefPtr in setters because it will allow
zero cost ownership transfer. Also the DCHECK for non-unique ownership is
removed, because it never worked as intended.
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2572423002
Cr-Commit-Position: refs/heads/master@{#439626}
parent cafed52c
...@@ -38,36 +38,32 @@ class PropertyTreeState { ...@@ -38,36 +38,32 @@ class PropertyTreeState {
DCHECK(!m_transform || !m_transform->hasOneRef()); DCHECK(!m_transform || !m_transform->hasOneRef());
return m_transform.get(); return m_transform.get();
} }
void setTransform(const TransformPaintPropertyNode* node) { void setTransform(RefPtr<const TransformPaintPropertyNode> node) {
m_transform = node; m_transform = std::move(node);
DCHECK(!node->hasOneRef());
} }
const ClipPaintPropertyNode* clip() const { const ClipPaintPropertyNode* clip() const {
DCHECK(!m_clip || !m_clip->hasOneRef()); DCHECK(!m_clip || !m_clip->hasOneRef());
return m_clip.get(); return m_clip.get();
} }
void setClip(const ClipPaintPropertyNode* node) { void setClip(RefPtr<const ClipPaintPropertyNode> node) {
m_clip = node; m_clip = std::move(node);
DCHECK(!node->hasOneRef());
} }
const EffectPaintPropertyNode* effect() const { const EffectPaintPropertyNode* effect() const {
DCHECK(!m_effect || !m_effect->hasOneRef()); DCHECK(!m_effect || !m_effect->hasOneRef());
return m_effect.get(); return m_effect.get();
} }
void setEffect(const EffectPaintPropertyNode* node) { void setEffect(RefPtr<const EffectPaintPropertyNode> node) {
m_effect = node; m_effect = std::move(node);
DCHECK(!node->hasOneRef());
} }
const ScrollPaintPropertyNode* scroll() const { const ScrollPaintPropertyNode* scroll() const {
DCHECK(!m_scroll || !m_scroll->hasOneRef()); DCHECK(!m_scroll || !m_scroll->hasOneRef());
return m_scroll.get(); return m_scroll.get();
} }
void setScroll(const ScrollPaintPropertyNode* node) { void setScroll(RefPtr<const ScrollPaintPropertyNode> node) {
m_scroll = node; m_scroll = std::move(node);
DCHECK(!node->hasOneRef());
} }
private: private:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment