servo/components/script
Bobby Holley 80460cc549 Make Restyle tracking more granular.
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.

MozReview-Commit-ID: IKhLAkAigXE
2016-12-09 14:46:40 -10:00
..
docs Rename Reflectable to DomObject. 2016-12-08 08:50:35 -10:00
dom Make Restyle tracking more granular. 2016-12-09 14:46:40 -10:00
task_source Properly implement TaskSource for NetworkingTaskSource 2016-11-11 14:50:42 -08:00
body.rs Rename Reflectable to DomObject. 2016-12-08 08:50:35 -10:00
build.rs Native MSVC windows build, convert to cmake 2016-08-17 09:50:51 -04:00
Cargo.toml Refactor the locate a namespace algorithm 2016-12-01 11:55:14 +01:00
clipboard_provider.rs Remove ConstellationChan. 2016-05-19 17:13:44 +02:00
CMakeLists.txt Fix doc build by resurrecting generation of supported DOM APIs.h 2016-09-24 15:06:06 -04:00
devtools.rs Rename Reflectable to DomObject. 2016-12-08 08:50:35 -10:00
document_loader.rs Urlmageddon: Use refcounted urls more often. 2016-11-17 18:34:23 +01:00
fetch.rs Rename Reflectable to DomObject. 2016-12-08 08:50:35 -10:00
layout_wrapper.rs Make Restyle tracking more granular. 2016-12-09 14:46:40 -10:00
lib.rs Remove usage of FnBox for animation frame callbacks (fixes #14416) 2016-12-06 13:15:09 -10:00
mem.rs Rename Reflectable to DomObject. 2016-12-08 08:50:35 -10:00
network_listener.rs Properly implement TaskSource for NetworkingTaskSource 2016-11-11 14:50:42 -08:00
origin.rs Urlmageddon: Use refcounted urls more often. 2016-11-17 18:34:23 +01:00
script_runtime.rs Add support for fullscreen #10102 2016-12-09 11:45:50 +01:00
script_thread.rs Add support for fullscreen #10102 2016-12-09 11:45:50 +01:00
serviceworker_manager.rs Urlmageddon: Use refcounted urls more often. 2016-11-17 18:34:23 +01:00
serviceworkerjob.rs Rename Reflectable to DomObject. 2016-12-08 08:50:35 -10:00
textinput.rs Return KeyReaction::Nothing for a Tab event 2016-11-12 15:49:00 +01:00
timers.rs Rename Reflectable to DomObject. 2016-12-08 08:50:35 -10:00
unpremultiplytable.rs
webdriver_handlers.rs Remove redundant url clones 2016-11-18 12:39:22 +08:00