| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
| |
Instead of creating a display list for the entire page, only create one
for an area that expands around the viewport. On my machine this makes
incremental layout of http://timecube.com 50% faster.
|
|
|
|
|
| |
significantly by giving tiles some time to paint before we render
unrendered content.
|
|
|
|
|
|
|
|
|
| |
Instead of looking at the display tree, have ContentBox(es)Query consult
the flow tree. This allow optimizing away parts of the display tree
later. To do this we need to be more careful about how we send reflow
requests, only querying the flow tree when possible.
Fixes #3790.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch puts in the initial framework for incremental reflow. Nodes' styles
are no longer recalculated unless the node has changed.
I've been hacking on the general problem of incremental reflow for the past
couple weeks, and I've yet to get a full implementation that actually passes all
the reftests + wikipedia + cnn. Therefore, I'm going to try to land the different
parts of it one by one.
This patch only does incremental style recalc, without incremental flow
construction, inline-size bubbling, reflow, or display lists. Those will be coming
in that order as I finish them.
At least with this strategy, I can land a working version of incremental reflow,
even if not yet complete.
r? @pcwalton
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Since Page isn't reflected, it cannot be rooted, and pointers to JS-managed
objects inside it are not guaranteed to be traced. This may cause the pointer
to become dangling.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Replace &JSRef with JSRef in the bulk of the generated code. This will
remove a level of indirection throughout all DOM code.
This patch doesn't change methods implemented on JSRef<T> to take `self`
rather than `&self`, and it leaves a few other uses of &JSRef, but those
changes can be made incrementally.
|
|\
| |
| | |
Added more complex profiling metadata.
|
| | |
|
| |
| |
| |
| |
| |
| | |
attributes." for persistent test failures.
This reverts commit 874db261046d6155b1942efa106d2e0014295d6d.
|
|\ \
| |/
|/| |
Delay initiating layout operations for as long as possible.
|
| | |
|
| |
| |
| |
| | |
75% improvement in style recalc for Guardians of the Galaxy.
|
|/
|
|
|
|
|
| |
as functions with JS<T> in their parameter list
For safe wrappers over JS<T> (eg Temporary<T>) use #[allow(unrooted_must_root)].
For all other types containing a #[must_root] value, annotate the type with #[must_root] to ensure that it is never used unrooted
|
|
|
|
|
| |
Instead of storing a single ReadyState, store one per pipeline and
track the earliest one.
|
| |
|
|
|
|
| |
layout task.
|
|
|