зеркало из https://github.com/mozilla/gecko-dev.git
Fixes bug 87360. r=morse@netscape.com, sr=darin@Netscape.com. Fixes a bunch of url-protocol problems.
This commit is contained in:
Родитель
1a9c2b2c62
Коммит
9e99c2bb57
|
@ -443,17 +443,17 @@ nsIOService::GetParserForScheme(const char *scheme, nsIURLParser **_retval)
|
||||||
// Walk the list of parsers...
|
// Walk the list of parsers...
|
||||||
while (1) {
|
while (1) {
|
||||||
rv = parserList->GetNext(getter_AddRefs(entry));
|
rv = parserList->GetNext(getter_AddRefs(entry));
|
||||||
if (NS_FAILED(rv)) return rv;
|
if (NS_FAILED(rv)) break;
|
||||||
|
|
||||||
// get the entry string
|
// get the entry string
|
||||||
nsXPIDLCString entryString;
|
nsXPIDLCString entryString;
|
||||||
rv = entry->GetData(getter_Copies(entryString));
|
rv = entry->GetData(getter_Copies(entryString));
|
||||||
if (NS_FAILED(rv)) return rv;
|
if (NS_FAILED(rv)) break;
|
||||||
|
|
||||||
if (nsCRT::strcmp(entryString, scheme) == 0) {
|
if (nsCRT::strcmp(entryString, scheme) == 0) {
|
||||||
nsXPIDLCString contractID;
|
nsXPIDLCString contractID;
|
||||||
rv = catmgr->GetCategoryEntry(NS_IURLPARSER_KEY,(const char *)entryString, getter_Copies(contractID));
|
rv = catmgr->GetCategoryEntry(NS_IURLPARSER_KEY,(const char *)entryString, getter_Copies(contractID));
|
||||||
if (NS_FAILED(rv)) return rv;
|
if (NS_FAILED(rv)) break;
|
||||||
|
|
||||||
CacheURLParser(scheme, *_retval);
|
CacheURLParser(scheme, *_retval);
|
||||||
return nsServiceManager::GetService(contractID, NS_GET_IID(nsIURLParser), (nsISupports **)_retval);
|
return nsServiceManager::GetService(contractID, NS_GET_IID(nsIURLParser), (nsISupports **)_retval);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче