mThread = PR_GetCurrentThread();  WEB_TRACE(WEB_TRACE_CALLS, ("nsWebShell::Init: this=%p", this));     nsCOMPtr<nsIURILoader> uriLoader = do_GetService(NS_URI_LOADER_CONTRACTID); uriLoader->GetDocumentLoaderForContext(NS_STATIC_CAST( nsISupports*, (nsIWebShell *) this), &mDocLoader);  nsCOMPtr<nsIContentViewerContainer> shellAsContainer = do_QueryInterface(NS_STATIC_CAST(nsIWebShell*, this));  mDocLoader->SetContainer(shellAsContainer);  return nsDocShell::Create();
return nsDocShell::Create();
NS_IMETHODIMP nsWebShell::Create(){  // Remember the current thread (in current and forseeable implementations,  // it'll just be the unique UI thread)  //  // Since this call must be made on the UI thread, we know the Event Queue  // will be associated with the current thread...  //  mThread = PR_GetCurrentThread();  WEB_TRACE(WEB_TRACE_CALLS,            ("nsWebShell::Init: this=%p", this));  // HACK....force the uri loader to give us a load cookie for this webshell...then get it's  // doc loader and store it...as more of the docshell lands, we'll be able to get rid  // of this hack...  nsCOMPtr<nsIURILoader> uriLoader = do_GetService(NS_URI_LOADER_CONTRACTID);  uriLoader->GetDocumentLoaderForContext(NS_STATIC_CAST( nsISupports*, (nsIWebShell *) this), &mDocLoader);  nsCOMPtr<nsIContentViewerContainer> shellAsContainer = do_QueryInterface(NS_STATIC_CAST(nsIWebShell*, this));  // Set the webshell as the default IContentViewerContainer for the loader...  mDocLoader->SetContainer(shellAsContainer);  return nsDocShell::Create();}