Commit Graph

766 Commits

Author SHA1 Message Date
snf
1fb5736c49 servo: Merge #6582 - Add Clamp and EnforceRange support for webidl arguments (from servo:clamp-enforce-range); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 36d732a60a39140806b4113d58a6b00e6b1931da
2015-07-22 11:03:05 -06:00
Josh Matthews
2af9c6d1ac servo: Merge #6694 - Reject websocket protocol requests that don't match https://tools.iet… (from jdm:websocketprotocol); r=Ms2ger
…f.org/html/rfc6455#section-4.1 .

Source-Repo: https://github.com/servo/servo
Source-Revision: 6b4f1a42f08f66519af310b7c7777d77cc3d0834
2015-07-22 09:44:34 -06:00
Manish Goregaokar
3e5a305cc2 servo: Merge #6688 - Handle type parameters in unused_must_root (from Manishearth:smarter-root-lint); r=jdm
fixes #6651

Source-Repo: https://github.com/servo/servo
Source-Revision: 8a6681ba70c4e8dc524aff7b8fbc3c71167e8745
2015-07-22 07:05:31 -06:00
Corey Farwell
40267c33e3 servo: Merge #6607 - Upgrade rust-selectors, pass ':empty' tests (from frewsxcv:bump-selectors); r=Ms2ger
https://github.com/servo/rust-selectors/pull/36

Source-Repo: https://github.com/servo/servo
Source-Revision: 488f3b65a1bce549bcda718ab745aa47528cd160
2015-07-22 05:33:06 -06:00
Corey Farwell
9af465c69e servo: Merge #6592 - Use NotImplementedError for Python base class methods (from frewsxcv:notimplementederror); r=Ms2ger
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."

Source-Repo: https://github.com/servo/servo
Source-Revision: a9f12da4f8a48daa197ff8bbc2021009fe6e2711
2015-07-21 11:28:21 -06:00
Tetsuharu OHZEKI
dffb7982d9 servo: Merge #6675 - Implement Window.trap() to trigger a breakpoint trap (from saneyuki:trap); r=Ms2ger
Fix #6673

Source-Repo: https://github.com/servo/servo
Source-Revision: 20d8c275d747d6d8e3ce6f65c3ea592e2015d2ea
2015-07-20 10:20:57 -06:00
Ms2ger
e7879c2500 servo: Merge #6671 - Renaming browser context to browsing context (from Ms2ger:browser-context); r=jdm
That's what the spec calls it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3a5e4335d7ff993a859bc5876243423fe4936441
2015-07-20 02:00:30 -06:00
Ms2ger
d30e7272ca servo: Merge #6669 - Remove leftover debug println (from Ms2ger:println); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: a432b14e689275ada48c4303609e4e8d4d5abef3
2015-07-19 23:17:46 -06:00
Patrick Walton
c301520dae servo: Merge #6593 - compositing: Make the constellation messages serializable (from pcwalton:constellation-ipc); r=jdm
Same idea as before. This depends on:

* https://github.com/servo/euclid/pull/94
* https://github.com/hyperium/hyper/pull/603

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 2f4bdc6ad631dc56b64622e3390943b59270b3ae
2015-07-18 07:43:24 -06:00
David Zbarsky
df84d280ad servo: Merge #6625 - Implement Range#cloneContents (from dzbarsky:range-clonecontents); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: a0cf597946446c427c54da363fe989ff68db4270
2015-07-18 02:42:29 -06:00
David Zbarsky
5b4b4b5e06 servo: Merge #6568 - Implement Range#insertNode (from dzbarsky:delete_range); r=jdm
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?

