nsresult rv;
nsString args;
NS_IMETHODIMP nsBrowserContentHandler::GetDefaultArgs(PRUnichar **aDefaultArgs){  if (!aDefaultArgs)    return NS_ERROR_NULL_POINTER;  nsresult rv;  nsCOMPtr<nsIPref> prefs(do_GetService(kPrefServiceCID));  if (prefs) {    if (NeedHomepageOverride(prefs)) {      rv = prefs->GetLocalizedUnicharPref(PREF_HOMEPAGE_OVERRIDE_URL, aDefaultArgs);      if (NS_SUCCEEDED(rv) && *aDefaultArgs)        return NS_OK;    }    PRInt32 choice = 0;    rv = prefs->GetIntPref(PREF_BROWSER_STARTUP_PAGE, &choice);    if (NS_SUCCEEDED(rv)) {      switch (choice) {        case 1: {          // skip the code below          rv = GetHomePageGroup(prefs, aDefaultArgs);          if (NS_SUCCEEDED(rv) && *aDefaultArgs)            return NS_OK;        }        case 2: {          nsCOMPtr<nsIBrowserHistory> history(do_GetService(NS_GLOBALHISTORY2_CONTRACTID));          if (history) {            nsCAutoString curl;            rv = history->GetLastPageVisited(curl);            if (NS_SUCCEEDED(rv)) {              *aDefaultArgs = UTF8ToNewUnicode(curl);              if (*aDefaultArgs) return NS_OK;            }          }        }      }    }  }      // the default, in case we fail somewhere  *aDefaultArgs = ToNewUnicode(NS_LITERAL_STRING("about:blank"));  if (!*aDefaultArgs) return NS_ERROR_OUT_OF_MEMORY;  return NS_OK;}