benshu
f2d4a7bbca
Clean up of script timer code.
...
The code was split into the following two abstractions.
- OneshotTimers can be used to schedule arbitrary oneshot timers, such
as XHR-Timeouts.
- JsTimers (`setTimeout` and `setInterval`) which use OneshotTimers to
schedule individual callbacks.
With this change the implementation (of JsTimers in particular) is in
much closer alignment with the specification.
2016-02-20 22:43:16 +01:00
Kamil Muszyński
c6dfd7e2fa
Issue #9561 continued - renamed *_thread_source to *_task_source in global.rs and related files
2016-02-17 21:25:12 +01:00
Kamil Muszyński
076cc409e6
Issue #9561 Renamed *_thread_source to *_task_source and ThreadSource to TaskSource
2016-02-14 15:29:44 +01:00
Emilio Cobos Álvarez
bb98ac24f4
script: Remove some unused imports
2016-01-12 18:34:03 +01:00
Chad Kimes
2703568227
Remove unused enum GlobalField
2016-01-10 22:46:38 -05:00
rohan.prinja
1f02c4ebbb
task -> thread
2016-01-10 17:58:13 +09:00
Tomas Cernaj
5507be2653
Move ScriptMsg from msg crate into script_traits
2015-12-09 20:50:11 +01:00
bors-servo
02f4be9c9f
Auto merge of #8862 - fstr:move_workerid, r=Ms2ger
...
Moved WorkerId type to devtools_traits
Fixes #8846 .
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8862 )
<!-- Reviewable:end -->
2015-12-08 00:53:40 +05:30
Florian Strübe
b81f712ce1
Moved WorkerId type to devtools_traits
2015-12-07 20:11:26 +01:00
Keith Yeung
8d90034d29
Split fn script_chan into 5 different task channel fn
2015-12-06 12:12:14 -08:00
bors-servo
acbe413052
Auto merge of #8530 - KiChjang:split-constellation-msg, r=jdm
...
Split ConstellationMsg into ScriptMsg and CompositorMsg
Fixes #8356 .
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8530 )
<!-- Reviewable:end -->
2015-11-19 04:39:20 +05:30
Ms2ger
0c61be7a57
Rustfmt some of script.
2015-11-18 11:14:05 +01:00
Keith Yeung
19294db6e5
Split ConstellationMsg into ScriptMsg and CompositorMsg
2015-11-16 23:10:53 -08:00
Patrick Walton
1dc0d61c3c
script: Make timer events e10s-safe.
...
Closes #8235 .
2015-11-12 14:30:25 -05:00
Anthony Ramine
b290a3161d
Clean up the conversion routines
...
Functions returning `Root<T>` are prefixed by "root_" and the ones returning
`*const T` by "native_".
Functions taking `*mut JSObject` are now suffixed by "_from_object" and the ones
taking `&T` by "_from_reflector".
2015-11-11 14:19:30 +01:00
benshu
d27a3244f2
XHR timeouts use same abstraction as scripts timers. ( fixes #3396 )
2015-11-11 00:52:34 +01:00
rohan.prinja
6e774ea6eb
merge from master
2015-11-03 19:01:23 +09:00
nxnfufunezn
d8ef3809a6
Removed JS::root Fixes #8251
2015-10-31 18:15:16 +05:30
rohan.prinja
51df8e310b
rearrange imports to be in alphabetical order
2015-10-30 20:28:59 +09:00
rohan.prinja
45224028db
more refactoring
2015-10-30 20:26:29 +09:00
Ms2ger
9be52dc41a
Implement GlobalRef::reflector as an inherent method.
...
Reflectable is meant for actual DOM objects, not for references to them.
2015-10-23 17:20:17 +02:00
benshu
553a0dbefd
Timers are scheduled by a dedicated per-constellation thread.
2015-10-21 16:40:49 +02:00
Adam Szopa
88991013ab
Remove explicit lifetimes which can be elided.
2015-10-21 01:27:48 +02:00
Manish Goregaokar
8819f0d8b8
Update script to work with lint changes
2015-10-16 01:20:27 +05:30
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
6dab37c88c
Implement a global_object_for_reflector method.
2015-09-16 16:29:00 +02:00
Ms2ger
69ed59d78f
Remove the outdated no_move annotation from GlobalRoot.
2015-09-16 16:28:59 +02:00
Manish Goregaokar
2e02ea38fc
Elide most 'b lifetimes
2015-09-04 09:02:12 +05:30
Anthony Ramine
c831c2c0a5
Remove helper traits
...
Now that JSRef<T> is gone, there is no need to have helper traits.
On components/script/*.rs:
# Remove imports.
/^ *use dom::[a-z]+::\{.*Helpers/ {
s/\{(Raw[^L]|[^L][^a])[a-zA-Z]+Helpers, /\{/
s/, (Raw[^L]|[^L][^a])[a-zA-Z]+Helpers([,}])/\2/g
s/\{([a-zA-Z]+)\}/\1/
/\{\}/d
s/::self;$/;/
}
/^ *use dom::[a-z]+::\{?(Raw[^L]|[^L][^a])[a-zA-Z]+Helpers\}?;$/d
On components/script/dom/*.rs:
# Ignore layout things.
/^(pub )?(impl|trait).*Layout.* \{/,/^}$/ { P; D; }
# Delete helpers traits.
/^(pub )?trait ([^L][^ ]|L[^a])[^ ]+Helpers(<'a>)? \{$/,/^\}$/D
# Patch private helpers.
/^impl.*Private.*Helpers/,/^\}$/ {
s/^impl<'a> Private([^L][^ ]|L[^a])[^ ]+Helpers(<'a>)? for &'a ([^ ]+) \{$/impl \3 {/
/^ *(unsafe )?fn .*\(self.*[<&]'a/ {
s/&'a /\&/g
s/<'a, /</g
}
/^ *(unsafe )?fn /s/\(self([,)])/\(\&self\1/
}
# Patch public helpers.
/^impl.*Helpers/,/^\}$/ {
s/^impl(<'a>)? ([^L][^ ]|L[^a])[^ ]+Helpers(<'a>)? for (&'a )?([^ ]+) \{$/impl \5 {/
/^ *(unsafe )?fn .*\(self.*[<&]'a/ {
s/&'a /\&/g
s/<'a, /</g
}
/^ *(unsafe )?fn .*\(&?self[,)]/s/(unsafe )?fn/pub &/
/^ *pub (unsafe )?fn /s/\(self([,)])/\(\&self\1/
}
The few error cases were then fixed by hand.
2015-08-27 16:59:02 +02:00
Johann Tuffe
ec07178b6f
sort all uses
2015-08-20 20:47:12 +08:00
Josh Matthews
8bb853f643
Fix existing syntactics nits.
2015-08-16 10:30:43 -04:00
Ravi Shankar
89153116fb
Splitting ScriptMsg into various enums; r=jdm
2015-08-15 02:00:48 +05:30
Bogdan Cuza
45145108da
Measure heap memory usage for more types. Fixes #6951
2015-08-13 21:44:41 +03:00
Ms2ger
bd04cecceb
Take WorkerGlobalScope's worker_id out of its Option.
...
Unsurprisingly, every worker has an id, so there is no need to wrap it in an
Option.
2015-08-03 18:28:48 +02:00
Harrison G
49c5408e65
Fixes issue #6866
2015-08-02 16:55:42 -04:00
Ravi Shankar
79b65402d7
Persuading devtools to communicate with the workers; r=jdm
2015-08-01 21:25:49 +05:30
Patrick Walton
61e3a9545e
script: Fix test failures.
2015-07-31 15:03:39 -07:00
Patrick Walton
164e10202c
devtools: Convert the developer tools to run over IPC.
2015-07-27 09:10:01 -07: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
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
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
Josh Matthews
7f0706ed42
Implement a DocumentLoader type that tracks pending loads and notifies the script task when the queue is empty. Dispatch the document load event based on the DocumentLoader's notification.
2015-05-11 13:41:51 -04:00
Ms2ger
903305416a
Implement Clone for Copy types.
2015-04-28 23:31:10 +02:00
Anthony Ramine
7197052c0d
Uniformise root() methods
...
They now live in traits Rootable, OptionalOptionalRootable, OptionalRootable
and ResultRootable.
2015-04-28 09:22:45 +02:00
Manish Goregaokar
dcb0a0eab6
Fix some no_move errors
2015-04-28 04:20:45 +05:30
Josh Matthews
d0704d1797
Documentation.
2015-04-16 11:46:42 -04:00
Josh Matthews
01e66035ff
Implement sync XHR by creating and spinning on-demand event loops.
2015-04-16 11:46:40 -04:00
Ms2ger
58a8cfda52
Drop the FromJSValConvertible implementation for interfaces.
...
It doesn't really fit in the design, and native_from_reflector_jsmanaged has
gained the usability improvements that it used to lack.
2015-04-07 13:11:45 +02:00