Commit Graph

82 Commits

Author SHA1 Message Date
jmr0
ea678b6ec7 servo: Merge #9400 - Fixing websocket subprotocol header validation (from jmr0:websocket); r=nox
This takes care of https://github.com/servo/servo/issues/9034

Source-Repo: https://github.com/servo/servo
Source-Revision: e74021baaa85ba1b2839192d4fcb4f4b5cb5536b
2016-01-25 16:31:39 +05:00
Chandler Abraham
ebff0c5837 servo: Merge #9367 - Add origin to Location and Url API (from Chandler:url_origin); r=jdm
The origin field is part of location and url spec but hasn't been implemented in servo yet.
https://html.spec.whatwg.org/multipage/browsers.html#dom-location-origin
https://url.spec.whatwg.org/#dom-url-origin

All of the logic to calculate the url origin exists in https://github.com/servo/rust-url

This review threads through rust-url origin implementation into the servo location and url API.

This fixes one websockets test:
servo/tests/wpt/web-platform-tests/websockets/opening-handshake/003.html

testing done:
./mach test-wpt tests/wpt/web-platform-tests/websockets/

I'm brand new to rust so feedback is appreciated, thanks!

Source-Repo: https://github.com/servo/servo
Source-Revision: 1c6fb0f04e0cf305f4e1f75371be84944b1e5518
2016-01-22 03:55:49 +05:00
James Sanders
5ec543f6a7 servo: Merge #9358 - Clean up websocket closing code (from jsanders:refactor-websocket-closing); r=jdm
Fixes #7860.

This also changes quite a bit about how close codes are implemented, I believe bringing them closer in line with the spec. Instead of saving off the close code sent by the client, it uses the code from the server's closing handshake. It also handles `NO_STATUS` in what I believe is the correct manner. Making this work required a change to the test harness to make the `/echo` websocket handler echo the code sent by the client and handle `NO_STATUS` properly, rather than always replying with `NORMAL`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6663f28f0de308c9365b360cd8ad9ee9e43127ee
2016-01-19 20:38:09 +05:00
James Sanders
1ce6c2ffa3 servo: Merge #9360 - Accept WebSocket protocols as string or sequence (from jsanders:accept-protocols-sequence); r=KiChjang
Fixes #9053

Source-Repo: https://github.com/servo/servo
Source-Revision: 03a0b73538e58c0fb7e0828ff3371fdd99d0aa0b
2016-01-19 01:48:28 +05:00
Chad Kimes
d485422c54 servo: Merge #9255 - Remove global fields from DOM objects (from ckimes89:remove-globalfield); r=nox
Fixes #9227

Source-Repo: https://github.com/servo/servo
Source-Revision: 53c4a782a0906c487139d4b6f3c62d9eca3f9f17
2016-01-12 18:02:37 +05:00
rohan.prinja
c098aafd20 servo: Merge #9201 - task -> thread (from ajnirp:8512-task-thread); r=jdm
for #8512

Source-Repo: https://github.com/servo/servo
Source-Revision: d3e2f94f2024f4735f836588ed11303a0abafdf8
2016-01-10 15:19:04 +05:00
Brandon Fairchild
f43aa653b1 servo: Merge #9193 - Rename fire_simple_event_params to fire_event in eventtarget.rs (from nerith:fire_event); r=KiChjang
Fixes #9180.

Source-Repo: https://github.com/servo/servo
Source-Revision: 083d3e0201772918d040a6eb12e87c03fd443587
2016-01-08 22:04:14 +05:00
David Raifaizen
4c2f4fb3ce servo: Merge #8860 - Changing blob to use arc pointers in order to limit wasteful copying … (from craftytrickster:8801/blob-vec); r=jdm
Fixes #8801.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0fcee73ef38f65c1cb1ccf64608e16b4eaa25e53
2016-01-07 12:37:42 +05:00
Nikki
9b1d41f865 servo: Merge #9082 - Updated WebSocket buffered_amount to match change to html specification (from nikkisquared:websocket_bufferedamount); r=eefriedman
The size of WebSocket's buffered_amount was changed[1] after an issue I opened, which I found while working on WebSocket previously[2]. @jdm suggested I make a PR updating Servo reflecting this, and so I have! As always, I'd like to hear any feedback on anything I can do to improve this.

[1] https://github.com/whatwg/html/issues/296
[2] https://github.com/servo/servo/pull/8218#issuecomment-152021737 point 5)

