Commit graph

1981 commits

Author SHA1 Message Date
bors-servo
ff86e0094c Auto merge of #6691 - glennw:mouse-which, r=jdm
Implement mouseevent.which (needed for enyojs sampler).



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6691)
<!-- Reviewable:end -->
2015-07-22 21:53:00 -06:00
bors-servo
37a1e22515 Auto merge of #6698 - Ms2ger:layoutelement, r=jdm
Implement some methods on LayoutJS<Element>.

Part of my long-term plan to stop exposing `unsafe_get()` outside the script crate.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6698)
<!-- Reviewable:end -->
2015-07-22 21:10:04 -06:00
Glenn Watson
d2600e66fb Address review comments 2015-07-23 09:13:09 +10:00
bors-servo
5dba6d5b01 Auto merge of #6667 - notriddle:master, r=Ms2ger
Optimize `Node.normalize()`.

Do not copy the discarded node's text data, borrow it.

Closes #6658.

p.s. What's the `let text_node = text_node.clone();` for? I removed it because it doesn't seem to be necessary, but I'd like to be sure.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6667)
<!-- Reviewable:end -->
2015-07-22 15:13:43 -06:00
bors-servo
6fd31867ba Auto merge of #6635 - Ms2ger:ws-task, r=jdm
Spawn a thread for WebSocket messages.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6635)
<!-- Reviewable:end -->
2015-07-22 14:26:21 -06:00
bors-servo
11a3423c29 Auto merge of #6693 - notriddle:tidy-webidl, r=jdm
Tidy finds WebIDLs with no spec.

Closes #6689

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6693)
<!-- Reviewable:end -->
2015-07-22 13:44:12 -06:00
Ms2ger
32ddd356b8 Spawn a thread for WebSocket messages. 2015-07-22 20:29:32 +02:00
Ms2ger
91849cb603 Set the WebSocket's Sender from the ConnectionEstablishedTask.
This needs to happen off a task because we won't be able to access the
WebSocket object directly once this code moves to a background thread.

There is no behaviour change, because we make sure that self.ready_state is
not Connecting in Send().
2015-07-22 20:28:17 +02:00
Ms2ger
78df6e8d3e Remove the receiver field from WebSocket.
The receiver will be used from another thread than the WebSocket object in
the future.
2015-07-22 20:28:15 +02:00
Ms2ger
56c660d4de Split up WebSocketTaskHandler.
There's no real reason to have internal dynamic dispatch inside a trait
object.
2015-07-22 20:28:13 +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
Michael Howell
402a2a8717 Optimize Node.normalize().
Do not copy the discarded node's text data, borrow it.

Closes #6658.
2015-07-22 10:53:50 -07:00
Michael Howell
ce4709d6a7 Remove the last few TRs. 2015-07-22 10:52:04 -07:00
Michael Howell
970f018dc8 Better references. 2015-07-22 10:49:26 -07:00
bors-servo
36d732a60a Auto merge of #6582 - servo:clamp-enforce-range, r=jdm
Add Clamp and EnforceRange support for webidl arguments.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6582)
<!-- Reviewable:end -->
2015-07-22 11:03:05 -06:00
Ms2ger
9cc1e017ee Move local_name and namespace to LayoutJS<Element>. 2015-07-22 18:28:17 +02:00
bors-servo
6b4f1a42f0 Auto merge of #6694 - jdm:websocketprotocol, r=Ms2ger
Reject websocket protocol requests that don't match https://tools.iet…

…f.org/html/rfc6455#section-4.1 .

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6694)
<!-- Reviewable:end -->
2015-07-22 09:44:34 -06:00
Ms2ger
23c679d55a Implement style_attribute() on LayoutJS<Element>. 2015-07-22 17:27:23 +02:00
snf
7f152b665d Add Clamp and EnforceRange support for webidl arguments. 2015-07-22 17:04:06 +02:00
Bogdan Cuza
68d574bc32 Fix #6674 2015-07-22 16:45:44 +03:00
Bogdan Cuza
681b11c08b Fix #6680 2015-07-22 16:45:43 +03:00
Bogdan Cuza
e10a524c81 Fix #6676 2015-07-22 16:45:42 +03:00
Josh Matthews
d385cb701b Reject websocket protocol requests that don't match https://tools.ietf.org/html/rfc6455#section-4.1 . 2015-07-22 09:35:07 -04:00
bors-servo
8a6681ba70 Auto merge of #6688 - Manishearth:smarter-root-lint, r=jdm
Handle type parameters in unused_must_root

