***Thunderbird Only blocker***

Back out 213538 which attempted to remove a thunderbird ifdef in nsWebShell.cpp. This broke the ability to display mail messages
on mac, linux and win95/win98 builds. Miraculously it sometimes works on win xp, but still has issues.


git-svn-id: svn://10.0.0.236/trunk@145753 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
scott%scott-macgregor.org
2003-08-08 16:20:19 +00:00
parent 5f9d3ee8b9
commit 7987a67e7e
2 changed files with 43 additions and 65 deletions

View File

@@ -560,6 +560,49 @@ nsWebShell::OnLinkClickSync(nsIContent *aContent,
nsIDocShell** aDocShell,
nsIRequest** aRequest)
{
#ifdef MOZ_THUNDERBIRD
// XXX ugly thunderbird hack to force all url clicks to go to the system default app
// I promise this will be removed once we figure out a better way.
nsCAutoString scheme;
aURI->GetScheme(scheme);
nsCAutoString spec;
aURI->GetSpec(spec);
static const char kMailToURI[] = "mailto";
static const char kNewsURI[] = "news";
static const char kSnewsURI[] = "snews";
static const char kNntpURI[] = "nntp";
static const char kImapURI[] = "imap";
if (scheme.EqualsIgnoreCase(kMailToURI))
{
// the scheme is mailto, we can handle it
}
else if (scheme.EqualsIgnoreCase(kNewsURI))
{
// the scheme is news, we can handle it
}
else if (scheme.EqualsIgnoreCase(kSnewsURI))
{
// the scheme is snews, we can handle it
}
else if (scheme.EqualsIgnoreCase(kNntpURI))
{
// the scheme is nntp, we can handle it
} else if (scheme.EqualsIgnoreCase(kImapURI))
{
// the scheme is imap, we can handle it
} else
{
// we don't handle this type, the the registered handler take it
nsresult rv = NS_OK;
nsCOMPtr<nsIExternalProtocolService> extProtService = do_GetService(NS_EXTERNALPROTOCOLSERVICE_CONTRACTID, &rv);
NS_ENSURE_SUCCESS(rv,rv);
return extProtService->LoadUrl(aURI);
}
#endif
nsCOMPtr<nsIDOMNode> node(do_QueryInterface(aContent));
NS_ENSURE_TRUE(node, NS_ERROR_UNEXPECTED);