Bug 393246 - Make URL fixup not query for Windows legacy encoding. r=bzbarsky.

This commit is contained in:
Henri Sivonen 2013-12-03 10:36:13 +02:00
parent 83be9793bf
commit ecf0de8875
3 changed files with 2 additions and 51 deletions

View File

@ -7,7 +7,6 @@
#include "nsNetUtil.h"
#include "nsCRT.h"
#include "nsIPlatformCharset.h"
#include "nsIFile.h"
#include <algorithm>
@ -203,19 +202,6 @@ nsDefaultURIFixup::CreateFixupURI(const nsACString& aStringURI, uint32_t aFixupF
#endif
}
// For these protocols, use system charset instead of the default UTF-8,
// if the URI is non ASCII.
bool bAsciiURI = IsASCII(uriString);
bool useUTF8 = (aFixupFlags & FIXUP_FLAG_USE_UTF8) ||
Preferences::GetBool("browser.fixup.use-utf8", false);
bool bUseNonDefaultCharsetForURI =
!bAsciiURI && !useUTF8 &&
(scheme.IsEmpty() ||
scheme.LowerCaseEqualsLiteral("http") ||
scheme.LowerCaseEqualsLiteral("https") ||
scheme.LowerCaseEqualsLiteral("ftp") ||
scheme.LowerCaseEqualsLiteral("file"));
// Check if we want to fix up common scheme typos.
rv = Preferences::AddBoolVarCache(&sFixTypos,
"browser.fixup.typo.scheme",
@ -269,8 +255,7 @@ nsDefaultURIFixup::CreateFixupURI(const nsACString& aStringURI, uint32_t aFixupF
if (ourHandler != extHandler || !PossiblyHostPortUrl(uriString)) {
// Just try to create an URL out of it
rv = NS_NewURI(aURI, uriString,
bUseNonDefaultCharsetForURI ? GetCharsetForUrlBar() : nullptr);
rv = NS_NewURI(aURI, uriString, nullptr);
if (!*aURI && rv != NS_ERROR_MALFORMED_URI) {
return rv;
@ -338,13 +323,9 @@ nsDefaultURIFixup::CreateFixupURI(const nsACString& aStringURI, uint32_t aFixupF
uriString.Assign(NS_LITERAL_CSTRING("ftp://") + uriString);
else
uriString.Assign(NS_LITERAL_CSTRING("http://") + uriString);
// For ftp & http, we want to use system charset.
if (!bAsciiURI && !useUTF8)
bUseNonDefaultCharsetForURI = true;
} // end if checkprotocol
rv = NS_NewURI(aURI, uriString, bUseNonDefaultCharsetForURI ? GetCharsetForUrlBar() : nullptr);
rv = NS_NewURI(aURI, uriString, nullptr);
// Did the caller want us to try an alternative URI?
// If so, attempt to fixup http://foo into http://www.foo.com
@ -816,31 +797,6 @@ bool nsDefaultURIFixup::PossiblyByteExpandedFileName(const nsAString& aIn)
return false;
}
const char * nsDefaultURIFixup::GetFileSystemCharset()
{
if (mFsCharset.IsEmpty())
{
nsresult rv;
nsAutoCString charset;
nsCOMPtr<nsIPlatformCharset> plat(do_GetService(NS_PLATFORMCHARSET_CONTRACTID, &rv));
if (NS_SUCCEEDED(rv))
rv = plat->GetCharset(kPlatformCharsetSel_FileName, charset);
if (charset.IsEmpty())
mFsCharset.AssignLiteral("ISO-8859-1");
else
mFsCharset.Assign(charset);
}
return mFsCharset.get();
}
const char * nsDefaultURIFixup::GetCharsetForUrlBar()
{
const char *charset = GetFileSystemCharset();
return charset;
}
void nsDefaultURIFixup::KeywordURIFixup(const nsACString & aURIString,
nsIInputStream **aPostData,
nsIURI** aURI)

View File

@ -30,10 +30,6 @@ private:
bool PossiblyHostPortUrl(const nsACString& aUrl);
bool MakeAlternateURI(nsIURI *aURI);
bool IsLikelyFTP(const nsCString& aHostSpec);
const char * GetFileSystemCharset();
const char * GetCharsetForUrlBar();
nsCString mFsCharset;
};
#endif

View File

@ -590,7 +590,6 @@ pref("browser.fixup.alternate.enabled", true);
pref("browser.fixup.alternate.prefix", "www.");
pref("browser.fixup.alternate.suffix", ".com");
pref("browser.fixup.hide_user_pass", true);
pref("browser.fixup.use-utf8", false);
// Location Bar AutoComplete
pref("browser.urlbar.autocomplete.enabled", true);