servo/components/script
bors-servo 2de5407cda Auto merge of #7450 - benschulz:constellation-timer, r=jdm
Ordering guarantees for timers

This is an rough solution to the issue described in #3396. XHRs still do their own thing and an overall clean up is in order. Before I do that, though, I'd really like someone to sign off on the overall idea.

There's one major difference to what jdm layed out #3396: The timers remain with the window/worker and only the earliest expiring one is coordinated with the dedicated timer thread.
That means both the timer thread and the window/worker have to keep track of which timer expires next, which feels a bit wonky. However, the upshot is that there's no need for communication with the timer thread when a pipeline is frozen, thawed or dropped.

Most relvant parts are
 - the [`TimerScheduler`](6f5f661958 (diff-74137a6f50ab38e7a1e4d16920a66ce7R73)), which is the new per-constellation timer task and
 - the [`ActiveTimers`](6f5f661958 (diff-86707d952414a2860b78bcf6c1db8e2eR34)) which is what's left on the window/worker side.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7450)
<!-- Reviewable:end -->
2015-10-21 09:07:30 -06:00
..
dom Auto merge of #7450 - benschulz:constellation-timer, r=jdm 2015-10-21 09:07:30 -06:00
parse Clean up the cast calls 2015-10-21 11:40:34 +02:00
build.rs
Cargo.toml Auto merge of #7777 - KiChjang:caseless-group-name-match, r=jdm 2015-10-02 13:26:05 -06:00
clipboard_provider.rs Fix reported test-tidy errors for unmerged import blocks 2015-09-19 12:50:14 -04:00
cors.rs Simplify AsyncResponseListener implementations. 2015-10-15 16:53:47 -07:00
devtools.rs Introduce trait Castable 2015-10-21 11:37:16 +02:00
document_loader.rs sorted the extern crate, mod & use declarations 2015-09-24 02:12:45 +05:30
layout_interface.rs Handle <meta name=viewport> elements when added to document 2015-09-30 20:31:35 -07:00
lib.rs Timers are scheduled by a dedicated per-constellation thread. 2015-10-21 16:40:49 +02:00
makefile.cargo Fix spurious rebuilds of the script crate 2015-10-08 21:37:56 -07:00
mem.rs Introduce DOMClass::heap_size_of 2015-10-14 21:52:16 +02:00
network_listener.rs Make AsyncResponseListener methods take &mut self. 2015-10-15 16:44:39 -07:00
page.rs Update script to work with lint changes 2015-10-16 01:20:27 +05:30
script_task.rs Timers are scheduled by a dedicated per-constellation thread. 2015-10-21 16:40:49 +02:00
textinput.rs sorted the extern crate, mod & use declarations 2015-09-24 02:12:45 +05:30
timers.rs Timers are scheduled by a dedicated per-constellation thread. 2015-10-21 16:40:49 +02:00
webdriver_handlers.rs Clean up the cast calls 2015-10-21 11:40:34 +02:00