servo/components
bors-servo 7ff3a17524 Auto merge of #8039 - tschneidereit:script-owns-stylesheets, r=jdm
Move Stylesheet loading and ownership from the layout task into HTML elements

Stylesheets for `HTMLLinkElement`s are now loaded by the resource task, triggered by the element in question. Stylesheets are owned by the elements they're associated with, which can be `HTMLStyleElement`, `HTMLLinkElement`, and `HTMLMetaElement` (for `<meta name="viewport">).

Additionally, the quirks mode stylesheet (just as the user and user agent stylesheets a couple of commits ago), is implemented as a lazy static, loaded once per process and shared between all documents.

This all has various nice consequences:
 - Stylesheet loading becomes a non-blocking operation.
 - Stylesheets are removed when the element they're associated with is removed from the document.
 - It'll be possible to implement the CSSOM APIs that require direct access to the stylesheets (i.e., ~ all of them).
 - Various subtle correctness issues are fixed.

One piece of interesting follow-up work would be to move parsing of external stylesheets to the resource task, too. Right now, it happens in the link element once loading is complete, so blocks the script task. Moving it to the resource task would probably be fairly straight-forward as it doesn't require access to any external state.

Depends on #7979 because without that loading stylesheets asynchronously breaks lots of content.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8039)
<!-- Reviewable:end -->
2015-11-08 01:11:54 +05:30
..
canvas Update to rust-cssparser 0.4.0 2015-11-05 08:57:01 +01:00
canvas_traits Update to rust-cssparser 0.4.0 2015-11-05 08:57:01 +01:00
compositing Auto merge of #8355 - Ms2ger:Exit, r=nox 2015-11-07 22:34:45 +05:30
devtools Make DOMString a newtype around String, rather than a typedef. 2015-11-04 12:09:11 +01:00
devtools_traits Check in for task 1,4 and 5 2015-11-05 00:17:24 -05:00
gfx Auto merge of #8355 - Ms2ger:Exit, r=nox 2015-11-07 22:34:45 +05:30
gfx_traits Update euclid to 0.3 2015-10-28 21:34:23 +05:30
layout Auto merge of #8039 - tschneidereit:script-owns-stylesheets, r=jdm 2015-11-08 01:11:54 +05:30
layout_traits Fix serde_macros 2015-10-28 21:53:15 +05:30
msg Remove the unused PipelineExitType enum. 2015-11-05 16:32:48 +01:00
net Check in for task 1,4 and 5 2015-11-05 00:17:24 -05:00
net_traits Check in for task 1,4 and 5 2015-11-05 00:17:24 -05:00
plugins more refactoring 2015-10-30 20:26:29 +09:00
profile New Android suppport 2015-11-04 16:29:39 -06:00
profile_traits Auto merge of #8253 - connorimes:android-energy-profiling, r=mbrubeck 2015-10-30 12:26:10 +05:30
script Auto merge of #8039 - tschneidereit:script-owns-stylesheets, r=jdm 2015-11-08 01:11:54 +05:30
script_traits Auto merge of #8039 - tschneidereit:script-owns-stylesheets, r=jdm 2015-11-08 01:11:54 +05:30
servo Auto merge of #8387 - larsbergstrom:update_mozjs, r=Manishearth 2015-11-07 20:29:58 +05:30
style Auto merge of #8039 - tschneidereit:script-owns-stylesheets, r=jdm 2015-11-08 01:11:54 +05:30
style_traits Auto merge of #8039 - tschneidereit:script-owns-stylesheets, r=jdm 2015-11-08 01:11:54 +05:30
util Auto merge of #8341 - bholley:state_hint_selector_ordering, r=pcwalton 2015-11-07 09:53:19 +05:30
webdriver_server update image to 0.4.0 2015-10-21 08:37:41 +02:00
webdriver_traits Fix reported test-tidy errors for unmerged import blocks 2015-09-19 12:50:14 -04:00