Commit Graph

21 Commits

Author SHA1 Message Date
Simon Sapin
dbb22281df servo: Merge #18854 - Make optional the usage of some unstable features (from servo:servo-unstable-feature); r=nox
With `--no-default-features --features default-except-unstable`, more crates can now be compiled on stable Rust. This will help integrate them in rustc’s regression testing and compiler performance benchmarking.

Source-Repo: https://github.com/servo/servo
Source-Revision: 78aaa85aec8184d0a2d70006c45034d7c2ec561a
2017-10-13 12:26:39 -05:00
Emilio Cobos Álvarez
036489fcac servo: Merge #18621 - selectors: Remove unused crate (from emilio:unused-crate); r=glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: dd6aae9d52af1f7ff55826543e044e5a3f9dd5e6
2017-09-24 21:05:49 -05:00
Bobby Holley
9fdac01539 servo: Merge #18595 - Implement an nth-index cache (from bholley:nth_index_cache); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1334730

Source-Repo: https://github.com/servo/servo
Source-Revision: be9c8ec07a0ca745adf1b412d32b3b32adec122c
2017-09-21 18:10:05 -05:00
Bobby Holley
599d2f4ac9 servo: Merge #18589 - Plumbing for the nth-index cache (from bholley:nth_index_plumbing); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1334730

Source-Repo: https://github.com/servo/servo
Source-Revision: 39f8fce453f0a34751abb82485442429f06324bf
2017-09-21 01:24:01 -05:00
Nicholas Nethercote
32af6cf8e2 servo: Merge #18452 - Overhaul MallocSizeOf and related things (from nnethercote:bug-1398737); r=jdm
This patch makes the MallocSizeOf stuff in Stylo work more like the HeapSizeOf
stuff already in Servo, except better. In particular, it adds deriving support
for MallocSizeOf, which will make it easier to improve coverage.

The patch does the following.

- Combines servo/components/style/stylesheets/memory.rs and the heapsize crate
  into a new crate, malloc_size_of.

- Forks the heapsize_derive crate, calling it malloc_size_of, so that
  MallocSizeOf can be derived.

- Both the new crates have MIT/Apache licenses, like heapsize, in case they are
  incorporated into heapsize in the future.

- Renames the methods within MallocSizeOf and the related traits so they are
  more concise.

- Removes MallocSizeOfWithGuard.

- Adds `derive(MallocSizeOf)` to a lot of types, in some cases replacing an
  equivalent or almost-equivalent hand-written implementation.

- Adds stuff so that Rc/Arc can be handled properly.

<!-- Please describe your changes on the following line: -->

---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because tested on Gecko side.

<!-- 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 7f4cb1861b172423781a369b2decca6c65d60546
2017-09-11 22:11:25 -05:00
Sebastian Hengst
a563afee8f Backed out changeset a417b9d7712d for vendoring bustage. r=backout on a CLOSED TREE 2017-07-29 00:04:59 +02:00
Nikhil Shagrithaya
8af105057d servo: Merge #17565 - Servo's async Tokenizer: New! Improved! Now with multithreading! (from cynicaldevil:new-parser-thread); r=nox,jdm
<!-- Please describe your changes on the following line: -->

The Tokenizer, defined in the file `async_html.rs` will run on the main thread, while h5e's `Tokenizer`(along with its Sink) lives on the parser thread. Both h5e's `Tokenizer` and `Sink` communicate with the main thread Tokenizer via their own mpsc channels. The Sink keeps sending parser operations to the main thread, to be executed. For some operations, it waits for a message from the main thread before returning.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: e8272dcf1a316549cdbc98a16c181c02743041c4
2017-07-28 12:23:29 -05:00
Bobby Holley
a6d41ebbef servo: Merge #17462 - various bloom filter optimizations (from bholley:bloom_optimizations); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1375323

Source-Repo: https://github.com/servo/servo
Source-Revision: 7fbbfde2787510bf6e65d43cedc6cbe6093fa456
2017-06-22 14:39:30 -07:00
Bobby Holley
7bc7317f26 servo: Merge #17439 - Match compound selectors left-to-right (second try) (from bholley:compound_left_to_right); r=SimonSapin
https://bugzilla.mozilla.org/show_bug.cgi?id=1373800

Source-Repo: https://github.com/servo/servo
Source-Revision: b211664e877a3e4d712314fa7f3002fd19cff549
2017-06-21 09:28:43 -07:00
Simon Sapin
920407d98b servo: Merge #17213 - ID and class selectors are ASCII case-insensitive in quirks mode (from servo:quirk-case); r=bholley
https://bugzilla.mozilla.org/show_bug.cgi?id=1363778

Source-Repo: https://github.com/servo/servo
Source-Revision: 1b077303237d5ecb8307f866e9172d0d8e6b132d
2017-06-12 15:52:29 -07:00
J. Ryan Stinnett
a5c7bf0aa5 servo: Merge #17212 - Stylo: Visited selectors for nested links (from jryans:visited-selectors); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1370358