Source-Repo: https://github.com/servo/servo
Source-Revision: acf47a02cf38b5c82e7c78cc1f6660a7daa9969a
2015-07-16 10:56:17 -06:00
Michael Wu
910d27a61b servo: Merge #6641 - Directly append children to output node in parse_html_fragment (from michaelwu:direct-output); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 9534e8143f52ef091595c18caeb82cfc46cc20a4
2015-07-16 07:21:06 -06:00
Ms2ger
3f1e69c4f4 servo: Merge #6647 - Don't try to send a message in WebSocket#close if the sender isn't present (from Ms2ger:ws-send-closing-closed); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 7e91577d0ad6ba539ef70ff74cde100c16655d35
2015-07-16 02:27:13 -06:00
Nicholas Nethercote
b78e5a3368 servo: Merge #6572 - Wire up the JS engine's memory reporting (from nnethercote:js-reporting); r=jdm
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:
```
|      17.41 MiB -- url(file:///home/njn/moz/servo/../servo-static-suite/wikipedia/Guardians%20of%20the%20Galaxy%20(film)%20-%20Wikipedia,%20the%20free%20encyclopedia.html)
|          7.32 MiB -- js
|             3.07 MiB -- malloc-heap
|             3.00 MiB -- gc-heap
|                2.48 MiB -- used
|                0.34 MiB -- decommitted
|                0.09 MiB -- unused
|                0.09 MiB -- admin
|             1.25 MiB -- non-heap
```
Most of the changes are plumbing to get the script task communicating
with the memory profiler task.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2b0bdbe1c195f2f6dd7671981999d622c505fbc5
2015-07-15 17:37:30 -06:00
Michael Wu
1933b1fbff servo: Merge #6628 - Remove window field from domrectlist (from michaelwu:slim-domrectlist); r=jdm
Nothing uses this field AFAICT.

Source-Repo: https://github.com/servo/servo
Source-Revision: b6b95085fbb18496d8104e350f85b6617c19862e
2015-07-15 04:56:24 -06:00
Ms2ger
b96d68b531 servo: Merge #6634 - Remove parse_web_socket_url in favour of functions in rust-websocket (from Ms2ger:ws-parse); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 8fa6e0abdc7a346101ebf6f4b6983a096675bb7c
2015-07-14 23:37:57 -06:00
Martin Robinson
2b8865b89f servo: Merge #6591 - Upgrade to rustc 1.3.0-dev (fddfd089b 2015-07-10) (from servo:rustup_2015-07-10); r=larsbergstrom
Depends on https://github.com/jgraham/webdriver-rust/pull/12.

Fixes #6020.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9af229b83095f2f8cfe7b61003b85ddf781f4ea7
2015-07-14 13:40:22 -06:00
Patrick Walton
cd4263a0d6 servo: Merge #6596 - compositing: Make ScriptListener and LayoutControlChan messages go over IPC (from pcwalton:layout-control-ipc); r=jdm
r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 64751b8eef5b95de9ac3b9a382b4cb4408cb90c0
2015-07-14 08:46:07 -06:00
David Zbarsky
56cf257a29 servo: Merge #6624 - Remove some more unnecessary let bindings (from dzbarsky:23338); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 7de4ba0f826f8239d6ac540417028265e62085c5
2015-07-14 07:21:10 -06:00
Ms2ger
0271ecaa5d servo: Merge #6622 - Throw an InvalidStateError from WebSocket#send when it is called too early (from Ms2ger:send-invalid-state); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: a2903091e4ff06a1de8792bb6b09cf888c1edbfc
2015-07-14 03:34:47 -06:00
Ms2ger
30b481c8c6 servo: Merge #6621 - Move away from the repeat().take().collect() pattern (from Ms2ger:repeat); r=SimonSapin
This was the preferred pattern between the deprecation of Vec::from_elem and
the addition of the count argument to the vec![] macro.

