gecko-dev/servo/components/style
Bobby Holley 637f6af4d6 servo: Merge #14436 - Make restyle tracking more granular (from bholley:granular_restyle); r=emilio
The primary idea of this patch is to ditch the rigid enum of Previous/Current
styles, and replace it with a series of indicators for the various types of
work that needs to be performed (expanding snapshots, rematching, recascading,
and damage processing). This loses us a little bit of sanity checking (since
the up-to-date-ness of our style is no longer baked into the type system), but
gives us a lot more flexibility that we'll need going forward (especially when
we separate matching from cascading). We also eliminate get_styling_mode in
favor of a method on the traversal.

This patch does a few other things as ridealongs:
* Temporarily eliminates the handling for transfering ownership of styles to the
  frame. We'll need this again at some point, but for now it's causing too much
  complexity for a half-implemented feature.
* Ditches TRestyleDamage, which is no longer necessary post-crate-merge, and is
  a constant source of compilation failures from either needing to be imported
  or being unnecessarily imported (which varies between gecko and servo).
* Expands Snapshots for the traversal root, which was missing before.
* Fixes up the skip_root stuff to avoid visiting the skipped root.
* Unifies parallel traversal and avoids spawning for a single work item.
* Adds an explicit pre_traverse step do any pre-processing and determine whether
      we need to traverse at all.

