summaryrefslogtreecommitdiffstats
path: root/WebCore/page/Frame.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/page/Frame.cpp')
-rw-r--r--WebCore/page/Frame.cpp9
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.