nsCOMPtr<nsIScriptGlobalObject> globalObj(do_QueryInterface(aWindow)); if (globalObj) { nsCOMPtr<nsIDocShellTreeItem> docShellTreeItem = do_QueryInterface(globalObj->GetDocShell());
nsresult rv; nsCOMPtr<nsIDocShellTreeItem> docshellTreeItem(do_QueryInterface(docshell, &rv)); if (NS_FAILED(rv)) return nsnull;
GetRootDocShell(nsIDOMWindow *aWindow){  nsIDocShell *rootShell = nsnull;  nsCOMPtr<nsIScriptGlobalObject> globalObj(do_QueryInterface(aWindow));  if (globalObj) {    nsCOMPtr<nsIDocShellTreeItem> docShellTreeItem =      do_QueryInterface(globalObj->GetDocShell());    if (docShellTreeItem) {      nsCOMPtr<nsIDocShellTreeItem> rootItem;      docShellTreeItem->GetRootTreeItem(getter_AddRefs(rootItem));      CallQueryInterface(rootItem, &rootShell);    }  }  return rootShell;}