Source-Repo: https://github.com/servo/servo
Source-Revision: 556c0e1509cb48b90f492bcf0f25d0ed14b015d1
2015-07-14 02:42:26 -06:00
Ms2ger
713c1accbb servo: Merge #6620 - Stop panicking while establishing a WebSocket connection (from Ms2ger:ws-crash); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d91a6f3834aa7fbf47148480e16d06d9e3891340
2015-07-14 02:06:17 -06:00
Corey Farwell
2e74eb930a servo: Merge #6617 - Complete FIXMEs related to UFCS (from frewsxcv:fixme-ufcs); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 6a728712f9c9cbe667c1bca2465cefef6f6f657a
2015-07-14 01:30:12 -06:00
Josh Matthews
b7da8f4965 servo: Merge #6611 - Add Origin header to WebSocket connections (from jdm:websocketorigin); r=jdm
Closes #6532.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0fb9f22ff7622940669faf4ec25e9bb9856c5def
2015-07-13 23:39:16 -06:00
David Zbarsky
55b84599a9 servo: Merge #6554 - Test namespace prefix for element equality (from dzbarsky:master); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 91ce002241c32d4d6f0c4814f93ae693672485be
2015-07-13 22:24:22 -06:00
Simon Sapin
d45beda470 servo: Merge #6614 - Add a -Z replace-surrogates command-line option (from servo:replace-surrogates); r=Ms2ger
See #6564.

r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: db90d484edd3a3c1b44030a76d8d011e2ca048fc
2015-07-13 21:49:04 -06:00
Ms2ger
68064be15d servo: Merge #6610 - Replace WebSocketTask::Open by ConnectionEstablished (from Ms2ger:task-readystate); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 12195a5c4ac08f1e6eeaf8888c279fea8e5be48a
2015-07-13 02:47:16 -06:00
Ms2ger
31f082ba85 servo: Merge #6609 - Return the parsed URL from WebSocket#url (from Ms2ger:ws-url); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: c2dbc4587f70a15f0acefcff214c649d009c2f76
2015-07-13 00:24:35 -06:00
Ms2ger
0dbbde6dec servo: Merge #6604 - Add debug logging to register_named_element and unregister_named_element (from Ms2ger:idmap-debug); r=jdm
I found them helpful; I imagine others might as well.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9e02ef93478c41a3fc6971611b358da6f73625d6
2015-07-11 14:27:49 -06:00
Ms2ger
2678b915b9 servo: Merge #6600 - Implement Window#top (from Ms2ger:top); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: bd3380e0b611034c3159129ad5834ae9e9db6d22
2015-07-11 04:01:33 -06:00
Ms2ger
26dfefbf24 servo: Revert "Replace surrogates in JS strings with U+FFFD instead of panicking."
This reverts commit 3f07f8e8661e7ebd451af3aef247212708083bc5.

Source-Repo: https://github.com/servo/servo
Source-Revision: 243446eff33d596b192a7190d5dfe3bb1a6e07dd
2015-07-11 09:32:32 +02:00
Simon Sapin
c7eb0cfe5f servo: Merge #6595 - Replace surrogates in JS strings with U+FFFD instead of panicking (from servo:replace-surrogates); r=pcwalton
Fix #6519.
See #6564.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 0f36eeab61b233cbcf0274e985ebd07b45d7a44f
2015-07-10 13:14:38 -06:00
David Zbarsky
acebf6c0cf servo: Merge #6561 - Implement Node#isDefaultNamespace and Node#lookupNamespaceURI (fixes #1826) (from dzbarsky:namespace); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 52e857dd7b9b083d691efab088aeba80888c61ff
2015-07-10 06:44:25 -06:00
Corey Farwell
d4f0af4e08 servo: Merge #6585 - Remove unused files in 'script/dom/bindings/' (from frewsxcv:rm-unused-codegen-files); r=jdm
Similar to https://github.com/servo/servo/pull/6581, but I didn't get
everything in that pull request

