Bug 306471 part 1 - Some code style cleanup for nsExternalHelperAppService::GetTypeFromExtension. r=bz

MozReview-Commit-ID: 3N37Kd2fNjS

--HG--
extra : rebase_source : 825308563f4d1ebdb3e672d088975df30bf89392
This commit is contained in:
Xidorn Quan 2016-08-12 20:56:23 +10:00
Родитель 611f544c5d
Коммит f95f57c3c2
1 изменённых файлов: 29 добавлений и 23 удалений

Просмотреть файл

@ -2722,7 +2722,9 @@ NS_IMETHODIMP nsExternalHelperAppService::GetFromTypeAndExtension(const nsACStri
return NS_OK;
}
NS_IMETHODIMP nsExternalHelperAppService::GetTypeFromExtension(const nsACString& aFileExt, nsACString& aContentType)
NS_IMETHODIMP
nsExternalHelperAppService::GetTypeFromExtension(const nsACString& aFileExt,
nsACString& aContentType)
{
// OK. We want to try the following sources of mimetype information, in this order:
// 1. defaultMimeEntries array
@ -2733,36 +2735,39 @@ NS_IMETHODIMP nsExternalHelperAppService::GetTypeFromExtension(const nsACString&
// 6. The "ext-to-type-mapping" category
// Early return if called with an empty extension parameter
if (aFileExt.IsEmpty())
if (aFileExt.IsEmpty()) {
return NS_ERROR_NOT_AVAILABLE;
}
nsresult rv = NS_OK;
// First of all, check our default entries
for (size_t i = 0; i < ArrayLength(defaultMimeEntries); i++)
{
if (aFileExt.LowerCaseEqualsASCII(defaultMimeEntries[i].mFileExtension)) {
aContentType = defaultMimeEntries[i].mMimeType;
return rv;
for (auto& entry : defaultMimeEntries) {
if (aFileExt.LowerCaseEqualsASCII(entry.mFileExtension)) {
aContentType = entry.mMimeType;
return NS_OK;
}
}
// Check user-set prefs
nsCOMPtr<nsIHandlerService> handlerSvc = do_GetService(NS_HANDLERSERVICE_CONTRACTID);
if (handlerSvc)
rv = handlerSvc->GetTypeFromExtension(aFileExt, aContentType);
if (NS_SUCCEEDED(rv) && !aContentType.IsEmpty())
return NS_OK;
if (handlerSvc) {
nsresult rv = handlerSvc->GetTypeFromExtension(aFileExt, aContentType);
if (NS_SUCCEEDED(rv) && !aContentType.IsEmpty()) {
return NS_OK;
}
}
// Ask OS.
bool found = false;
nsCOMPtr<nsIMIMEInfo> mi = GetMIMEInfoFromOS(EmptyCString(), aFileExt, &found);
if (mi && found)
if (mi && found) {
return mi->GetMIMEType(aContentType);
}
// Check extras array.
found = GetTypeFromExtras(aFileExt, aContentType);
if (found)
if (found) {
return NS_OK;
}
// Try the plugins
RefPtr<nsPluginHost> pluginHost = nsPluginHost::GetInst();
@ -2771,24 +2776,25 @@ NS_IMETHODIMP nsExternalHelperAppService::GetTypeFromExtension(const nsACString&
return NS_OK;
}
rv = NS_OK;
// Let's see if an extension added something
nsCOMPtr<nsICategoryManager> catMan(do_GetService("@mozilla.org/categorymanager;1"));
nsCOMPtr<nsICategoryManager> catMan(
do_GetService("@mozilla.org/categorymanager;1"));
if (catMan) {
// The extension in the category entry is always stored as lowercase
nsAutoCString lowercaseFileExt(aFileExt);
ToLowerCase(lowercaseFileExt);
// Read the MIME type from the category entry, if available
nsXPIDLCString type;
rv = catMan->GetCategoryEntry("ext-to-type-mapping", lowercaseFileExt.get(),
getter_Copies(type));
aContentType = type;
}
else {
rv = NS_ERROR_NOT_AVAILABLE;
nsresult rv = catMan->GetCategoryEntry("ext-to-type-mapping",
lowercaseFileExt.get(),
getter_Copies(type));
if (NS_SUCCEEDED(rv)) {
aContentType = type;
return NS_OK;
}
}
return rv;
return NS_ERROR_NOT_AVAILABLE;
}
NS_IMETHODIMP nsExternalHelperAppService::GetPrimaryExtension(const nsACString& aMIMEType, const nsACString& aFileExt, nsACString& _retval)