fixes #6651

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6688)
<!-- Reviewable:end -->
2015-07-22 07:05:31 -06:00
Manish Goregaokar
a9f651cfa1 Address review comments; add docs 2015-07-22 18:34:54 +05:30
Corey Farwell
b1b03a32db Upgrade rust-selectors, pass ':empty' tests
https://github.com/servo/rust-selectors/pull/36
2015-07-22 18:27:33 +07:00
Manish Goregaokar
521d8bc32e Make enum/fn part of unrooted_must_root handle type parameters 2015-07-22 10:44:26 +05:30
Michael Howell
91c61ae751 Tidy finds WebIDLs with no spec.
Closes #6689
2015-07-21 15:36:33 -07:00
Glenn Watson
2e074ce452 Implement mouseevent.which (needed for enyojs sampler). 2015-07-22 08:20:06 +10:00
Glenn Watson
2a2c7e18c0 Set detail field to be 1 by default for mouse events.
The spec says this should be "A count of consecutive  clicks that happened in a short amount of time, incremented by one."

This change matches the typical behaviour in FF.
2015-07-22 08:17:57 +10:00
Manish Goregaokar
fda3eb6327 Make struct part of unrooted_must_root handle type parameters 2015-07-22 00:01:26 +05:30
Manish Goregaokar
511e3337fb Fix rooting in script 2015-07-22 00:00:15 +05:30
Manish Goregaokar
f6f0a7e4aa Make stmt part of unrooted_must_root handle type parameters (fixes #6651) 2015-07-22 00:00:14 +05:30
bors-servo
a9f12da4f8 Auto merge of #6592 - frewsxcv:notimplementederror, r=Ms2ger
Use NotImplementedError for Python base class methods

From the Python docs:

https://docs.python.org/2/library/exceptions.html#exceptions.NotImplementedError

"In user defined base classes, abstract methods should raise this
exception when they require derived classes to override the method."

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6592)
<!-- Reviewable:end -->
2015-07-21 11:28:21 -06:00
bors-servo
58e9bc6583 Auto merge of #6648 - boghison:tidytoml, r=jdm
Make tidy check for "*" in toml files

This checks every .toml file for an asterisk and prints an error if found.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6648)
<!-- Reviewable:end -->
2015-07-20 14:43:05 -06:00
Bogdan Cuza
0baa6b477c Replace astersisks with appropriate versions in deps 2015-07-20 20:08:08 +03:00
Tetsuharu OHZEKI
eb47185d58 Implement Window.trap() to trigger a breakpoint trap 2015-07-21 00:53:17 +09:00
Ms2ger
6d7bc2cffe Rename browser_context identifiers to browsing_context. 2015-07-20 15:56:32 +02:00
Ms2ger
7491728a9c Rename BrowserContext to BrowsingContext. 2015-07-20 15:41:16 +02:00
Ms2ger
9a143bb67e Remove leftover debug println. 2015-07-20 13:12:20 +02:00
James Graham
f44470ef52 Ensure we get the post-redirect url 2015-07-19 20:40:55 +01:00
Patrick Walton
b6485a9eaf compositing: Make the constellation messages serializable. 2015-07-18 12:43:08 -07:00
David Zbarsky
207648f14d Implement Range#cloneContents 2015-07-17 02:48:39 -04:00
bors-servo
acf47a02cf Auto merge of #6568 - dzbarsky:delete_range, r=jdm
Implement Range#insertNode

Gecko doesn't really follow the spec but it seems to throw a HierarchyRequest error when parent is null.
Any ideas who I should talk to about fixing the spec to account for the null checks?

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6568)
<!-- Reviewable:end -->
2015-07-16 10:56:17 -06:00
David Zbarsky
c2664e52dd Implement Range#insertNode 2015-07-16 17:43:46 -04:00
bors-servo
9534e8143f Auto merge of #6641 - michaelwu:direct-output, r=Ms2ger
Directly append children to output node in parse_html_fragment



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6641)
<!-- Reviewable:end -->
2015-07-16 07:21:06 -06:00
Ms2ger
b467f3e9d6 Don't try to send a message in WebSocket#close if the sender isn't present. 2015-07-16 14:29:04 +02:00
Ms2ger
072fdf695b Handle Send correctly if readyState is not Open. 2015-07-16 12:43:10 +02:00
Ms2ger
cd741e681d Remove WebSocket::sendCloseFrame.
It is a field that is used a function argument. Given that the control flow
is not quite the same, and we can't add an argument to Send, I opted for a
separate function.
2015-07-16 12:43:08 +02: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