argv = JS_PushArguments(jsContext, &mark, "sssW", "chrome: "chrome,dialog=no,all", value.GetUnicode());
const char * windowTarget = aWindowTarget; if (!aWindowTarget || !nsCRT::strcasecmp(aWindowTarget, "_new") || !nsCRT::strcasecmp(aWindowTarget, "_blank")) windowTarget = "";  argv = JS_PushArguments(jsContext, &mark, "sssW", "chrome: "chrome,dialog=no,all", value.GetUnicode());
NS_IMETHODIMP nsBrowserContentHandler::HandleContent(const char * aContentType,                                                     const char * aCommand,                                                     const char * aWindowTarget,                                                     nsIChannel * aChannel){  // we need a dom window to create the new browser window...in order  // to do this, we need to get the window mediator service and ask it for a dom window  NS_ENSURE_ARG(aChannel);  nsCOMPtr<nsIAppShellService> windowService (do_GetService(kAppShellServiceCID));  nsCOMPtr<nsIDOMWindow> globalWindow;  JSContext* jsContext = nsnull;  NS_ENSURE_SUCCESS(windowService->GetHiddenWindowAndJSContext(getter_AddRefs(globalWindow), &jsContext),                    NS_ERROR_FAILURE);  nsCOMPtr<nsIURI> uri;  aChannel->GetURI(getter_AddRefs(uri));  NS_ENSURE_TRUE(uri, NS_ERROR_FAILURE);  nsXPIDLCString spec;  uri->GetSpec(getter_Copies(spec));	void* mark;	jsval* argv;  nsAutoString value = "";  value += spec;	argv = JS_PushArguments(jsContext, &mark, "sssW", "chrome://navigator/content/", aWindowTarget ? aWindowTarget : "" , 									"chrome,dialog=no,all", value.GetUnicode());  NS_ENSURE_TRUE(argv, NS_ERROR_FAILURE);  nsCOMPtr<nsIDOMWindow> newWindow;	globalWindow->OpenDialog(jsContext, argv, 4, getter_AddRefs(newWindow));	JS_PopArguments(jsContext, mark);  // now abort the current channel load...  aChannel->Cancel();  return NS_OK;}