Source-Repo: https://github.com/servo/servo
Source-Revision: 314483a97f29a7e75c46a6e7ffb580bbc5f0ad9b
2015-07-09 17:51:30 -06:00
Corey Farwell
71e5369f68 servo: Merge #6580 - Remove tidy blacklist for 'script/dom/bindings/*' (from frewsxcv:lint-codegen); r=Ms2ger
Recently, I found myself reading through the Python codegen scripts that
live in 'components/script/dom/bindings/*' and noticed that there were
many tidy violations: unnecessary semicolons, weird spacing, unused
variables, lack of license headers, etc. Considering these files are now
living in our tree and mostly maintained directly by contributors of
Servo (as opposed to being from upstream), I feel these files should not
be excluded from our normal tidy process. This commit removes the
blacklist on these files and fixes all tidy violations.

I added these subdirectories to the blacklist because they appear to be
maintained upstream somewhere else:

* "components/script/dom/bindings/codegen/parser/*",
* "components/script/dom/bindings/codegen/ply/*",

Also, I added a few '# noqa' comments which tells us to ignore the
flake8 errors for that line; they are mostly for unused/undefined
variables. I chose to ignore these (instead of fixing them) to make the
work for this commit simpler for me.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2d2a340633dcc73e458a8454b78e26ba93511d37
2015-07-09 07:55:27 -06:00
Corey Farwell
66c962627d servo: Merge #6581 - Remove unused files in 'script/dom/bindings/' (from frewsxcv:rm-unused-codegen-files); r=Ms2ger
As per this conversation:

https://github.com/servo/servo/pull/6580

Source-Repo: https://github.com/servo/servo
Source-Revision: fe17067d6a30b85a0346fd1ccb2b95e2081e6962
2015-07-08 10:38:38 -06:00
Corey Farwell
7e1b1c2038 servo: Merge #6555 - Join tokens when stringifying DOMTokenList (from frewsxcv:stringify-tokenlist); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: d64f91863af6c22b3af6d5ea5ebfd671f4e83aaa
2015-07-07 08:58:35 -06:00
Ms2ger
d88815014a servo: Merge #6543 - Only make a elements activatable when they have an href attribute (from Ms2ger:a-href-activate); r=jdm
I've tested this manually, by clicking on the "baz" in code like

```js
var a = document.body.appendChild(document.createElement("a"));
a.textContent = "bar ";
a.setAttribute("href", "http://www.yahoo.com");
var b = a.appendChild(document.createElement("a"));
b.textContent = "baz";
```

but I've not found a way to write an automated test.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1618a9e73d662159ed36f35bca6ea36fa0e58d90
2015-07-06 23:17:05 -06:00
Glenn Watson
71a5cfc88b servo: Merge #6566 - Add servo Image type. Remove rust-png dependency from script, gfx, layout (from glennw:image-deps); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 3a3ac2281b2d137ba620194e037ec671b746530c
2015-07-06 13:45:04 -06:00
Kevin Ball
8374151732 servo: Merge #6559 - Implement Node.baseURI (from kball:IS1824-implement-Node.baseURI); r=Ms2ger
Addresses Issue #1824.  Implements Node.baseURI based on https://www.w3.org/Bugs/Public/show_bug.cgi?id=20976#c32

Source-Repo: https://github.com/servo/servo
Source-Revision: 1e1604784675bf378cf0feea48bd22a668285f84
2015-07-06 11:04:45 -06:00
ecoal95
2ba7c1afed servo: Merge #6380 - Refactor WebGL implementation to move logic inside the DOM interfaces (from emilio:webgl-refactoring); r=jdm
This improves the encapsulation and consistency in our WebGL
implementation.

Also allows to implement new methods such as `getShaderSource()`.

It will also allow us to use `delete()` in the destructors of them (note
that we will probably want to keep track of them from the context before).

Some concerns:

**Trait method repetition**:
I'm aware that the traits `WebGL{Buffer,Renderbuffer,Framebuffer,Texture}Helpers` are basically the same, but `delete()` and `id()` methods are everywhere. I've thought something like:

