Auto merge of #11639 - awestroke:anchor-element-base-url, r=nox

Use base_url instead of url in HTMLAnchorElement::set_url

<!-- Please describe your changes on the following line: -->
`script::dom::HTMLAnchorElement::set_url` now uses `document::base_url` instead of `document::url`, allowing correct parsing of relative urls on about:blank and pages with a `<base href="some_url"/>` set.

spec: https://html.spec.whatwg.org/multipage/infrastructure.html#resolving-urls

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #11628

<!-- Either: -->
- [x] There are tests for these changes: Some expected test failures have been removed.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11639)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2016-06-06 11:54:38 -05:00
commit 9fae4b18d1
3 changed files with 1 additions and 169 deletions

View file

@ -64,7 +64,7 @@ impl HTMLAnchorElement {
let attribute = self.upcast::<Element>().get_attribute(&ns!(), &atom!("href"));
*self.url.borrow_mut() = attribute.and_then(|attribute| {
let document = document_from_node(self);
document.url().join(&attribute.value()).ok()
document.base_url().join(&attribute.value()).ok()
});
}