This implements a subset of the CSS `linear-gradient` property per the
CSS-IMAGES specification:
http://dev.w3.org/csswg/css-images-3/
The full syntax is parsed, but only the beginning and end color stops
are used, and gradients are clamped to the nearest 90 degrees. It should
not be architecturally difficult to add the remaining pieces, but in the
interests of bounding the size of this patch that work has been left to
follow-ups.
Improves GitHub.
r? @glennw
This enables the user to run `./mach serve-docs` (with an optional port
number), starting a local web server that hosts the documentation for
Servo and Rust.
This closes#3807
The semantics of has_attribute aren't anywhere close to the ones expected for
Element#hasAttribute, and it fails an assertion when passed non-lower-case
names.
I'm sad to say that this improved performance significantly. A lot of
this win is due to the Rust compiler not being smart about not zeroing
objects out if it doesn't need to.
r? @glennw
The semantics of has_attribute aren't anywhere close to the ones expected for
Element#hasAttribute, and it fails an assertion when passed non-lower-case
names.
This enables the user to run `./mach serve-docs` (with an optional port
number), starting a local web server that hosts the documentation for
Servo and Rust.
This closes#3807
I'm sad to say that this improved performance significantly. A lot of
this win is due to the Rust compiler not being smart about not zeroing
objects out if it doesn't need to.
This fixes issue #3630
A short summary of the changes:
* Use atomic 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
* Handles both timeout, errors and abort/open in a symmetric fashion
i.e All inflight events will be cancelled for timeouts, aborts,
errors and on calling open.
* Change the ErroredMsg enum to be more symmetric with the returned
Error enum
I noticed a few possible changes that could make the code for fetch task simpler:
* We can remove the additional timer task and let the fetch task manage
its own timer (or maybe the resource loader can do this.)
* The CORS related steps could also be moved into the resource loader.
* Right now upload events are not support. This requires some support
from resource loader.