code review re #498

This commit is contained in:
gorhill 2015-01-14 19:43:10 -05:00
parent ee01803419
commit 119a98026c
1 changed files with 16 additions and 4 deletions

View File

@ -1478,12 +1478,24 @@ window.addEventListener('unload', function() {
/******************************************************************************/
var urlNormalizer = self.URL;
var punycodeHostname = vAPI.punycodeHostname = punycode.toASCII;
// Likelihood is that we do not have to punycode: given punycode overhead,
// it's faster to check and skip than do it unconditionally all the time.
var punycodeHostname = punycode.toASCII;
var isNotASCII = /[^\x21-\x7F]/;
vAPI.punycodeHostname = function(hostname) {
return isNotASCII.test(hostname) ? punycodeHostname(hostname) : hostname;
};
var cachedURL = self.URL;
vAPI.punycodeURL = function(url) {
urlNormalizer.href = url;
urlNormalizer.hostname = punycodeHostname(urlNormalizer.hostname);
if ( isNotASCII.test(url) === false ) {
return url;
}
cachedURL.href = url;
cachedURL.hostname = punycodeHostname(cachedURL.hostname);
return urlNormalizer.href;
};