diff options
author | Patrick Scott <phanna@android.com> | 2009-09-29 14:11:16 -0400 |
---|---|---|
committer | Patrick Scott <phanna@android.com> | 2009-09-30 14:48:54 -0400 |
commit | 30027e43592c7246954056a89ce410c01d4dd86f (patch) | |
tree | bb8fa40a2f3bf31e04afadda893a098eb68e3947 /WebCore/xml/XPathStep.cpp | |
parent | 418164343aa2437668796a013c1326c43ef318ac (diff) | |
download | external_webkit-30027e43592c7246954056a89ce410c01d4dd86f.zip external_webkit-30027e43592c7246954056a89ce410c01d4dd86f.tar.gz external_webkit-30027e43592c7246954056a89ce410c01d4dd86f.tar.bz2 |
Fix the random crash around iframes.
The problem is that if updateWidgetPosition calls layout, the FrameView will
layout with 0x0 dimensions. Then, we resize the view and try to relayout. This
causes the body to be marked as needing a layout. But, the body does not get a
chance to relayout. If updateWidgetPosition does not layout, the view size will
match and the body will not be marked for layout. This makes everything sane
after layout of the iframe.
The root of the problem is that we are calling FrameView::layout() while in the
midst of a layout. This is causing a child RenderObject to need a layout
without the parent object needing a layout. We avoid this by not laying out
until we set the FrameView dimensions.
Bug: 2048855, 2134215
Diffstat (limited to 'WebCore/xml/XPathStep.cpp')
0 files changed, 0 insertions, 0 deletions