Issue #910 part 1. Don't navigate when location.protocol is set to anything other than http or https.

This commit is contained in:
wolfbeast 2018-12-16 13:09:21 +01:00 committed by Roy Tam
commit 32eb361301

View file

@ -730,6 +730,23 @@ Location::SetProtocol(const nsAString& aProtocol)
if (NS_FAILED(rv)) {
return rv;
}
bool isHttp;
rv = uri->SchemeIs("http", &isHttp);
if (NS_WARN_IF(NS_FAILED(rv))) {
return rv;
}
bool isHttps;
rv = uri->SchemeIs("https", &isHttps);
if (NS_WARN_IF(NS_FAILED(rv))) {
return rv;
}
if (!isHttp && !isHttps) {
// No-op, per spec.
return NS_OK;
}
return SetURI(uri);
}