Changeset 175475 in webkit


Ignore:
Timestamp:
Nov 3, 2014 10:39:08 AM (9 years ago)
Author:
akling@apple.com
Message:

RenderLayerModelObject shouldn't need a pre-destructor hook.
<https://webkit.org/b/138314>

Reviewed by Antti Koivisto.

Move code from the willBeDestroyed() pre-destructor hook to the regular
~RenderLayerModelObject() destructor.

We just need to unregister the renderer from the FrameView's set of
viewport-constrained objects. That doesn't require being able to walk
the render tree or call virtuals, which is the main reason you'd use
willBeDestroyed().

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::~RenderLayerModelObject):
(WebCore::RenderLayerModelObject::willBeDestroyed): Deleted.

  • rendering/RenderLayerModelObject.h:
Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r175472 r175475  
     12014-11-03  Andreas Kling  <akling@apple.com>
     2
     3        RenderLayerModelObject shouldn't need a pre-destructor hook.
     4        <https://webkit.org/b/138314>
     5
     6        Reviewed by Antti Koivisto.
     7
     8        Move code from the willBeDestroyed() pre-destructor hook to the regular
     9        ~RenderLayerModelObject() destructor.
     10
     11        We just need to unregister the renderer from the FrameView's set of
     12        viewport-constrained objects. That doesn't require being able to walk
     13        the render tree or call virtuals, which is the main reason you'd use
     14        willBeDestroyed().
     15
     16        * rendering/RenderLayerModelObject.cpp:
     17        (WebCore::RenderLayerModelObject::~RenderLayerModelObject):
     18        (WebCore::RenderLayerModelObject::willBeDestroyed): Deleted.
     19        * rendering/RenderLayerModelObject.h:
     20
    1212014-11-03  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
    222
  • trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp

    r173268 r175475  
    4848RenderLayerModelObject::~RenderLayerModelObject()
    4949{
     50    if (isPositioned()) {
     51        if (style().hasViewportConstrainedPosition())
     52            view().frameView().removeViewportConstrainedObject(this);
     53    }
     54
    5055    // Our layer should have been destroyed and cleared by now
    5156    ASSERT(!hasLayer());
     
    7176{
    7277    return m_layer && m_layer->isSelfPaintingLayer();
    73 }
    74 
    75 void RenderLayerModelObject::willBeDestroyed()
    76 {
    77     if (isPositioned()) {
    78         if (style().hasViewportConstrainedPosition())
    79             view().frameView().removeViewportConstrainedObject(this);
    80     }
    81 
    82     // RenderObject::willBeDestroyed calls back to destroyLayer() for layer destruction
    83     RenderElement::willBeDestroyed();
    8478}
    8579
  • trunk/Source/WebCore/rendering/RenderLayerModelObject.h

    r174875 r175475  
    5858    void createLayer();
    5959
    60     virtual void willBeDestroyed() override;
    61 
    6260private:
    6361    std::unique_ptr<RenderLayer> m_layer;
Note: See TracChangeset for help on using the changeset viewer.