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 -->
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
Add mesa-libGLU-devel dependency to README.md
Installing all listed dependencies on fedora results in
a compilation error, due to missing mesa-libGLU-devel dependency.
This dependency is part of some of the other distributions,
with other names of course.
<!-- Please describe your changes on the following line: -->
Compiling Servo on my Fedora 26 machine after installing the developer dependencies, resulted in a failed compilation of `servo-skia-0.30000013.0` due to missing devel library.
```
/home/veeg/.cargo/registry/src/github.com-1ecc6299db9ec823/servo-skia-0.30000013.0/src/gpu/gl/unix/SkNativeGLContext_unix.cpp:10:10: fatal error: GL/glu.h: No such file or directory
#include <GL/glu.h>
^~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/skia.dir/build.make:7383: CMakeFiles/skia.dir/src/gpu/gl/unix/SkNativeGLContext_unix.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/skia.dir/all] Error 2
gmake: *** [Makefile:130: all] Error 2
thread 'main' panicked at '
command did not execute successfully, got: exit code: 2
build script failed, must exit now', /home/veeg/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.29/src/lib.rs:632:5
note: Run with `RUST_BACKTRACE=1` for a backtrace.
warning: build failed, waiting for other jobs to finish...
error: build failed
```
```
$ dnf provides -q /usr/include/GL/glu.h
mesa-libGLU-devel-9.0.0-11.fc26.i686 : Development files for mesa-libGLU
Repo : fedora
Matched from:
Filename : /usr/include/GL/glu.h
mesa-libGLU-devel-9.0.0-11.fc26.x86_64 : Development files for mesa-libGLU
Repo : fedora
Matched from:
Filename : /usr/include/GL/glu.h
```
Installing `mesa-libGLU-devel` solved the issue.
---
<!-- 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
- [X] These changes fix # (not applicable)
<!-- Either: -->
- [X] These changes do not require tests because only README.md is affected
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
<!-- 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/20249)
<!-- Reviewable:end -->
style: Reorder style sharing checks so that cheaper and broader ones are earlier.
This was reviewed by Xidorn in #20223, but that needs to wait for a few days so let's land this separately.
<!-- 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/20250)
<!-- Reviewable:end -->
Installing all listed dependencies on fedora results in
a compilation error, due to missing mesa-libGLU-devel dependency.
This dependency is part of some of the other distributions,
with other names of course.
Stop unconditionally collecting traversal statistics in nightly builds
The current code also makes us panic when DUMP_STYLE_STATISTICS=1 is
set. :-(
<!-- 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/20247)
<!-- Reviewable:end -->
Disable logging in bindgen to reduce code size
This disables bindgen's `logging` feature, which builds `env_logger`
with default features, including regex support. Disabling it allows
Gecko to build `env_logger` without the `regex` crate, reducing code
size.
Part of https://bugzilla.mozilla.org/show_bug.cgi?id=1444097
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they only change unused build config
<!-- 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/20245)
<!-- Reviewable:end -->
This disables bindgen's `logging` feature, which builds `env_logger`
with default features, including regex support. Disabling it allows
Gecko to build `env_logger` without the `regex` crate, reducing code
size.
Part of https://bugzilla.mozilla.org/show_bug.cgi?id=1444097