Also change when pipelines become active.
This makes the constellation activate a pipeline as the current frame
when it is ready to do initial reflow, rather than when it is ready
to paint.
This fixes a number of intermittent failures that could previously occur
if an iframe was not visible - which would mean it was never moved from
a pending frame in the constellation to an active frame.
(It happens that webrender exposes these intermittents as permanent failures).
Implement basic framework for static and interactive validation on forms
This came along when I was trying to do #3648. I was about to do form validation as well, but then I saw it was actually intended to be a student project. Hopefully I didn't step on too many toes on this one; I did leave most of the important bits out (the fun bits I believe, e.g. interactive validation doesn't actually interactively validate anything right now).
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8747)
<!-- Reviewable:end -->
Make Event's isTrusted attribute unforgeable
Three failure expectations were able to be removed from `tests/wpt/web-platform-tests/dom/interfaces.html`. This is my first commit to servo and my first time with rust, hopefully I didn't overlook anything.
Fixes#8956.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8963)
<!-- Reviewable:end -->
M1503/M1504 : Support for missing XMLHttpRequestAPIs and Document response handling
Hi,
This is for NCSU Fall 15 project M1503 and M1504:
M1503: Integrate XML Parser (Step 3 of 4): Support for Document response handling and calling the appropriate parser.
M1504: Support for missing XMLHttpRequest APIs
https://github.com/servo/servo/wiki/Integrate-xml5ever
It includes changes to handle document response for XMLHttpRequest.
Kindly review.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8828)
<!-- Reviewable:end -->
Fix redraw of WPT UI output, and slightly improve line counting
See discussion in PR #8551.
Redraw of the first test name was broken due to a mix-up between two ANSI escape codes.
I also took the opportunity to change the way line count is calculated. It's a bit cleaner that way (the new operation is ~%20 faster, but that's unnoticeable).
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8861)
<!-- Reviewable:end -->
fix intermittent Option::unwrap in timers
fixes intermittent #8616
This intermittent indicates real problem in code.
Lets consider such code:
```javascript
// timer 1
setTimeout(function() {
//timer 2
setTimeout(function() {}, 0);
}, 0);
```
When we receive event to fire timer 1 it will be selected and extracted from active timers list in fire_timer function. During timer 1 handler execution we will schedule timer 2 and request timer event for it. But it will be executed during same fire_timer call because of 0 timeout. And as a result we will have empty timers list and expecting event for timer 2 that will crash in assert.
I'm not sure that all I've written is clear, but we have something like this:
```
install timer 1 -> [1] in timers list
push and expect timer event 1 -> expected_event=1
received timer event 1
fire_timer()
select timer 1 to execute -> [] in timers list
execute timer 1 handler
install timer 2 -> [2] in timers list
push and expect timer event 2 -> expected_event=2
select timer 2 to execute (because of 0 timeout) -> [] in tiemrs list
execute timer 2 handler
expected_event=2 is dangling
received timer event 2
fire_timer() -> BOOM
```
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8768)
<!-- Reviewable:end -->
M1504: Implement final charset support for text_response method
Following changes have been made:
* Added final_mime_type and final_charset helper methods to return the appropriate final mime/charset values
* Modified the text_response method to use the final_charset instead of directly using the response charset
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8739)
<!-- Reviewable:end -->
Implement [Unforgeable]
This is mostly stolen from Gecko. As there, we define the unforgeable members
on an object stored in the slots of the prototype object. They are then copied
onto instance objects when they are instantiated. It should be noted that
proxy objects see their unforgeable memebers defined on their expando object.
Unforgeable attributes aren't properly inherited in codegen (in a similar
fashion as getters and setters as filed in #5875) and require to be redefined
in derived interfaces. Fortunately, there are currently no such interfaces.
No unforgeable members can be included into the TestBinding interfaces for good
measure because they are not compatible with setters.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7988)
<!-- Reviewable:end -->