nsresult nsResProtocolHandler::Init() { if (!mSubstitutions.Init(32)) return NS_ERROR_UNEXPECTED; nsresult rv; mIOService = do_GetIOService(&rv); NS_ENSURE_SUCCESS(rv, rv); // // make resource:/// point to the application directory // rv = AddSpecialDir(NS_OS_CURRENT_PROCESS_DIR, EmptyCString()); NS_ENSURE_SUCCESS(rv, rv); // // make resource://gre/ point to the GRE directory // rv = AddSpecialDir(NS_GRE_DIR, NS_LITERAL_CSTRING("gre")); NS_ENSURE_SUCCESS(rv, rv); //XXXbsmedberg Neil wants a resource://pchrome/ for the profile chrome dir... // but once I finish multiple chrome registration I'm not sure that it is needed return rv; }
nsresult nsResProtocolHandler::Init() { if (!mSubstitutions.Init(32)) return NS_ERROR_UNEXPECTED; nsresult rv; mIOService = do_GetIOService(&rv); NS_ENSURE_SUCCESS(rv, rv); #ifdef MOZ_OMNIJAR nsCOMPtr<nsIFile> omniJar(mozilla::OmnijarPath()); if (omniJar) return Init(omniJar); #endif // these entries should be kept in sync with the omnijar Init function // // make resource:/// point to the application directory // rv = AddSpecialDir(NS_OS_CURRENT_PROCESS_DIR, EmptyCString()); NS_ENSURE_SUCCESS(rv, rv); // // make resource://gre/ point to the GRE directory // rv = AddSpecialDir(NS_GRE_DIR, kGRE); NS_ENSURE_SUCCESS(rv, rv); // make resource://gre-resources/ point to gre toolkit[.jar]/res nsCOMPtr<nsIURI> greURI; nsCOMPtr<nsIURI> greResURI; GetSubstitution(kGRE, getter_AddRefs(greURI)); #ifdef MOZ_CHROME_FILE_FORMAT_JAR NS_NAMED_LITERAL_CSTRING(strGRE_RES_URL, "jar:chrome/toolkit.jar!/res/"); #else NS_NAMED_LITERAL_CSTRING(strGRE_RES_URL, "chrome/toolkit/res/"); #endif rv = mIOService->NewURI(strGRE_RES_URL, nsnull, greURI, getter_AddRefs(greResURI)); SetSubstitution(kGRE_RESOURCES, greResURI); //XXXbsmedberg Neil wants a resource://pchrome/ for the profile chrome dir... // but once I finish multiple chrome registration I'm not sure that it is needed // XXX dveditz: resource://pchrome/ defeats profile directory salting // if web content can load it. Tread carefully. return rv; }