Source-Repo: https://github.com/servo/servo
Source-Revision: 6844adbe2dd2730cbc13df0a78736386501cad02
2016-01-03 08:13:55 +05:00
Arthur Skobara
7e892f4944 servo: Merge #9030 - Add helper method HTMLFormElement::fire_event (from askobara:refactoring-add-htmlformelement-fire_event); r=Manishearth
Fixes #8777

Source-Repo: https://github.com/servo/servo
Source-Revision: dafdc856ac3fc2bd000e61bdcaed2c024828de0c
2015-12-22 22:08:19 +05:00
jmr0
78d7bb6514 servo: Merge #8825 - adding initial support for websocket subprotocol negotation (from jmr0:master); r=jdm
Addresses #8177

I also noticed some bugs/gaps (and at least one of my TODO's can be an E-Easy)

cc @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 63923bc7c923587652fb966f1f45009e483b1ebf
2015-12-18 04:53:15 +05:00
Arthur Skobara
8e77bdbee2 servo: Merge #8949 - Remove from Trusted::new an unnecessary argument (from askobara:refactoring-trusted-new); r=jdm
Fixes #8779

Source-Repo: https://github.com/servo/servo
Source-Revision: e493a0655e69c1472a53708d213fd102decc59cb
2015-12-13 03:23:40 +05:00
Corey Farwell
df96c96730 servo: Merge #8930 - Pass around event types as Atoms instead of Strings (from frewsxcv:event-type-atom); r=nox
`Event` internally stores the `type` as an `Atom`, and we're `String`s
everywhere, which can cause unnecessary allocations to occur since
they'll end up as `Atom`s anyways.

Source-Repo: https://github.com/servo/servo
Source-Revision: 99fd946130c9f06433b47c7f60241d5f7ad14a5b
2015-12-11 20:42:35 +05:00
Nova Fallen
6d9c2b508a servo: Merge #8867 - Move websocket creation to resource task (from nfallen:6638-websocket_loader); r=jdm
This is a pull request for part of https://github.com/servo/servo/issues/6638

It includes the following changes:
-The websocket networking code (ie. making a connection, receiving data, and sending data) has been extracted out of components/script/dom/websocket.rs and into the new file components/net/websocket_loader.rs.
-websocket.rs now communicates with the resource task (components/net/resource_task.rs) to instruct it to initiate a new websocket connection
- websocket_loader.rs now provides an API sent over an IPCChannel that allows websocket.rs to receive feedback about this process and to subsequently send and receive data

Source-Repo: https://github.com/servo/servo
Source-Revision: 951ab565d150b4f108254e06a14ccbe7f1005469
2015-12-08 20:10:50 +05:00
Keith Yeung
eca7ceda64 servo: Merge #8853 - Split fn script_chan into 5 different task channel fn (from KiChjang:generic-task-sources); r=jdm
Partial #7959.

Source-Repo: https://github.com/servo/servo
Source-Revision: ef000a458a52051b55b65e254ff9fe1a55835d04
2015-12-07 07:16:10 +05:00
Jason Williams
63989cf1bf servo: Merge #8787 - now using external ref_slice instead of the std version fixed #8695 (from Jayflux:hotfix/8695); r=mbrubeck
Fixes #8695.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8ae008761f6bf19b7c912cf9e0bf2aa157f32dec
2015-12-03 15:40:24 +05:00
Yanir Seroussi
ad771c536d servo: Merge #8693 - Implement unspecified websocket close code (fixes issue #8158) (from yanirs:websocket-close-unspecified-status); r=jdm
Fixes #8158.

Source-Repo: https://github.com/servo/servo
Source-Revision: 01b4deb9d14926e5ad3ebe3e7f839affc4951a63
2015-12-03 11:26:18 +05:00
Manish Goregaokar
09d3c7ef66 servo: Merge #8446 - Rust upgrade to rustc 1.6.0-nightly (5b4986fa5 2015-11-08) (from servo:rustup_20151110); r=SimonSapin+Ms2ger+jdm+Manishearth
<s>DO NOT r+ or try+ this</s>

<s>It causes an OOM (https://github.com/rust-lang/rust/issues/29740) and can crash the OS. Probably will set our CI on fire. </s>

Source-Repo: https://github.com/servo/servo
Source-Revision: f13c72d68e1e7f49e241938bfd6e8a588c68e86b
2015-11-27 10:17:00 +05:00
Alan Jeffrey
128ce4b968 servo: Merge #8477 - Opaque DOMString (from asajeffrey:opaque-domstring); r=asajeffrey
This patch makes DOMString an opaque wrapper round String (currently it's a transparent wrapper).

The changes are:

* Replacing DOMString(foo) by DOMString::from(foo).
* Replacing foo.0 by String::from(foo).
* Adding functions clear, push_str and extend for in-place mutation of DOMStrings.
* Replacing DOMString by String in other threads (devtools, storage and filereader).
* Making DOMString implement !Send.
* Removing the pub attribute from the contents of DOMString.

This enables experimenting with other string representations in the DOM.

Source-Repo: https://github.com/servo/servo
Source-Revision: 62acdd303b78951885c2c90747b31f318907d6c9
2015-11-13 06:47:30 +05:00
Ms2ger
30837e1d9b servo: Merge #8428 - Update js (from Ms2ger:conversions); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: b40882093a306032d38ad02e30f0095e0a49ec21
2015-11-13 00:43:52 +05:00
Roman Klauke
ac15770619 servo: Merge #8408 - rename WebSocket::Send_Impl (from romankl:websocket-rename-impl); r=jdm
Previos: `Send_Impl`, now: `send_impl`.

Closes: #8345
Source-Repo: https://github.com/servo/servo
Source-Revision: 9bcae9a866b85a90b75b9cbfcb9058287c1c0871
2015-11-08 20:01:35 +05:00
Ms2ger
0ff639a6b0 servo: Merge #8346 - Cleanup WebSocket::Send_Impl (from Ms2ger:send_impl); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: e3484315ddb2c6f4efeec50ef5b5abc2b411601c
2015-11-05 16:51:09 +05:00
Nikki
7808254b4d servo: Merge #8218 - #8213: Implement Blob variant of WebSocket.send (from nikkisquared:master); r=eefriedman
I'm working on resolving https://github.com/servo/servo/issues/8213 as per the spec online and feedback in the servo channel. Note that currently I cannot build (and thus test) my code, so this is a bit of a rough first draft. I'd still like feedback on my progress, and I hope that there is another way for my code to be tested.

Source-Repo: https://github.com/servo/servo
Source-Revision: 021f441d24893861d45fec0cef7ed88dc9e6543a
2015-11-05 09:54:27 +05:00
Ms2ger
9ee6885f3c servo: Merge #8312 - Make DOMString a newtype around String, rather than a typedef (from Ms2ger:DOMString); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: abfd1fb1bf071961bc8a581927eaa96a2d3e2cba
2015-11-04 16:17:41 +05:00
David Zbarsky
97e45a8d2e servo: Merge #8305 - Get rid of a bunch of explicit derefs (from dzbarsky:roots); r=Ms2ger,
Source-Repo: https://github.com/servo/servo
Source-Revision: 4b9fa13f2f6a1aa38d180367426498f01f6414c9
2015-11-04 10:33:54 +05:00
rohan.prinja
f3c30d6ffd servo: Merge #8221 - move modules around (from ajnirp:8130-reorganise); r=jdm
for #8130

Source-Repo: https://github.com/servo/servo
Source-Revision: daad09d44245228fba9118316937add71bec7c58
2015-11-04 02:26:02 +05:00
Eli Friedman
5701c98f6a servo: Merge #8056 - Fix the implementation of JSTraceable for RefCell (from eefriedman:trace-refcell); r=jdm
The existing implementation could panic; make sure that doesn't
happen by requiring that the contents of a RefCell are trivially
traceable (i.e. the value don't contain any traceable objects).

I'm not sure whether the TriviallyJSTraceable trait is actually
worthwhile; maybe we should just never use RefCell in the DOM.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4f51710ed387baa1ad0a6e4cdb0fc5eee44093d5
2015-11-03 06:37:40 +05:00
Anthony Ramine
db09beb657 servo: Merge #8041 - Introduce trait Castable (from nox:castable); r=jdm
Removes all those messy FooCast structures in InheritTypes.rs.

Source-Repo: https://github.com/servo/servo
Source-Revision: 674589c370d978f543e71f995d58c5b28e6e9842
2015-10-21 07:57:32 -06:00
Jim Berlage
1b2300154f servo: Merge #7947 - Adds bufferedAmount to Websocket (fixes #7856) (from jimberlage:7856/buffered-amount); r=jdm
This adds a readonly bufferedAmount attribute to Servo's websocket implementation.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0e4abddd37b1808033ad8811552575713fe7fa5a
2015-10-16 12:56:44 -06:00
Prabhjyot Singh Sodhi
937bba228f servo: Merge #7871 - Send reason in the Websocket close handshake (from psdh:sendReason); r=jdm
Fixes #7862

Source-Repo: https://github.com/servo/servo
Source-Revision: 26902a9a9b9266d7ffe13e9e1eb2c70fb0b70ae9
2015-10-13 17:25:27 -06:00
Jim Berlage
d128c53a9e servo: Merge #7885 - Creates empty string when passed null (from jimberlage:7858/null-message); r=Ms2ger
This should fix #7858.  An empty `USVString` is now used when `data` is `None`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8c81d9ab28132cff1d792b5c99e98bea6f7870bd
2015-10-09 09:02:45 -06:00
vectorijk
8aeda32a18 servo: Merge #7889 - Fix #7855 Implement port blocking For WebSocket connection algorithm (from vectorijk:port-blocking-7855); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e4b02cc981ed095c2cf3816d26ad32353357e64e
2015-10-06 14:07:08 -06:00
Anthony Urena
4de60083e9 servo: Merge #7882 - Refactor Error enum usage to consistently be qualified (from anthgur:consistent-enum-use); r=Ms2ger
Closes #7869

Source-Repo: https://github.com/servo/servo
Source-Revision: f5cd90805ec67fb52f73ec4cef9cef881a67522d
2015-10-06 04:58:17 -06:00
Roman Klauke
91778dbcc5 servo: Merge #7880 - remove data field from websockets (from romankl:websockets-data-field); r=jdm
The data field is currently not used (no reads/ writes). This commit
removes this temp. field.

Ref.-Issue: #7859

Source-Repo: https://github.com/servo/servo
Source-Revision: 94816bb3b42e50127db56e64086843b14614ca88
2015-10-05 13:26:30 -06:00
Ravi Shankar
4247312979 servo: Merge #7741 - fixed the deprecated as_slice warning (from Wafflespeanut:warning_fix); r=jdm
I've put its original implementation from [`core/option.rs`](http://doc.servo.org/src/core/option.rs.html#692) instead of the dear departed `as_slice`

Source-Repo: https://github.com/servo/servo
Source-Revision: b7c003f1584375ba37006fedd773141a3d32d99c
2015-09-25 13:47:37 -06:00
Ravi Shankar
62e8ea2732 servo: Merge #7698 - sorted the declarations in various files (from Wafflespeanut:sorting); r=frewsxcv
This is a direct extract from my abandoned PR for a lint (#7546), along with some rather clumsy modifications (only on `components/script/dom/mod.rs` and `components/style/lib.rs`), because I had to sort some of the files again to make peace with tidy, which hasn't been educated about sorting yet!

Source-Repo: https://github.com/servo/servo
Source-Revision: a7208869f2903e36f9b2f540b55b50283d7df466
2015-09-23 15:02:56 -06:00
Brandon Fairchild
704178a0dd servo: Merge #7662 - Check for multiple import blocks separated by whitespace (from nerith:import); r=frewsxcv
Fixes #7381.

Source-Repo: https://github.com/servo/servo
Source-Revision: a0d3c9223f09757124b1520c4f17e94fa8bbe249
2015-09-19 13:34:51 -06:00
Anthony Ramine
21dcce981a servo: Merge #7606 - Move the type_id fields to DOMClass (from nox:move-typeid); r=jdm
Cc @michaelwu.

Source-Repo: https://github.com/servo/servo
Source-Revision: d5ee58caf269779e86b2efc50ddf37d3e4eba9b9
2015-09-13 11:53:42 -06:00
Corey Farwell
69e3786287 servo: Merge #7483 - Enforce linking to spec for method implementations via macros (from frewsxcv:macro-spec-links); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 4984aaf8bfca0698a132e10e9f48cef42d1b8302
2015-08-31 21:17:54 -06:00
benshu
58d2d82b26 servo: Merge #7341 - Add profiling to the script event loop (#5331) (from benschulz:script-profiling); r=Manishearth
I fear the category names are unimaginative; in some cases they may even be misleading or downright incorrect. Requests to rename categories as well as any other feedback are highly appreciated.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6431e8da43817e8a6b1e4757afbcf45c1a629707
2015-08-27 17:00:15 -06:00
Anthony Ramine
8a70682e28 servo: Merge #7416 - Make the traits for the IDL interfaces take &self (from nox:methods-ref); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: 71b277d5675556e61a82ae9dbf3105449c3a8275
2015-08-27 15:08:41 -06:00
Anthony Ramine
fa8c26b4c5 servo: Merge #7401 - Remove helper traits (from nox:rm-helpers); r=Manishearth
Now that `JSRef<T>` is gone, there is no need to have helper traits.

Source-Repo: https://github.com/servo/servo
Source-Revision: 909429702972d53bf02dfe9a4aa93ea0cb588cf4
2015-08-27 09:38:48 -06:00
João Oliveira
086230053e servo: Merge #7361 - make dom_struct derive HeapSizeOf (from jxs:master); r=Ms2ger
closes #7357

Source-Repo: https://github.com/servo/servo
Source-Revision: 532fd19d69fd11d06bca7539c722a46fab2c4419
2015-08-27 02:35:45 -06:00
Johann Tuffe
25ce9ab4be servo: Merge #7265 - Add alphabetical order check for use statements (from tafia:tidy-use); r=Ms2ger
close #7112

Source-Repo: https://github.com/servo/servo
Source-Revision: a5fbb2f2a6fa79755f975feff2435abb6a5dd0e9
2015-08-20 07:43:56 -06:00
Manish Goregaokar
dca1446a71 servo: Merge #7224 - Integrate clippy into Servo; cleanup some of script (from Manishearth:clippy); r=Ms2ger
The integration is off by default for now. You can try it out with `./mach build --features "script/plugins/clippy"`.

We're using a branch of clippy with some of the lints changed to Allow, either because they don't apply to us, or because they're noisy and dwarf other warnings (but still should be fixed)

After going through the rest of Servo's warnings I'll figure out which lints we should be keeping.

There's a cargo bug with optional deps that makes it hard for this to work with Cargo.lock -- so this PR contains no changes to lockfiles (and running the build with clippy on may dirty the lockfile, though it gets fixed later)

Source-Repo: https://github.com/servo/servo
Source-Revision: 50e1c967e4299c1515575f73d407f5f6b977d818
2015-08-18 08:15:51 -06:00
Josh Matthews
d1f1ba555f servo: Merge #7203 - Add automated style nit checks to test-tidy (from jdm:style); r=Ms2ger
Expands on the work by @wilmoz and cleans up the existing errors. Closes #7180. Closes #7111.

Source-Repo: https://github.com/servo/servo
Source-Revision: e74825f9fde8e222f4ba9bb24b2c2a3864c73e5f
2015-08-16 08:37:40 -06:00
Tom Jakubowski
5e63e77777 servo: Merge #7214 - Implement WebSocket#binaryType (from tomjakubowski:websocket-binaryType); r=Ms2ger
Closes #7098

Source-Repo: https://github.com/servo/servo
Source-Revision: 7c63c7d7c109165b9584da5b31658ff89af21ef9
2015-08-15 19:57:58 -06:00
Ravi Shankar
5f83b844fd servo: Merge #7006 - Splitting ScriptMsg into various enums (from Wafflespeanut:script_cleanup); r=jdm
... for #3734, which is also one of the oldest issues. (/cc @jdm)

Source-Repo: https://github.com/servo/servo
Source-Revision: 6a52ec94840fbaf43a29d76879e2b59542a9963d
2015-08-15 03:48:47 -06:00
Bogdan Cuza
e4347f5a6a servo: Merge #7097 - Measure heap memory usage for more types. Fixes #6951 (from boghison:memtypes); r=jdm
Also adds HeapSizeOf implementations/derive for some types. I've used "Cannot calculate Heap size" as a reason everywhere, because my imagination is rather limited. If you'd like me to change this message for specific types, please write something like this: "Trusted - Cannot calculate Heap size for Trusted" so that it would be easier for me to replace them through a script :)

Source-Repo: https://github.com/servo/servo
Source-Revision: a03616f379c255cc6c9b6e1d04dd7d98bd9926ce
2015-08-13 13:16:14 -06:00
Ms2ger
ca4d4b77c1 servo: Merge #7066 - Dispatch message events for WebSocket (from Ms2ger:ws-event); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: d8b4611a79fbb8c4675d9de763280ada34e63b13
2015-08-08 03:00:50 -06:00