Chromium Code Reviews| Index: Source/core/rendering/RenderScrollbar.cpp |
| diff --git a/Source/core/rendering/RenderScrollbar.cpp b/Source/core/rendering/RenderScrollbar.cpp |
| index 05520a317f4ef3ba992b7781ab845b2713c62f91..a4f860e8ea093d4d7027d1a90320e08a722e418c 100644 |
| --- a/Source/core/rendering/RenderScrollbar.cpp |
| +++ b/Source/core/rendering/RenderScrollbar.cpp |
| @@ -36,9 +36,9 @@ |
| namespace blink { |
| -PassRefPtr<Scrollbar> RenderScrollbar::createCustomScrollbar(ScrollableArea* scrollableArea, ScrollbarOrientation orientation, Node* ownerNode, LocalFrame* owningFrame) |
| +PassRefPtrWillBeRawPtr<Scrollbar> RenderScrollbar::createCustomScrollbar(ScrollableArea* scrollableArea, ScrollbarOrientation orientation, Node* ownerNode, LocalFrame* owningFrame) |
| { |
| - return adoptRef(new RenderScrollbar(scrollableArea, orientation, ownerNode, owningFrame)); |
| + return adoptRefWillBeNoop(new RenderScrollbar(scrollableArea, orientation, ownerNode, owningFrame)); |
| } |
| RenderScrollbar::RenderScrollbar(ScrollableArea* scrollableArea, ScrollbarOrientation orientation, Node* ownerNode, LocalFrame* owningFrame) |
| @@ -75,10 +75,22 @@ RenderScrollbar::~RenderScrollbar() |
| // Meanwhile, we can have a call to updateScrollbarPart which recreates the |
| // scrollbar part. So, we need to destroy these parts since we don't want them |
| // to call on a destroyed scrollbar. See webkit bug 68009. |
|
haraken
2014/09/29 14:16:36
The culprit of the complexity is this bug. How har
sof
2014/10/02 14:03:54
Someone with rendering knowledge is better qualifi
|
| + // |
| + // Oilpan: see comment next to m_parts declaration why this is |
| + // safe to do and required. |
| updateScrollbarParts(true); |
| } |
| } |
| +void RenderScrollbar::trace(Visitor* visitor) |
| +{ |
| +#if ENABLE(OILPAN) |
| + visitor->trace(m_owner); |
| + visitor->trace(m_owningFrame); |
| +#endif |
| + Scrollbar::trace(visitor); |
| +} |
| + |
| RenderBox* RenderScrollbar::owningRenderer() const |
| { |
| if (m_owningFrame) { |