```rust
pub trait WebGLIdentifiable {
    type WebGLId; // id is sometimes i32 (see WebGLUniformLocation)
    fn id(&self) -> Self::WebGLId;
}

pub trait WebGLBindable {
    fn bind(&self);
}

pub trait WebGLDeletable {
    fn delete(&self);
}
```

But I'd want to know your opinion first.

**`renderer` repetition**:
Thought of moving the field: `renderer: Sender<CanvasMsg>` to `WebGLObject`, but I think it makes it way more complicated to read, and also a bit unnecessary, at least IMO (`WebGLObject` will never interact with the field directly). It would also mean that all `WebGLObject`s should have one, which is true at this moment, but maybe not with WebGL 2, for example.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0f8095b950dd144497919cfea65a1f154ed3ae9a
2015-07-06 09:12:59 -06:00
Tim Taubert
6137025816 servo: Merge #6505 - Implement crypto.getRandomValues() (from ttaubert:issue/4666-crypto-getRandomValues); r=Ms2ger
Didn't touch mozjs or rust-mozjs because implementing that in the code generator didn't seem too easy. I'm using the same workaround that the TextDecoder does.

Using the OsRng should be the right choice here? As the OS keeps state for us we wouldn't need to have a global rng instance to keep around.

Fixes #4666.

Source-Repo: https://github.com/servo/servo
Source-Revision: c0222628264423a67bf98775be83dcf2f85211ab
2015-07-05 22:16:19 -06:00
Michael Wu
77b8adfde8 servo: Merge #6546 - Remove LayoutChan from LayoutDataWrapper (from michaelwu:slim-layoutdatawrapper); r=Ms2ger
Saves 32 bytes in Node.

Source-Repo: https://github.com/servo/servo
Source-Revision: cc73aad447f0455606a5a6005d31aa55334668a8
2015-07-05 21:39:12 -06:00
Corey Farwell
ca865f8703 servo: Merge #6556 - Utilize iterators for AttrValue::from_serialized_tokenlist (from frewsxcv:AttrValue-from_serialized_tokenlist); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 0fb6604cb37da0ca0f4852328def21100a38fd63
2015-07-04 21:08:11 -06:00
David Zbarsky
78fc6ca64f servo: Merge #6552 - Remove some redundant let bindings (from dzbarsky:master); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 236250c3fc7313346e490ce249083bb94d0dad74
2015-07-04 07:34:29 -06:00
Ms2ger
a0ce238da6 servo: Merge #6549 - Remove *Cast::from_actual (from Ms2ger:from_actual); r=nox
Since JSRef was removed, from_actual duplicates from_ref.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0298c92670bee90c06f98fac2e8469d1238d1bd4
2015-07-03 22:56:17 -06:00
Simon Sapin
7e8f5555b3 servo: Merge #6548 - Upgrade to rustc 1.3.0-dev (f3b97a74a 2015-07-03) (from servo:rustup_2015-07-03); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: f5f64dab749d0851ef82be3cdc7fb2bd1cb09956
2015-07-03 21:47:02 -06:00
David Zbarsky
babfeaa56c servo: Merge #6545 - Factor out common forward/back navigation code in HTMLIFrameElementMethods (from dzbarsky:master); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 02d84a13470271d18198af118d4f25ee45fe6917
2015-07-03 18:49:37 -06:00
Ms2ger
aebb5e2e25 servo: Merge #6538 - Some cleanup in HTMLAnchorElement (from Ms2ger:a-cleanup); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 73b52c095a448116c0f9db23894a0932d0d53484
2015-07-02 23:32:59 -06:00
Brandon Mintern
c936759b4f servo: Merge #6510 - Update Worker location for redirects (from mintern:fix-worker-redirect-location); r=Ms2ger
Fixes #4146

Source-Repo: https://github.com/servo/servo
Source-Revision: be9d60664d26e979489fe891b7b11468bb89ba2a
2015-07-02 03:28:29 -06:00