Changeset 65832 in webkit
- Timestamp:
- Aug 23, 2010 2:31:11 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r65830 r65832 1 2010-08-23 Mihai Parparita <mihaip@chromium.org> 2 3 Reviewed by David Hyatt. 4 5 Assertion failure in FrameView::layout when modifying the DOM during 6 pagehide with PageCache enabled 7 https://bugs.webkit.org/show_bug.cgi?id=43152 8 9 Always unschedule any pending relayouts when changing the view, not just 10 when we're not using the page cache. Otherwise touching the DOM during 11 the pagehide handler can lead to layouts that will be done by the time 12 the view has changed, which triggers an assert. 13 14 * fast/loader/resources/unschedule-relayout-after-unload-target.html: Added. 15 * fast/loader/unschedule-relayout-after-unload-expected.txt: Added. 16 * fast/loader/unschedule-relayout-after-unload.html: Added. 17 1 18 2010-08-20 Jon Honeycutt <jhoneycutt@apple.com> 2 19 -
trunk/WebCore/ChangeLog
r65827 r65832 1 2010-08-23 Mihai Parparita <mihaip@chromium.org> 2 3 Reviewed by David Hyatt. 4 5 Assertion failure in FrameView::layout when modifying the DOM during 6 pagehide with PageCache enabled 7 https://bugs.webkit.org/show_bug.cgi?id=43152 8 9 Always unschedule any pending relayouts when changing the view, not just 10 when we're not using the page cache. Otherwise touching the DOM during 11 the pagehide handler can lead to layouts that will be done by the time 12 the view has changed, which triggers an assert. 13 14 Test: fast/loader/unschedule-relayout-after-unload.html 15 16 * page/Frame.cpp: 17 (WebCore::Frame::setView): move unscheduleRelayout outside page cache 18 check. 19 * page/FrameView.cpp: 20 (WebCore::FrameView::layout): remove early return now that assert 21 should be correct (and the referenced rdar:// got fixed). 22 1 23 2010-08-23 Abhishek Arya <inferno@chromium.org> 2 24 -
trunk/WebCore/page/Frame.cpp
r65787 r65832 238 238 // FIXME: We don't call willRemove here. Why is that OK? 239 239 m_doc->detach(); 240 if (m_view) 241 m_view->unscheduleRelayout(); 242 } 240 } 241 242 if (m_view) 243 m_view->unscheduleRelayout(); 244 243 245 eventHandler()->clear(); 244 246 -
trunk/WebCore/page/FrameView.cpp
r65787 r65832 634 634 635 635 ASSERT(m_frame->view() == this); 636 // This early return should be removed when rdar://5598072 is resolved. In the meantime, there is a637 // gigantic CrashTracer because of this issue, and the early return will hopefully cause graceful638 // failure instead.639 if (m_frame->view() != this)640 return;641 636 642 637 Document* document = m_frame->document();
Note: See TracChangeset
for help on using the changeset viewer.