servo/components
bors-servo 8e52f8a523
Auto merge of #20248 - emilio:invalidation-selectors-faster, r=bholley
style: Change the order we match selectors on invalidation to match normal order.

This changes the order to match the normal selector-matching order, which is
usually faster.

That is, when matching div:nth-child(2), for example, before this patch we'd
first try to match :nth-child(2), and only then div.

This patch makes us walk until the end or the next combinator, and only then
match backwards, matching first div, then :nth-child.

Bug: 1443814
Reviewed-by: bholley

<!-- 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/20248)
<!-- Reviewable:end -->
2018-03-08 18:44:29 -05:00
..
allocator
atoms Fire the pageshow event at the end of the page load r=jdm 2018-03-06 07:24:24 -08:00
bluetooth update tinyfiledialogs 2018-03-03 08:35:44 +01:00
bluetooth_traits
canvas Add WebGL function glGetTexParameter 2018-03-06 15:28:10 +02:00
canvas_traits Add WebGL function glGetTexParameter 2018-03-06 15:28:10 +02:00
compositing Update image to 0.18 2018-02-28 16:25:35 +01:00
config removed default_data_dir() and default_cache_dir() components/config/basedir.rs 2018-03-02 22:39:07 +02:00
constellation Update itertools to 0.7 2018-02-28 16:25:32 +01:00
debugger
deny_public_fields Bump syn/quote in deny_public_fields 2018-02-12 15:05:18 +01:00
devtools
devtools_traits
dom_struct
domobject_derive Bump syn/quote in domobject_derive 2018-02-12 17:07:40 +01:00
fallible
geometry Bump euclid to 0.17 2018-02-28 09:46:59 +01:00
gfx Bump euclid to 0.17 2018-02-28 09:46:59 +01:00
gfx_traits Update WebRender 2018-02-06 15:10:35 +01:00
hashglobe style: Back out ordermap. 2018-02-12 12:20:46 +01:00
jstraceable_derive Bump syn/quote in jstraceable_derive 2018-02-12 17:07:58 +01:00
layout Stop using LocalClip::RoundedRect 2018-03-06 21:26:22 +01:00
layout_thread style: Separate the XBL and shadow dom styling bits. 2018-03-07 15:42:28 +01:00
layout_traits
malloc_size_of Bump euclid to 0.17 2018-02-28 09:46:59 +01:00
malloc_size_of_derive Bump syn/quote in malloc_size_of_derive 2018-02-12 17:08:19 +01:00
metrics
msg remove mozbrowser code 2018-02-13 09:40:06 +01:00
net update tinyfiledialogs 2018-03-03 08:35:44 +01:00
net_traits Update image to 0.18 2018-02-28 16:25:35 +01:00
nonzero
profile
profile_traits
rand
range
remutex
script Split CssUrl from SpecifiedUrl for non-value URLs. 2018-03-08 23:34:34 +11:00
script_layout_interface Bump euclid to 0.17 2018-02-28 09:46:59 +01:00
script_plugins
script_traits Bump euclid to 0.17 2018-02-28 09:46:59 +01:00
selectors style: Change the order we match selectors on invalidation to match normal order. 2018-03-09 00:10:16 +01:00
servo Bump euclid to 0.17 2018-02-28 09:46:59 +01:00
servo_arc Fix license metadata for servo_arc crate 2018-02-21 16:35:18 -08:00
size_of_test
style style: Reorder style sharing checks so that cheaper and broader ones are earlier. 2018-03-08 22:50:34 +01:00
style_derive Opt into field bounds when deriving ToCss, instead of opting out 2018-03-08 16:33:19 +01:00
style_traits style: Document #[css(skip_if)] 2018-03-08 10:28:10 +01:00
url
webdriver_server Update image to 0.18 2018-02-28 16:25:35 +01:00
webvr Bump euclid to 0.17 2018-02-28 09:46:59 +01:00
webvr_traits