Title: [175475] trunk/Source/WebCore
- Revision
- 175475
- Author
- [email protected]
- Date
- 2014-11-03 10:39:08 -0800 (Mon, 03 Nov 2014)
Log 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:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (175474 => 175475)
--- trunk/Source/WebCore/ChangeLog 2014-11-03 18:38:44 UTC (rev 175474)
+++ trunk/Source/WebCore/ChangeLog 2014-11-03 18:39:08 UTC (rev 175475)
@@ -1,3 +1,23 @@
+2014-11-03 Andreas Kling <[email protected]>
+
+ 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:
+
2014-11-03 Tibor Meszaros <[email protected]>
[EFL] Fix the build if LOG_DISABLED=0 in release mode
Modified: trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp (175474 => 175475)
--- trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp 2014-11-03 18:38:44 UTC (rev 175474)
+++ trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp 2014-11-03 18:39:08 UTC (rev 175475)
@@ -47,6 +47,11 @@
RenderLayerModelObject::~RenderLayerModelObject()
{
+ if (isPositioned()) {
+ if (style().hasViewportConstrainedPosition())
+ view().frameView().removeViewportConstrainedObject(this);
+ }
+
// Our layer should have been destroyed and cleared by now
ASSERT(!hasLayer());
ASSERT(!m_layer);
@@ -72,17 +77,6 @@
return m_layer && m_layer->isSelfPaintingLayer();
}
-void RenderLayerModelObject::willBeDestroyed()
-{
- if (isPositioned()) {
- if (style().hasViewportConstrainedPosition())
- view().frameView().removeViewportConstrainedObject(this);
- }
-
- // RenderObject::willBeDestroyed calls back to destroyLayer() for layer destruction
- RenderElement::willBeDestroyed();
-}
-
void RenderLayerModelObject::styleWillChange(StyleDifference diff, const RenderStyle& newStyle)
{
s_wasFloating = isFloating();
Modified: trunk/Source/WebCore/rendering/RenderLayerModelObject.h (175474 => 175475)
--- trunk/Source/WebCore/rendering/RenderLayerModelObject.h 2014-11-03 18:38:44 UTC (rev 175474)
+++ trunk/Source/WebCore/rendering/RenderLayerModelObject.h 2014-11-03 18:39:08 UTC (rev 175475)
@@ -57,8 +57,6 @@
void createLayer();
- virtual void willBeDestroyed() override;
-
private:
std::unique_ptr<RenderLayer> m_layer;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes