Skip to content

Commit 2e4f58c

Browse files
committed
2011-01-16 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein. frame-removed-during-resize.html test crashes (shows up as image-map-2.html crash) https://bugs.webkit.org/show_bug.cgi?id=52549 Fix regression from r75900; m_widget->setFrameRect() can run script that clears m_widget, so null-check it before calling setBoundsSize(). Tested by fast/replaced/frame-removed-during-resize.html * rendering/RenderWidget.cpp: (WebCore::RenderWidget::setWidgetGeometry): Canonical link: https://commits.webkit.org/66152@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@75906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 parent d8e70f9 commit 2e4f58c

2 files changed

Lines changed: 17 additions & 1 deletion

File tree

Source/WebCore/ChangeLog

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
2011-01-16 Simon Fraser <simon.fraser@apple.com>
2+
3+
Reviewed by Dan Bernstein.
4+
5+
frame-removed-during-resize.html test crashes (shows up as image-map-2.html crash)
6+
https://bugs.webkit.org/show_bug.cgi?id=52549
7+
8+
Fix regression from r75900; m_widget->setFrameRect() can run script that
9+
clears m_widget, so null-check it before calling setBoundsSize().
10+
11+
Tested by fast/replaced/frame-removed-during-resize.html
12+
13+
* rendering/RenderWidget.cpp:
14+
(WebCore::RenderWidget::setWidgetGeometry):
15+
116
2011-01-16 Simon Fraser <simon.fraser@apple.com>
217

318
Keep Leopard build happy.

Source/WebCore/rendering/RenderWidget.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,8 @@ bool RenderWidget::setWidgetGeometry(const IntRect& frame, const IntSize& bounds
174174
RenderWidgetProtector protector(this);
175175
RefPtr<Node> protectedNode(node());
176176
m_widget->setFrameRect(frame);
177-
m_widget->setBoundsSize(boundsSize);
177+
if (m_widget) // setFrameRect can run arbitrary script, which might clear m_widget.
178+
m_widget->setBoundsSize(boundsSize);
178179

179180
#if USE(ACCELERATED_COMPOSITING)
180181
if (hasLayer() && layer()->isComposited())

0 commit comments

Comments
 (0)