| Index: Source/core/rendering/LayoutRectRecorder.cpp
|
| diff --git a/Source/core/rendering/LayoutRectRecorder.cpp b/Source/core/rendering/LayoutRectRecorder.cpp
|
| index 90c50d32884cfc03bf5ddfd6ece5187b595f0f35..ca28ab4fff613157eaabf99596def74e9efe919d 100644
|
| --- a/Source/core/rendering/LayoutRectRecorder.cpp
|
| +++ b/Source/core/rendering/LayoutRectRecorder.cpp
|
| @@ -51,8 +51,13 @@ LayoutRectRecorder::LayoutRectRecorder(RenderObject& object, bool skipRecording)
|
| if (m_skipRecording)
|
| return;
|
|
|
| - if (!m_object.layoutDidGetCalled())
|
| - m_object.setOldRepaintRect(m_object.clippedOverflowRectForRepaint(m_object.containerForRepaint()));
|
| + if (!m_object.layoutDidGetCalled()) {
|
| + RenderLayerModelObject* containerForRepaint = m_object.containerForRepaint();
|
| + m_object.setOldRepaintRect(m_object.clippedOverflowRectForRepaint(containerForRepaint));
|
| +
|
| + if (m_object.hasOutline())
|
| + m_object.setOldOutlineRect(m_object.outlineBoundsForRepaint(containerForRepaint));
|
| + }
|
|
|
| // If should do repaint was set previously make sure we don't accidentally unset it.
|
| if (!m_object.shouldDoFullRepaintAfterLayout())
|
| @@ -69,7 +74,11 @@ LayoutRectRecorder::~LayoutRectRecorder()
|
| return;
|
|
|
| // Note, we don't store the repaint container because it can change during layout.
|
| - m_object.setNewRepaintRect(m_object.clippedOverflowRectForRepaint(m_object.containerForRepaint()));
|
| + RenderLayerModelObject* containerForRepaint = m_object.containerForRepaint();
|
| + m_object.setNewRepaintRect(m_object.clippedOverflowRectForRepaint(containerForRepaint));
|
| +
|
| + if (m_object.hasOutline())
|
| + m_object.setNewOutlineRect(m_object.outlineBoundsForRepaint(containerForRepaint));
|
| }
|
|
|
| } // namespace WebCore
|
|
|