New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add comments linking to the steps of the specs in the checks on Location setters #25714
Changes from 1 commit
9845249
3c8df69
97e967c
3f2abcc
6c31813
05f7547
214fbc9
ad31fde
ec77231
File filter...
Jump to…
add comments linking to steps of the specs
- Loading branch information
| @@ -165,7 +165,7 @@ impl LocationMethods for Location { | ||
| // https://html.spec.whatwg.org/multipage/#dom-location-host | ||
| fn SetHost(&self, value: USVString) -> ErrorResult { | ||
| self.check_same_origin_domain()?; | ||
| // If copyURL's cannot-be-a-base-URL flag is set, terminate these steps. | ||
| // Step 4: If copyURL's cannot-be-a-base-URL flag is set, terminate these steps. | ||
| if !self.get_url().cannot_be_a_base() { | ||
| self.set_url_component(value, UrlHelper::SetHost); | ||
| } | ||
| @@ -187,7 +187,7 @@ impl LocationMethods for Location { | ||
| // https://html.spec.whatwg.org/multipage/#dom-location-hostname | ||
| fn SetHostname(&self, value: USVString) -> ErrorResult { | ||
| self.check_same_origin_domain()?; | ||
| // If copyURL's cannot-be-a-base-URL flag is set, terminate these steps. | ||
| // Step 4: If copyURL's cannot-be-a-base-URL flag is set, terminate these steps. | ||
| if !self.get_url().cannot_be_a_base() { | ||
| self.set_url_component(value, UrlHelper::SetHostname); | ||
| } | ||
| @@ -222,7 +222,7 @@ impl LocationMethods for Location { | ||
| // https://html.spec.whatwg.org/multipage/#dom-location-pathname | ||
| fn SetPathname(&self, value: USVString) -> ErrorResult { | ||
| self.check_same_origin_domain()?; | ||
| // If copyURL's cannot-be-a-base-URL flag is set, terminate these steps. | ||
| // Step 3: If copyURL's cannot-be-a-base-URL flag is set, terminate these steps. | ||
|
||
| if !self.get_url().cannot_be_a_base() { | ||
| self.set_url_component(value, UrlHelper::SetPathname); | ||
| } | ||
| @@ -239,7 +239,7 @@ impl LocationMethods for Location { | ||
| fn SetPort(&self, value: USVString) -> ErrorResult { | ||
| self.check_same_origin_domain()?; | ||
| let url = self.get_url(); | ||
| // If copyURL cannot have a username/password/port, then return. | ||
| // Step 4: If copyURL cannot have a username/password/port, then return. | ||
| // https://url.spec.whatwg.org/#cannot-have-a-username-password-port | ||
| if url.has_host() && !url.cannot_be_a_base() && url.scheme() != "file" { | ||
| self.set_url_component(value, UrlHelper::SetPort); | ||
| @@ -256,7 +256,7 @@ impl LocationMethods for Location { | ||
| // https://html.spec.whatwg.org/multipage/#dom-location-protocol | ||
| fn SetProtocol(&self, value: USVString) -> ErrorResult { | ||
| self.check_same_origin_domain()?; | ||
| // If copyURL's scheme is not an HTTP(S) scheme, then terminate these steps. | ||
| // Step 6: If copyURL's scheme is not an HTTP(S) scheme, then terminate these steps. | ||
| let scheme = value.split(':').next().unwrap(); | ||
gterzian
Member
|
||
| if scheme.eq_ignore_ascii_case("http") || scheme.eq_ignore_ascii_case("https") { | ||
| self.set_url_component(value, UrlHelper::SetProtocol); | ||
Actually, can we put this comment, and all others, above the
Ok(())branch, because the comments all refer to the steps take when the condition is not met.