Source-Repo: https://github.com/servo/servo
Source-Revision: b9a8ccd775c3192e3810a1730b1d0bc2b5c9dfb6
2016-12-09 17:01:05 -08:00
..
binding_tools servo: Merge #14492 - stylo bindings update (from heycam:bindings-update-9); r=emilio 2016-12-08 10:55:42 -08:00
gecko servo: Merge #14436 - Make restyle tracking more granular (from bholley:granular_restyle); r=emilio 2016-12-09 17:01:05 -08:00
gecko_bindings servo: Merge #14492 - stylo bindings update (from heycam:bindings-update-9); r=emilio 2016-12-08 10:55:42 -08:00
gecko_string_cache servo: Merge #14457 - update stylo bindings (from heycam:bindings-update-8); r=Manishearth 2016-12-04 01:52:59 -08:00
properties servo: Merge #14471 - adjust display style fixup to handle more Gecko cases (from heycam:blockification); r=emilio 2016-12-06 20:19:21 -08:00
rule_tree servo: Merge #14273 - ensure RuleNodes are dropped when Gecko drops the Stylist (from heycam:rule-tree-stylo); r=bholley,emilio 2016-11-21 08:16:36 -06:00
servo servo: Merge #14436 - Make restyle tracking more granular (from bholley:granular_restyle); r=emilio 2016-12-09 17:01:05 -08:00
values servo: Merge #14421 - Treat top-level number in calc() invalid (from upsuper:patch-2); r=emilio 2016-12-02 20:18:05 -08:00
animation.rs servo: Merge #14418 - layout: Fix some particularly bad cases of spurious reflows leading to script thread unresponsiveness (from pcwalton:infinite-reflows); r=notriddle 2016-12-01 10:16:38 -08:00
atomic_refcell.rs servo: Merge #14300 - stylo: Basic infrastructure for RestyleHint-driven traversal (from bholley:restyle_driven_traversal); r=emilio 2016-11-25 09:00:44 -08:00
attr.rs servo: Merge #13418 - Make document url mutable and implement location.replace() (from stshine:location-replace); r=KiChjang 2016-11-20 02:27:54 -06:00
bezier.rs servo: Merge #9635 - Move util::bezier to style (from nox:mv-bezier); r=jdm 2016-02-15 07:18:27 +05:01
bloom.rs servo: Merge #14461 - allow the style bloom filter to recover from switch to a node with no common ancestor with the old node (from heycam:bloom-no-common-ancestor); r=emilio 2016-12-05 03:01:12 -08:00
build.rs servo: Merge #13386 - Run style tests with all properties included (from Manishearth:style-testing); r=emilio 2016-09-24 00:36:28 -05:00
cache.rs servo: Merge #13676 - Remove usage of deprecated SipHasher (from servo:no-siphasher); r=pcwalton 2016-10-10 11:39:06 -05:00
Cargo.toml servo: Merge #14320 - Update to selectors 0.15 (from servo:selectorsup); r=nox 2016-11-22 10:44:03 -06:00
cascade_info.rs servo: Merge #12838 - Fix restyling on viewport resize (from emilio:viewport); r=SimonSapin 2016-08-16 13:48:20 -05:00
context.rs servo: Merge #14436 - Make restyle tracking more granular (from bholley:granular_restyle); r=emilio 2016-12-09 17:01:05 -08:00
custom_properties.rs servo: Merge #14373 - Use the ParserContext along with the Parser (from Wafflespeanut:parse); r=emilio 2016-11-26 19:20:10 -08:00
data.rs servo: Merge #14436 - Make restyle tracking more granular (from bholley:granular_restyle); r=emilio 2016-12-09 17:01:05 -08:00
dom.rs servo: Merge #14436 - Make restyle tracking more granular (from bholley:granular_restyle); r=emilio 2016-12-09 17:01:05 -08:00
element_state.rs servo: Merge #13489 - Add support for fullscreen #10102 (from farodin91:fullscreen); r=jdm 2016-12-09 09:52:34 -08:00
error_reporting.rs servo: Merge #11834 - Add some documentation to the style crate (from servo:style-docs); r=SimonSapin 2016-06-27 17:14:55 -05:00
font_face.rs servo: Merge #14370 - use Either type for UrlOrNone (from thiagopnts:master); r=Wafflespeanut 2016-12-01 22:03:31 -08:00
font_metrics.rs servo: Merge #14174 - style: Refactor and add infrastructure for font metrics in style (from emilio:font-provider); r=Manishearth 2016-11-13 04:55:02 -06:00
keyframes.rs servo: Merge #14464 - Write tests for CSSOM Interfaces (from canaltinova:cssom-test); r=Manishearth 2016-12-07 13:38:50 -08:00
lib.rs servo: Merge #14353 - Fix the bloom filter stuff (from emilio:fix-bloom); r=SimonSapin 2016-11-28 10:30:19 -08:00
logical_geometry.rs servo: Merge #14136 - style: Add a "start_end()" method to LogicalMargin (from stshine:orthogonal-symmetry); r=SimonSapin 2016-11-10 11:53:05 -06:00
matching.rs servo: Merge #14436 - Make restyle tracking more granular (from bholley:granular_restyle); r=emilio 2016-12-09 17:01:05 -08:00
media_queries.rs servo: Merge #14433 - Implement MediaList interface (from canaltinova:medialist); r=Manishearth 2016-12-02 12:53:57 -08:00
owning_handle.rs servo: Merge #13759 - Implement OwningHandle in style (from bholley:owning_handle); r=SimonSapin 2016-10-14 10:42:10 -05:00
parallel.rs servo: Merge #14436 - Make restyle tracking more granular (from bholley:granular_restyle); r=emilio 2016-12-09 17:01:05 -08:00
parser.rs servo: Merge #14373 - Use the ParserContext along with the Parser (from Wafflespeanut:parse); r=emilio 2016-11-26 19:20:10 -08:00
README.md servo: Merge #10934 - style: Add infrastructure to support lazy pseudo-elements (from emilio:other-gecko-pseudos); r=bholley,mbrubeck 2016-05-04 03:42:23 -07:00
refcell.rs servo: Merge #13459 - Use parking_lot::RwLock for PropertyDeclarationBlock (from servo:no-arc-heapsize); r=emilio 2016-10-04 11:58:56 -05:00
restyle_hints.rs servo: Merge #14436 - Make restyle tracking more granular (from bholley:granular_restyle); r=emilio 2016-12-09 17:01:05 -08:00
selector_parser.rs servo: Merge #14436 - Make restyle tracking more granular (from bholley:granular_restyle); r=emilio 2016-12-09 17:01:05 -08:00
sequential.rs servo: Merge #14436 - Make restyle tracking more granular (from bholley:granular_restyle); r=emilio 2016-12-09 17:01:05 -08:00
sink.rs servo: Merge #12224 - Remove some stuff from util (from nox:die-util-die); r=Ms2ger 2016-07-04 12:57:00 -07:00
str.rs servo: Merge #12256 - Move some stuff from util to style (from nox:die-util-die); r=Ms2ger 2016-07-05 02:04:42 -07:00
stylesheets.rs servo: Merge #14384 - Move Arc<RwLock<_>> out from CssRules tuple (from upsuper:cssrules-struct); r=Manishearth 2016-11-29 03:26:46 -08:00
stylist.rs servo: Merge #14384 - Move Arc<RwLock<_>> out from CssRules tuple (from upsuper:cssrules-struct); r=Manishearth 2016-11-29 03:26:46 -08:00
thread_state.rs servo: Merge #13641 - Use rayon to drive parallel layout and styling (from emilio:rayon-style); r=pcwalton 2016-11-14 14:47:21 -06:00
tid.rs servo: Merge #12256 - Move some stuff from util to style (from nox:die-util-die); r=Ms2ger 2016-07-05 02:04:42 -07:00
timer.rs servo: Merge #12392 - style: Add support to test animations programatically (from emilio:test-animations); r=SimonSapin 2016-07-20 13:38:31 -05:00
traversal.rs servo: Merge #14436 - Make restyle tracking more granular (from bholley:granular_restyle); r=emilio 2016-12-09 17:01:05 -08:00
viewport.rs servo: Merge #14238 - Implement ToCss serialization for CSSRules (from canaltinova:cssom-tocss); r=Manishearth 2016-11-18 10:15:52 -06:00

servo-style

Style system for Servo, using rust-cssparser for parsing.