FrameLoader::receivedFirstData() calls DocumentWriter::begin(), which is responsible for clearing the window object before loading new content. If a frame is showing the initial empty document, and the URL we're transitioning to is in the same security origin, DocumentWriter::begin() will choose not to clear the window object. After DocumentWriter::begin() returns, FrameLoader::receivedFirstData() dispatches the didClearWindowObject callback - whether or not the window object was cleared.
<rdar://problem/8770335>