Bobby Holley
7fa7936657
Implement attribute restyle hints.
...
Fixes #6942 .
2015-11-10 11:57:24 -08:00
Bobby Holley
c9704992a9
Factor the name-related fields of Attr into a struct and move it to style.
2015-11-09 21:40:22 -08:00
Bobby Holley
488c1291d4
Hoist AttrValue into style.
2015-11-09 21:40:22 -08:00
bors-servo
f39faaf994
Auto merge of #8227 - asajeffrey:versioned_dom, r=eefriedman
...
Versioned dom
This PR adds versioning to the DOM. There are now node.get_version and node.get_descendent_version methods that return a counter that is bumped when the node is dirtied. This is used to implement cache invalidation for caching HTMLCollection state. Caching HTMCollections gets a 1000x speedup in the Dromaeo DOM query tests.
Addresses https://github.com/servo/servo/issues/6901 , https://github.com/servo/servo/issues/3381 and https://github.com/servo/servo/issues/1916 .
Replaces PR https://github.com/servo/servo/pull/6927 .
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8227 )
<!-- Reviewable:end -->
2015-11-10 01:11:23 +05:30
bors-servo
92f9e58310
Auto merge of #8286 - eefriedman:no-move, r=nox
...
Remove unnecessary uses of #[no_move]
The patch makes RootCollection a bit safer by making the StackRootTLS hold
it in place.
RootedVec was doing an extremely delicate dance and just hoping nobody
messed it up; switch to a Box to be safe.
CodeGenRust seemed to be using no_move for no particularly good reason.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8286 )
<!-- Reviewable:end -->
2015-11-08 12:51:00 +05:30
Eli Friedman
1a50fce67c
Clean up some code related to #[no_move].
...
The patch makes RootCollection a bit safer by making the StackRootTLS hold
it in place.
The use of no_move in CodeGenRust was leftover from when roots couldn't
be moved.
2015-11-07 21:17:24 -08:00
Alan Jeffrey
4aa6a76f57
Made QualName traceable by JS.
2015-11-06 17:23:15 -06:00
Josh Matthews
989e80036e
Implement cancellable runnables.
...
Additionally, make image load events cancellable. Resolves #7731 .
2015-11-06 10:41:38 -05:00
Jitendra Jain
ed809a60bf
Implement the overrideMimeType method for XMLHttpRequest
2015-11-05 22:19:24 -05:00
Ms2ger
6b75078503
Make DOMString a newtype around String, rather than a typedef.
...
This should make it somewhat easier to experiment with alternative
representations in the future. To reduce churn, this commit leaves the String
field public, though.
Also, this will allow us to use the default String type to represent the IDL
USVString type, which explicitly forbids unpaired surrogates, ans as such is
a better match to the Rust String type.
2015-11-04 12:09:11 +01:00
rohan.prinja
6e774ea6eb
merge from master
2015-11-03 19:01:23 +09:00
Eli Friedman
df7fb8fa32
Remove JSTraceable implementation from RefCell.
...
The implementation wasn't really right, and we would rather just use
DOMRefCell anyway.
2015-11-02 14:40:57 -08:00
Bobby Holley
79ac365a68
Move EventState to rust-selectors.
2015-10-30 21:02:35 -07:00
rohan.prinja
45224028db
more refactoring
2015-10-30 20:26:29 +09:00
bors-servo
88f501c412
Auto merge of #5745 - servo:gc, r=Manishearth
...
Move the DOM memory management blog post into the tree.
This is a WIP, but I wanted to get eyes on it already.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5745 )
<!-- Reviewable:end -->
2015-10-29 21:58:22 +05:30
Ms2ger
4dbc99c7f3
Move the DOM memory management blog post into the tree.
2015-10-29 17:25:00 +01:00
Till Schneidereit
a0c5d47910
Improve spec-compliance of script loading and execution during document startup
...
Including proper support for async and deferred scripts.
2015-10-26 21:35:09 +01:00
benshu
553a0dbefd
Timers are scheduled by a dedicated per-constellation thread.
2015-10-21 16:40:49 +02:00
Corey Farwell
74e4c4fdc7
Implement size
attribute for <font> element
2015-09-30 22:51:30 -04:00
Ravi Shankar
889eec364b
sorted the extern crate, mod & use declarations
2015-09-24 02:12:45 +05:30
Brandon Fairchild
de3547e401
Fix reported test-tidy errors for unmerged import blocks
...
This merges import blocks that were reported by tidy as unmerged.
2015-09-19 12:50:14 -04:00
Ms2ger
3781567c19
Stop implementing Reflectable for JS<T> ( fixes #2285 ).
...
It's not generally safe to expose the contents of a JS<T>.
2015-09-13 16:47:12 +02:00
Ms2ger
ca5e7097a0
Stop requiring that the type argument to RootedVec implements Reflectable.
...
It is sufficient that it implements JSTraceable.
2015-09-13 16:43:28 +02:00
Connor Imes
d746835344
Combine script profiling with profile crates. Fixes #7514 .
2015-09-04 16:09:44 -05:00
Simon Sapin
40b4348824
Upgrade to rustc 1.4.0-dev (cb9323ec0 2015-09-01)
2015-09-02 09:22:17 +02:00
Anthony Ramine
5cc36f0b91
Implement FromIterator<Root<A>> for RootedVec<JS<A>> ( fixes #5117 )
2015-08-31 10:11:29 +02:00
Johann Tuffe
ec07178b6f
sort all uses
2015-08-20 20:47:12 +08:00
João Oliveira
067a22a868
Replace uses of for foo in bar.iter()
,
...
and `for foo in bar.iter_mut(), and for foo in bar.into_iter()
(continuation of #7197 )
2015-08-18 01:46:11 +01:00
Josh Matthews
8bb853f643
Fix existing syntactics nits.
2015-08-16 10:30:43 -04:00
vectorijk
14ac1ef75a
remove ScriptListener
...
ref #7175
2015-08-16 01:34:55 -07:00
João Oliveira
0038580abf
Replace uses of for foo in bar.iter()
and for foo in bar.iter_mut()
...
closes #7197
2015-08-15 02:27:39 +01:00
bors-servo
f3b7c5cb4b
Auto merge of #7132 - jdm:docenum, r=ms2ger
...
Document the use and meaning of the devtools control messages. Fixes …
…#6922.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7132 )
<!-- Reviewable:end -->
2015-08-13 12:41:48 -06:00
Ms2ger
2cdc043fcf
Remove ScriptControlChan.
2015-08-12 16:24:09 +02:00
Josh Matthews
e59de75608
Simplify devtools frame marker notification. Record each frame tick based on a single message sent from the script task that ticked.
2015-08-12 00:59:58 -04:00
Patrick Walton
024c4df912
script: Fix merge fallout.
2015-07-31 11:28:09 -07:00
Patrick Walton
2aa5174246
script: Make the resource task communication use IPC channels.
2015-07-31 11:28:09 -07:00
David Zbarsky
e484d6b5e3
Implement getComputedStyle
2015-07-29 20:17:50 -04:00
bors-servo
705c95dedb
Auto merge of #6660 - nox:children-changed, r=jdm
...
Introduce VirtualMethods::children_changed()
This virtual method mimics the behaviour of mutation observers and make it more viable than the older child_inserted(), which didn't cover removed nodes and was called as many times as there were inserted nodes.
A few other shortcomings where remove_child() was called directly instead of Node::remove() were also fixed while at it.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6660 )
<!-- Reviewable:end -->
2015-07-25 11:39:20 -06:00
Patrick Walton
bb99b2f3c8
script: Make most of 2D canvas and WebGL run over IPC.
...
To actually make the multiprocess communication work, we'll need to
reroute the task creation to the pipeline or the compositor. But this
works as a first step.
2015-07-25 00:50:12 -07:00
Anthony Ramine
389a9ff643
Introduce RootedVec<JS<T>>::r()
2015-07-23 20:56:27 +02:00
bors-servo
aafc3dfa96
Auto merge of #6682 - boghison:scripttask, r=jdm
...
Fix a few issues
- Use SmallVec<[T; N]>
- Make find_iframe a free function
- Make ProgressEvent use enums for bubbles and cancelable
- Change README, as `rust-snapshot-hash` is just a text file
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6682 )
<!-- Reviewable:end -->
2015-07-22 12:25:57 -06:00
Bogdan Cuza
681b11c08b
Fix #6680
2015-07-22 16:45:43 +03:00
Manish Goregaokar
f6f0a7e4aa
Make stmt part of unrooted_must_root handle type parameters ( fixes #6651 )
2015-07-22 00:00:14 +05:30
Patrick Walton
b6485a9eaf
compositing: Make the constellation messages serializable.
2015-07-18 12:43:08 -07:00
Nicholas Nethercote
7429b90e02
Wire up the JS engine's memory reporting.
...
SpiderMonkey provides an extremely fine-grained breakdown of memory
usage, but for Servo we aggregate the measurements into a small number
of coarse buckets, which seems appropriate for the current level of
detail provided by Servo's memory profiler. Sample output:
```
| 10.99 MiB -- pages
| 7.75 MiB -- url(http://html5demos.com/worker )
| 4.63 MiB -- js
| 2.00 MiB -- gc-heap
| 0.94 MiB -- decommitted
| 0.92 MiB -- used
| 0.09 MiB -- unused
| 0.05 MiB -- admin
| 1.44 MiB -- malloc-heap
| 1.19 MiB -- non-heap
| [...]
| 3.24 MiB -- url(http://html5demos.com/js/worker-cruncher.js )
| 3.24 MiB -- js
| 1.17 MiB -- malloc-heap
| 1.06 MiB -- non-heap
| 1.00 MiB -- gc-heap
| 0.69 MiB -- used
| 0.19 MiB -- decommitted
| 0.09 MiB -- unused
| 0.03 MiB -- admin
```
Most of the changes are plumbing to get the script and worker tasks
communicating with the memory profiler task.
2015-07-15 21:58:20 -07:00
Simon Sapin
83d2a11d86
Upgrade to rustc 1.3.0-dev (fddfd089b 2015-07-10)
2015-07-15 00:46:43 +02:00
Patrick Walton
e841065351
compositing: Move messages that go over the ScriptListener
to go over
...
an IPC channel instead.
Because this used a boxed trait object to invoke messages across a
process boundary, and boxed trait objects are not supported across IPC,
we spawn a helper thread inside the compositor to perform the marshaling
for us.
2015-07-14 12:12:19 -07:00
ecoal95
9b306aced6
webgl: implement getError
2015-07-06 19:55:48 +02:00
David Winslow
4cf46bff2d
Refactor #[jstraceable] to #[derive(JSTraceable)]
...
fixes #6524
2015-07-01 18:27:06 -04:00
Michael Wu
675267b782
Upgrade to SM 39
2015-06-19 18:42:48 -04:00