Currently WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction() determines the originating page from the originating frame. So, if the originating frame is removed from the page then we cannot determine the originating page regardless of whether the originating page still exists (i.e. its windows was not closed). We should be able to determine the originating page so long as it still exists.
This seems like an OK improvement. But I'm not sure it's necessary. It's kind of difficult to maintain the plumbing, and test, to be able to identify the original WebView even after a frame has been removed from it. I don't know of a strong motivating example where original WebView is better than nil for navigations after the source frame has been removed from the WebView. Maybe nil is better for some cases? Given the difficulty involved, I think it may be better to stick with the existing nil behavior unless / until we come up with a motivating example for something more special.
Removed a comment that referenced this bug in <http://trac.webkit.org/changeset/220074>.