Auto merge of #14274 - stshine:servo-url-index, r=emilio

Implement range index with the Position enum on ServoUrl

<!-- Please describe your changes on the following line: -->

---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because refactoring

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

r? @emilio

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14274)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2016-11-20 12:35:14 -06:00 committed by GitHub
commit ac6a2681ae
6 changed files with 35 additions and 6 deletions

View file

@ -358,7 +358,7 @@ impl ResponseMethods for Response {
}
fn serialize_without_fragment(url: &ServoUrl) -> &str {
&url.as_url().unwrap()[..Position::AfterQuery]
&url[..Position::AfterQuery]
}
impl Response {

View file

@ -878,7 +878,7 @@ impl XMLHttpRequest {
},
};
*self.response_url.borrow_mut() = metadata.final_url.as_url().unwrap()[..Position::AfterQuery].to_owned();
*self.response_url.borrow_mut() = metadata.final_url[..Position::AfterQuery].to_owned();
// XXXManishearth Clear cache entries in case of a network error
self.process_partial_response(XHRProgress::HeadersReceived(

View file

@ -1739,7 +1739,7 @@ impl ScriptThread {
// Start with the scheme data of the parsed URL;
// append question mark and query component, if any;
// append number sign and fragment component if any.
let encoded = &incomplete.url.as_url().unwrap()[Position::BeforePath..];
let encoded = &incomplete.url[Position::BeforePath..];
// Percent-decode (8.) and UTF-8 decode (9.)
let script_source = percent_decode(encoded.as_bytes()).decode_utf8_lossy();