servo/components/script/dom/bindings
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
..
codegen Auto merge of #12541 - jdm:seqseq, r=nox 2016-07-21 14:24:52 -05:00
callback.rs Reuse report_pending_exception in CallSetup. 2016-07-05 20:20:23 +02:00
cell.rs task -> thread 2016-01-10 17:58:13 +09:00
conversions.rs Avoid unnecessary JS_WrapValue calls for DOM reflectors. 2016-07-12 08:22:50 -04:00
error.rs Auto merge of #12261 - szeged:gattcharacteristicfunctions, r=jdm 2016-07-06 11:11:26 -07:00
global.rs Removed panic channel, replaced by integrated logging and issue reporting. 2016-07-20 21:56:43 -05:00
guard.rs Refactor util::prefs operations to be methods on static struct. 2016-07-02 16:43:39 -04:00
inheritance.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
interface.rs Implement the [Exposed] extended attribute on interfaces. 2016-07-12 13:06:56 +02:00
js.rs Move TrustedNodeAddress to script_layout_interface. 2016-06-20 19:08:06 +02:00
mod.rs Remove utils::Prefable in favour of guard::Guard 2016-05-26 23:56:13 +02:00
num.rs Use num-traits in script. 2016-04-20 15:23:43 +02:00
proxyhandler.rs Switch to using the new rooted!/RootedGuard API for rooting. 2016-07-04 20:59:01 +03:00
refcounted.rs Make debug logging for tracing JS objects more informative. 2016-05-11 08:34:48 -04:00
reflector.rs Add global default method for Reflectable trait 2016-01-11 20:23:47 -05:00
str.rs Auto merge of #12467 - jeenalee:jeena-headersAPI, r=jdm 2016-07-20 16:24:48 -05:00
structuredclone.rs Update SpiderMonkey 2016-05-03 18:36:11 +02:00
trace.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
utils.rs Implement the [Exposed] extended attribute on interfaces. 2016-07-12 13:06:56 +02:00
weakref.rs Removed unused imports 2016-05-15 22:24:26 +03:00
xmlname.rs Move DOMString back to script 2016-05-24 10:54:57 +02:00