Files
tubestation/browser/extensions/screenshots/webextension/domainFromUrl.js
Mark Banner d2d9626164 Bug 1346825 - Import Screenshots version 6.3.0 into mozilla-central. rs=Mossop.
This is imported from https://github.com/mozilla-services/screenshots/.
It has been reviewed as patches landed, but also reviewed by Mossop and kmag.
This also includes the patch from bug 1356394

MozReview-Commit-ID: FXIVw7WjxlN
2017-04-13 09:49:17 +01:00

30 lines
812 B
JavaScript

/** Returns the domain of a URL, but safely and in ASCII; URLs without domains
(such as about:blank) return the scheme, Unicode domains get stripped down
to ASCII */
"use strict";
this.domainFromUrl = (function () {
return function urlDomainForId(location) { // eslint-disable-line no-unused-vars
let domain = location.hostname;
if (!domain) {
domain = location.origin.split(":")[0];
if (! domain) {
domain = "unknown";
}
}
if (domain.search(/^[a-z0-9.\-]+$/i) === -1) {
// Probably a unicode domain; we could use punycode but it wouldn't decode
// well in the URL anyway. Instead we'll punt.
domain = domain.replace(/[^a-z0-9.\-]/ig, "");
if (! domain) {
domain = "site";
}
}
return domain;
};
})();
null;