}  nsCOMPtr<nsIContentViewer> content_viewer; docShell->GetContentViewer(getter_AddRefs(content_viewer));  if (content_viewer) {    content_viewer->SetSticky(PR_FALSE);
nsHTMLFrameInnerFrame::ShowDocShell(nsIPresContext* aPresContext){  nsCOMPtr<nsIDocShell> docShell;  nsresult rv = GetDocShell(getter_AddRefs(docShell));  NS_ENSURE_SUCCESS(rv, rv);  nsCOMPtr<nsIPresShell> presShell;  docShell->GetPresShell(getter_AddRefs(presShell));  if (presShell) {    // The docshell is already showing, nothing left to do...    return NS_OK;  }  nsCOMPtr<nsIContent> content;  GetParentContent(getter_AddRefs(content));  // pass along marginwidth, marginheight, scrolling so sub document  // can use it  docShell->SetMarginWidth(GetMarginWidth(content));  docShell->SetMarginHeight(GetMarginHeight(content));  // Current and initial scrolling is set so that all succeeding docs  // will use the scrolling value set here, regardless if scrolling is  // set by viewing a particular document (e.g. XUL turns off scrolling)  nsCOMPtr<nsIScrollable> sc(do_QueryInterface(docShell));  if (sc) {    PRInt32 scrolling = GetScrolling(content);    sc->SetDefaultScrollbarPreferences(nsIScrollable::ScrollOrientation_Y,                                       scrolling);    sc->SetDefaultScrollbarPreferences(nsIScrollable::ScrollOrientation_X,                                       scrolling);  }  nsCOMPtr<nsIWidget> widget;  rv = CreateViewAndWidget(aPresContext, getter_AddRefs(widget));  if (NS_FAILED(rv)) {    return rv;  }  nsCOMPtr<nsIBaseWindow> baseWindow(do_QueryInterface(docShell));  if (baseWindow) {    baseWindow->InitWindow(nsnull, widget, 0, 0, 10, 10);    // This is kinda whacky, this "Create()" call doesn't really    // create anything, one starts to wonder why this was named    // "Create"...    baseWindow->Create();    baseWindow->SetVisibility(PR_TRUE);  }  return NS_OK;}