diff options
Diffstat (limited to 'WebCore/page/Frame.cpp')
-rw-r--r-- | WebCore/page/Frame.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/WebCore/page/Frame.cpp b/WebCore/page/Frame.cpp index a97fcb5..17062c5 100644 --- a/WebCore/page/Frame.cpp +++ b/WebCore/page/Frame.cpp @@ -715,10 +715,11 @@ void Frame::transferChildFrameToNewDocument() { ASSERT(m_ownerElement); Frame* newParent = m_ownerElement->document()->frame(); + ASSERT(newParent); bool didTransfer = false; // Switch page. - Page* newPage = newParent ? newParent->page() : 0; + Page* newPage = newParent->page(); Page* oldPage = m_page; if (m_page != newPage) { if (m_page) { @@ -736,10 +737,8 @@ void Frame::transferChildFrameToNewDocument() didTransfer = true; } - if (newParent) { - // Update the frame tree. - didTransfer = newParent->tree()->transferChild(this); - } + // Update the frame tree. + didTransfer = newParent->tree()->transferChild(this) || didTransfer; // Avoid unnecessary calls to client and frame subtree if the frame ended // up on the same page and under the same parent frame. |