Don't crash when we've restored a presentation with a frame that has never loaded a document. Bug 292923, r+sr=bzbarsky, a=brendan.

This commit is contained in:
bryner@brianryner.com
2005-05-06 18:18:08 +00:00
parent 475abca75f
commit e485117869

View File

@@ -4890,8 +4890,11 @@ nsDocShell::FireRestoreEvents()
// want the chrome to see it for chrome/extensions that look for page load.
// In addition, we need to fire DOMPageRestore on the content window.
nsresult rv = EnsureContentViewer();
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIDocumentViewer> docViewer = do_QueryInterface(mContentViewer);
NS_ASSERTION(docViewer, "should not be called with a null viewer");
NS_ENSURE_TRUE(docViewer, NS_ERROR_UNEXPECTED);
nsCOMPtr<nsIPresShell> shell;
docViewer->GetPresShell(getter_AddRefs(shell));
@@ -4913,9 +4916,8 @@ nsDocShell::FireRestoreEvents()
nsIDOMEvent *domEvt = nsnull;
nsPresContext *pc = shell->GetPresContext();
nsresult rv = handler->HandleChromeEvent(pc, &event, &domEvt,
flags & NS_EVENT_CAPTURE_MASK,
&status);
rv = handler->HandleChromeEvent(pc, &event, &domEvt,
flags & NS_EVENT_CAPTURE_MASK, &status);
NS_ENSURE_SUCCESS(rv, rv);
if (domEvt) {