1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-19 09:43:23 +00:00

allow launching URLs without protocol than end with tld

This commit is contained in:
Kyle Spearrin
2019-01-07 10:33:13 -05:00
parent 1542dd45d3
commit e7464785e1
4 changed files with 21 additions and 4 deletions

View File

@@ -70,7 +70,8 @@ export class LoginUriView implements View {
}
get isWebsite(): boolean {
return this.uri != null && (this.uri.indexOf('http://') === 0 || this.uri.indexOf('https://') === 0);
return this.uri != null && (this.uri.indexOf('http://') === 0 || this.uri.indexOf('https://') === 0 ||
(this.uri.indexOf('://') < 0 && Utils.tldEndingRegex.test(this.uri)));
}
get canLaunch(): boolean {
@@ -78,8 +79,9 @@ export class LoginUriView implements View {
return this._canLaunch;
}
if (this.uri != null) {
const uri = this.launchUri;
for (let i = 0; i < CanLaunchWhitelist.length; i++) {
if (this.uri.indexOf(CanLaunchWhitelist[i]) === 0) {
if (uri.indexOf(CanLaunchWhitelist[i]) === 0) {
this._canLaunch = true;
return this._canLaunch;
}
@@ -88,4 +90,8 @@ export class LoginUriView implements View {
this._canLaunch = false;
return this._canLaunch;
}
get launchUri(): string {
return this.uri.indexOf('://') < 0 && Utils.tldEndingRegex.test(this.uri) ? ('http://' + this.uri) : this.uri;
}
}

View File

@@ -34,6 +34,10 @@ export class LoginView implements View {
return this.hasUris && this.uris[0].canLaunch;
}
get launchUri(): string {
return this.canLaunch ? this.uris[0].launchUri : null;
}
get hasUris(): boolean {
return this.uris != null && this.uris.length > 0;
}