Chromium Code Reviews| Index: Source/core/loader/FrameLoader.cpp |
| diff --git a/Source/core/loader/FrameLoader.cpp b/Source/core/loader/FrameLoader.cpp |
| index 16fb7acdb782495a4337dab7a859b962196ba1ef..04d15f2f7cee37f4133a7c25a32afc3a775e2b2f 100644 |
| --- a/Source/core/loader/FrameLoader.cpp |
| +++ b/Source/core/loader/FrameLoader.cpp |
| @@ -1393,6 +1393,12 @@ LocalFrame* FrameLoader::findFrameForNavigation(const AtomicString& name, Docume |
| void FrameLoader::loadHistoryItem(HistoryItem* item, HistoryLoadType historyLoadType, ResourceRequestCachePolicy cachePolicy) |
| { |
| RefPtr<LocalFrame> protect(m_frame); |
| + // FIXME: It shouldn't be possible for m_documentLoader to be null without m_frame->page() also being null. |
| + // However, it does appear to happen occasionally. This sounds like a side-effect of reentrant frame detach. |
| + // See detachClient(). |
|
dcheng
2014/05/29 22:43:44
I don't quite understand this comment. Do we check
|
| + if (!m_documentLoader) |
| + return; |
| + |
| if (m_frame->page()->defersLoading()) { |
| m_deferredHistoryLoad = DeferredHistoryLoad(item, historyLoadType, cachePolicy); |
| return; |