Index: Source/core/loader/FrameLoader.cpp |
diff --git a/Source/core/loader/FrameLoader.cpp b/Source/core/loader/FrameLoader.cpp |
index 2f3d4e2b29a3d37a647706ce190c7b7291519575..ac66761a45cf5f0f54900d79e8ed4b319e9fb704 100644 |
--- a/Source/core/loader/FrameLoader.cpp |
+++ b/Source/core/loader/FrameLoader.cpp |
@@ -544,15 +544,15 @@ void FrameLoader::scheduleCheckCompleted() |
LocalFrame* FrameLoader::opener() |
{ |
- ASSERT(m_client); |
// FIXME: Temporary hack to stage converting locations that really should be Frame. |
- return toLocalFrame(m_client->opener()); |
+ return m_client ? toLocalFrame(m_client->opener()) : 0; |
} |
void FrameLoader::setOpener(LocalFrame* opener) |
{ |
- ASSERT(m_client); |
- m_client->setOpener(opener); |
+ // If the frame is already detached, the opener has already been cleared. |
+ if (m_client) |
+ m_client->setOpener(opener); |
} |
bool FrameLoader::allowPlugins(ReasonForCallingAllowPlugins reason) |