Source-Repo: https://github.com/servo/servo
Source-Revision: 0934df77fdbddcb6ae1534e3c1a150272aea73b2
2017-06-07 12:49:34 -07:00
Bobby Holley
6d91bbdd99 servo: Merge #17179 - shrink Rule and store all heap-allocated selector data inline (from bholley:one_selector_allocation); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1370107

Source-Repo: https://github.com/servo/servo
Source-Revision: 74ea8ce3ed6aa3d7edfe05924f196ccbe57daed6
2017-06-05 20:10:28 -07:00
Simon Sapin
70fe8c63b4 servo: Merge #16915 - Shrink selectors::Component, implement attr selector (in)case-sensitivity (from servo:attr-selectors); r=nox,emilio
* https://bugzilla.mozilla.org/show_bug.cgi?id=1364148
* https://bugzilla.mozilla.org/show_bug.cgi?id=1364162
* https://bugzilla.mozilla.org/show_bug.cgi?id=1363531
* Fixes #3322

Source-Repo: https://github.com/servo/servo
Source-Revision: 640b16634f2828bad46ab6d78e785dfc2025ab46
2017-05-18 18:45:20 -05:00
Simon Sapin
d6c09ae9a6 servo: Merge #16870 - Add size_of tests for geckolib selectors (from servo:size_of); r=emilio
First step of https://bugzilla.mozilla.org/show_bug.cgi?id=1364148

Source-Repo: https://github.com/servo/servo
Source-Revision: ababebcced62d3a9bd09f002f1bf27b1b2691ea6
2017-05-16 04:00:30 -05:00
Bobby Holley
d7e9eaf5d6 servo: Merge #16549 - store simple selectors and combinators inline (from bholley:inline_selectors); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1357973

Source-Repo: https://github.com/servo/servo
Source-Revision: f44e3cdae29a9847e1e212a55490285a11b3ba5c
2017-04-20 17:05:31 -05:00
Matthew
07e78d3345 servo: Merge #16347 - Removing recursion from ComplexSelector (from tictakk:ticbranch); r=emilio
<!-- Please describe your changes on the following line: -->
Using a smallvec instead of recursively calling to_css for ComplexSelector to handle running out of stack.

---
<!-- 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 #16019  (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: fd89ddf4bba2ff7f53842332f0651f45620c494b
2017-04-16 21:02:06 -05:00
Emilio Cobos Álvarez
43200e34ed servo: Merge #16293 - style: Refactor the selectors crate to remove ad-hoc logic (from emilio:refactor-selectors); r=bholley
Also refactors a lot of the restyle hint code to use these new hooks, and removes a lot of hacks in servo that shouldn't be needed because of correct handling of restyles due to attribute changes.

I just smoketested this, so going for a full try run now.

Source-Repo: https://github.com/servo/servo
Source-Revision: 949931ec0caa20b9f38a12863f610da562950b90
2017-04-09 05:17:55 -05:00
Emilio Cobos Álvarez
1cb7f87100 servo: Merge #16070 - selectors: Get rid of hashing overhead using the precomputed hash atoms have (from emilio:selectors-bloom-hash-less); r=bholley
I realized of this when @bzbarsky  mentioned the bloom filter in https://bugzilla.mozilla.org/show_bug.cgi?id=1348935#c7.

Right now we hash (the hash) all the time, when we can do better.

This requires a change in string-cache, which is at https://github.com/servo/string-cache/pull/183.

Source-Repo: https://github.com/servo/servo
Source-Revision: a811776df478a009ac6a7785ad13684e3a8e0925
2017-04-07 19:03:12 -05:00
Simon Sapin
7376e6c672 servo: Merge #15766 - Update cssparser (from servo:cssparserup); r=Manishearth
<!-- Please describe your changes on the following line: -->

https://github.com/servo/rust-cssparser/pull/123

In particular, `match_ignore_ascii_case` now supports the full `match` syntax.

---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: fbfcfc2dbe838ef011f14a863003a575078f455f
2017-02-28 08:22:27 -08:00
Simon Sapin
81883fd8ac servo: Merge #15735 - Update cssparser to 0.11 (from servo:cssparserup); r=emilio
<!-- Please describe your changes on the following line: -->

<s>Depends on https://github.com/servo/rust-cssparser/pull/122.</s>

---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 94e563e4d9292d7b19ce061e070cda358e822172
2017-02-26 02:19:32 -08:00
Bobby Holley
127601ea2d servo: Merge #15447 - Move rust-selectors into servo/servo (from bholley:in_tree_selectors); r=SimonSapin
See the thread at [1].

[1] https://groups.google.com/d/msg/mozilla.dev.servo/iHykieVC5SM/Z31_n0agBAAJ

Source-Repo: https://github.com/servo/servo
Source-Revision: 8aec1ccdd22145df0ca7bb9456b40b3175fc5992
2017-02-08 16:06:06 -08:00