This fixes issue #3630
A short summary of the changes:
* Use generation id to cancel inflight requests
* Handles nested calls to abort, open, send inside handlers
* Adds XHRReleaseMsg to delay freeing XHR object till all
inflight events are processed
* Change the ErroredMsg enum to be more symmetric with the returned
Error enum
This implements the parts of the "prepare a script element" algorithm that are
required for synchronous scripts. It also adds some infrastructure for future
support of the `async` and `defer` attributes.
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
The ScriptTask is owned by the proc in ScriptTaskFactory::create.
We started using a managed box for what would eventually become ScriptTask in
d21d27e086.
The ScriptTask is owned by the proc in ScriptTaskFactory::create.
We started using a managed box for what would eventually become ScriptTask in
d21d27e086.
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.