Step to reproduce :
1) Open a random URL
2) Open the test case URL
3) Go back to the previous URL
You should see :
ASSERTION FAILED: document
(/home/WebKit-Git/WebKit/WebCore/loader/FrameLoader.cpp:3990 void WebCore::FrameLoader::saveDocumentState())
The assertion is triggered on both Qt and Gtk port.
I tracked down the issue to FrameLoaderClient::detachedFromParent4().
In both cases, we are setting m_frame to zero (and calling g_object_unref on gtk) which is not done in the Mac port (removing that part does remove the assertion failure in both cases).
The commit logs suggest that it is to prevent memory leaks so I could not determine if the platform is wrong or the assertion :
This is a dupe of 18064. I'm 99% certain that the assert is wrong, for reasons specified in that bug.
Marking as duplicate as there is a patch on the other bug.
*** This bug has been marked as a duplicate of 18064 ***