servo/components/script
bors-servo 1e0321f7dd Auto merge of #12469 - emilio:stylo, r=bholley
style: Rewrite the restyle hints code to allow different kinds of element snapshots.

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

<!-- Either: -->
- [x] These changes do not require tests because refactoring.

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

This is a rewrite for how style interfaces with its consumers in order to allow
different representations for an element snapshot.

This also changes the requirements of an element snapshot, requiring them to
only implement MatchAttr, instead of MatchAttrGeneric. This is important for
stylo since implementing MatchAttrGeneric is way more difficult for us given the
atom limitations. This also allows for more performant implementations in the
Gecko side of things.

I don't want to get this merged just yet, mainly because the stylo part is not
implemented, but I'd like early feedback from @bholley and/or @heycam: How do
you see this approach? I don't think we'll have much problem to implement
MatchAttr for our element snapshots, but... worth checking.

r? @heycam

<!-- 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/12469)
<!-- Reviewable:end -->
2016-07-21 16:54:34 -05:00
..
docs
dom Auto merge of #12469 - emilio:stylo, r=bholley 2016-07-21 16:54:34 -05:00
parse script: Obtain referrer policy from header 2016-07-15 08:12:24 -07:00
task_source Implement file reading task source 2016-07-14 13:27:42 -04:00
bluetooth_blacklist.rs Add WebBluetooth Blacklist support 2016-05-31 17:05:45 +02:00
build.rs
Cargo.toml All our Cargo.toml files should contain an MPL-2.0 license field. 2016-07-14 10:26:34 -05:00
clipboard_provider.rs Remove ConstellationChan. 2016-05-19 17:13:44 +02:00
devtools.rs Switch to using the new rooted!/RootedGuard API for rooting. 2016-07-04 20:59:01 +03:00
document_loader.rs Integrate service worker manager thread 2016-07-16 23:29:44 +05:30
layout_wrapper.rs style: Rewrite the restyle hints code to allow different kinds of element snapshots, and use it for Gecko. 2016-07-21 14:24:04 -07:00
lib.rs make resource_thread talk to sw-manager 2016-07-18 19:06:48 +05:30
makefile.cargo Generate a list of supported DOM APIs from parsed WebIDLs. 2016-07-15 18:13:09 -04:00
mem.rs
network_listener.rs Move boxing to runnable initialization 2016-07-13 11:10:23 -06:00
origin.rs Make script origins sendable and immutable. 2016-05-27 17:16:13 +02:00
script_runtime.rs Refactor util::prefs operations to be methods on static struct. 2016-07-02 16:43:39 -04:00
script_thread.rs Removed panic channel, replaced by integrated logging and issue reporting. 2016-07-20 21:56:43 -05:00
serviceworker_manager.rs Remove expect calls in service worker manager thread 2016-07-21 18:32:40 +05:30
textinput.rs Take selection direction into account when setting selection 2016-07-06 16:14:32 -06:00
timers.rs Auto merge of #11872 - eddyb:back-to-roots, r=Ms2ger 2016-07-04 11:03:35 -07:00
unpremultiplytable.rs
webdriver_handlers.rs Move webdriver_msg to script_traits. 2016-07-05 09:02:46 +02:00