Changeset 18965 in webkit
- Timestamp:
- Jan 18, 2007 5:03:05 PM (17 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r18964 r18965 1 2007-01-18 Mitz Pettel <mitz@webkit.org> 2 3 Reviewed by Darin. 4 5 - fix http://bugs.webkit.org/show_bug.cgi?id=9952 6 REGRESSION: Repro crash when dragging an image from the window to the address bar 7 8 * page/FrameView.cpp: 9 (WebCore::FrameView::~FrameView): Removed the call to Document::detach(). If this 10 view is the current view, then the Frame should have already detached the document. 11 Added an assertion that this is the case. If this view is not the current view, 12 then it cannot access its document, but the page cache should have detached it already. 13 Similarly, changed to call RenderPart::setWidget() only if this is the current view 14 in the frame. 15 (WebCore::FrameView::adjustViewSize): Added an assertion that this view is the current 16 view in the frame. 17 (WebCore::FrameView::layout): Ditto. 18 (WebCore::FrameView::scheduleRelayout): Ditto. 19 (WebCore::FrameView::scheduleRelayoutOfSubtree): Ditto. 20 (WebCore::FrameView::windowClipRect): Ditto. 21 1 22 2007-01-18 Eric Seidel <eric@webkit.org> 2 23 -
trunk/WebCore/page/FrameView.cpp
r18752 r18965 133 133 134 134 if (m_frame) { 135 // FIXME: Is this really the right place to call detach on the document? 136 if (Document* doc = m_frame->document()) 137 doc->detach(); 138 if (RenderPart* renderer = m_frame->ownerRenderer()) 135 ASSERT(m_frame->view() != this || !m_frame->document() || !m_frame->document()->renderer()); 136 RenderPart* renderer = m_frame->ownerRenderer(); 137 if (renderer && renderer->widget() == this) 139 138 renderer->setWidget(0); 140 139 } … … 216 215 void FrameView::adjustViewSize() 217 216 { 218 if (m_frame->document()) { 219 Document* document = m_frame->document(); 220 217 ASSERT(m_frame->view() == this); 218 if (Document* document = m_frame->document()) { 221 219 RenderView* root = static_cast<RenderView*>(document->renderer()); 222 220 if (!root) … … 311 309 312 310 bool subtree = d->layoutRoot; 311 312 ASSERT(m_frame->view() == this); 313 313 314 Document* document = m_frame->document(); 314 315 if (!document) { … … 635 636 void FrameView::scheduleRelayout() 636 637 { 638 ASSERT(m_frame->view() == this); 639 637 640 if (d->layoutRoot) { 638 641 if (d->layoutRoot->renderer()) … … 664 667 void FrameView::scheduleRelayoutOfSubtree(Node* n) 665 668 { 669 ASSERT(m_frame->view() == this); 670 666 671 if (!d->layoutSchedulingEnabled || (m_frame->document() 667 672 && m_frame->document()->renderer() … … 811 816 IntRect FrameView::windowClipRect(bool clipToContents) const 812 817 { 818 ASSERT(m_frame->view() == this); 819 813 820 // Set our clip rect to be our contents. 814 821 IntRect clipRect;
Note: See TracChangeset
for help on using the changeset viewer.