Граф коммитов

11270 Коммитов

Автор SHA1 Сообщение Дата
Igor Matuszewski d3e1a09b4c servo: Merge #20399 - Sanitize Heap::handle(_mut) functions (from Xanewok:remove-heap-handle-mut); r=jdm
<!-- Please describe your changes on the following line: -->
Complementary to https://github.com/servo/rust-mozjs/pull/404.

Removing `Heap::handle_mut` didn't warrant any changes on Servo side, and so the changes here are only to fix compilation with `Heap::handle` being now marked as `unsafe`.

The main idea is that we can't hand out handles to heap values themselves, since they're not guaranteed to be rooted, but it's safe to do when we are - hence why the safe impl on `RootedTraceableBox<Heap<T>>` and why it's safe to use inside structs that hold a Heap and are `#[must_root]`.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because the compiler forces correctness here.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 18ef5874dd3e11551e2f9503746540847eeb974c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 51f863c54f4fa1d159691fea3ae5b9ff76e004b9
2018-03-23 13:06:01 -04:00
Anthony Ramine 4a6c64ca20 servo: Merge #20397 - Implement OES_element_index_uint (fixes #20384) (from servo:webgl); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 4a6453ac9ad956502ec6d39093b83820d94a409e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4a9cc25b7e4a711d31a658e59ed4b37dc1b4f912
2018-03-23 10:14:04 -04:00
OJ Kwon 2873691765 servo: Merge #20320 - feat(capture_webrender): write webrender revision into text (from kwonoj:feat-wr-revision); r=jdm
<!-- Please describe your changes on the following line: -->
Relates to https://github.com/servo/servo/pull/20315#issuecomment-373819735.

This PR try to generate `wr.txt` when trigger webrender capture. By reading gecko's implementation at [here](3b8e63c66a/gfx/doc/README.webrender (L53)), it seems gecko's build script generates txt file for containing revision of webrender and read it each time trigger capturing.

In this PR tries to similar in cruxwise with small differences:
- `cargo build` reads `cargo.lock`, export it into `${OUT_DIR}/`, included via macro in build time.
- when capturing triggered, those revision will be written as `wr.txt`.

Probably point of discussion & need to be updated in PR if necessary:
~- Is it acceptable `mach` generates module file on build bootstrapping? Should there be other recommendation?~ Now cargo build takes care of generation.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #20295 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

- This PR manually verified on local mac OS machine.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 91398cf559ddeec8974e04b0a92e464669436177

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9751ea51ab25079d0f1ac3d0f228bb97b0a61568
2018-03-23 02:30:49 -04:00
Glenn Watson bafddcc5f9 servo: Merge #20395 - Update WR (accelerated webgl fix on mac, line decoration optimizations) (from glennw:update-wr-webgl); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 0dbacc76e7f801bd4815f488047f6e20f6aeedd8

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : fd41e6050a811aa44a98770a4c80d8a458950eed
2018-03-22 19:11:10 -04:00
Josh Matthews be94e97b92 servo: Merge #20390 - Don't OOM when laying out basic web pages on Android (from jdm:android-layout-workaround); r=emilio
This is a workaround for the symptom described in https://github.com/servo/servo/issues/20149#issuecomment-375366991 which looks like either a standard library or compiler bug. My release android build can load all sorts of web pages as expected with this change.

Source-Repo: https://github.com/servo/servo
Source-Revision: eaf59ca9b9dc3bf31c95555b8d43a5d476bfd7f4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5dab5a2d32d23a490ecebebfa0708b82fc51ce10
2018-03-22 18:20:38 -04:00
Christian Poveda 134842bf17 servo: Merge #20389 - getRandomValues uses ArrayBufferView now (from christianpoveda:issue_20350); r=jdm
<!-- Please describe your changes on the following line: -->

- Changed the `Crypto.webidl` file to allow getRandomValues to recieve an ArrayBufferView as input
- Removed unnecesary checks from `crypto.rs` and did the necessary changes to match the `webidl` changes.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #20350 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: e5b606f6a41058bdcc5745ab0da075d0e6ed52fb

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : cdc7f6e7693960b99ee9bc172f4c73216121da77
2018-03-22 17:28:54 -04:00
Nakul Jindal 8c60b50886 servo: Merge #20132 - Profiler for blocked IpcReceiver::recv() (from nakul02:issue_19223); r=jdm
<!-- Please describe your changes on the following line: -->

Implements feature #19223

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #19223 (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

WIP.
@jdm - this is the new profiler : "Blocked at IPC Receive"
Should I dig through all the calls to `ipc::channel` and replace them with this profiled `IpcReceiver`?

![screenshot from 2018-02-27 01-35-37](https://user-images.githubusercontent.com/5394361/36721061-b46edea4-1b5e-11e8-91d6-7faba742f237.png)

Source-Repo: https://github.com/servo/servo
Source-Revision: f467bdce1ba95e950b01f59ba284873137bca5d5

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d45d857c4bb6b48093a377f0d41a51c4ae89de9f
2018-03-22 16:38:32 -04:00
Anthony Ramine a565ce6df3 servo: Merge #20375 - Fall down the WebGL rabbit hole and fix some bugs there (from servo:webgl); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: c20d0c00d711cda61ad1b35f15f2fb563c042c5e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6e41661fca27ace97b3e6eaea9de5aeb7586bc09
2018-03-22 15:32:45 -04:00
Emilio Cobos Álvarez 30afff82d1 servo: Merge #20386 - style: Rename StyleContext to ComputedStyle (from emilio:computed-style-rename); r=jwatt
Bug: 1447483
Reviewed-by: jwatt
MozReview-Commit-ID: KATZ6DkmpVY
Source-Repo: https://github.com/servo/servo
Source-Revision: 563f0ec8245d6ff4d7d200c30655f90f5bdfed64

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 686981ffd66ff5827b3bd09fb846cf8abbb6e403
2018-03-22 13:48:24 -04:00
Igor Gutorov 76247faf8a servo: Merge #20317 - Implement WebGL getFrameBufferAttachmentParameter API (from gootorov:webgl-getFramebufferAttachmentParameter); r=jdm
<!-- Please describe your changes on the following line: -->
Implementation of `getFramebufferAttachmentParameter` as in WebGL1 specification.

Part of https://github.com/servo/servo/issues/10209.

r? emilio or jdm.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 4aaac61a87f4e45e46d0591be73ce108e562c33f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e73752c3c2074239d5db1a9fec8ea4d64eb572ef
2018-03-22 12:28:30 -04:00
Paul Rouget a0dd2872af servo: Merge #20228 - Ports refactoring (from paulrouget:ports_refactor); r=jdm
Depends on https://github.com/servo/servo/pull/20071 and https://github.com/servo/servo/pull/19895

This PR does 3 things:
1) merge all the embedder coordinates callbacks into one
2) hand the embedder messages directly to the embedder
3) split the embedder code in 2 files: window.rs and browser.rs

This is in preparation for tabs support in `ports/`. We want to separate the windowing logic (glutin stuff) and the browsing logic (tabs management, browsers state, etc). It's also easier to bypass the callbacks and directly handle events.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 2de89377db63ec03ae3b1256486c4c32b33f5fce

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2c3a783c1ade39c9580be7452598e1c97d2a990f
2018-03-22 08:10:45 -04:00
OJ Kwon 33d6f805b4 servo: Merge #20327 - fix(keyevent): do not emit default ignorable codepoint (from kwonoj:fix-ignore); r=paulrouget
<!-- Please describe your changes on the following line: -->
This PR intends to update `KeyEvent` emit behavior around #18130. Issue https://github.com/servo/servo/issues/17146#issue-233361568 briefly explains what's happening in servo currently - there are KeyboardInput event emitted for separated key (modifier, and `V` in case of paste) and there are also `ReceivedCharacter` event corresponds to `\u{0016}`.

`0x0016` is unicode representation of `Synchronous Idle` (https://en.wikipedia.org/wiki/Synchronous_Idle), belong under category of `Default Ignorable` charater in unicode range doesn't have visual representation (http://www.unicode.org/L2/L2002/02368-default-ignorable.pdf). Currently servo forwards all of emitted event from `winit` including this, eventually leads into double execution of control event.

In this change try to omit default ignorable charater , if given char received is within range of ignorable do not dispatch `KeyEvent`. Once those are omitted, current event handling logic already takes care of key event with correct modifier state so duplicated event handling won't occur.

For implementation perspective, `std::char` in Rust doesn't seem to support `isIdentifierIgnorable` like other platform does (i.e: https://msdn.microsoft.com/en-us/library/aa285330(v=vs.60).aspx / https://docs.oracle.com/javase/7/docs/api/java/lang/Character.html) - so does quick, naïve range comparison check based on unicode range specified in spec, similar to halfbuzz and other does. (https://github.com/harfbuzz/harfbuzz/blob/master/src/hb-unicode-private.hh#L134)

Lastly, this is indeed behavior of `winit` to emit all characters by default. *Why not try to make upstream changes instead?* While I've been reading through issues in `winit`, issue like https://github.com/tomaka/winit/issues/350 trying to emit ignorable character by its intention (delete key `ReceivedCharacter` is also under category of default ignorable) and let each consumer application handles it as needed. I assume it'll cause breaking changes in winit's design if it intends to omit those characters, instead tried to make application-level changes.

Couple of consideration for review

- Is it desired changes to not emit `KeyEvent` for default ignorable chars? Do we rather want mapping / or restoring back to original char as @paulrouget mentioned in https://github.com/servo/servo/issues/17146#issue-233361568?
- Any better, recommended approach to detect unicode char range?
- Maybe try to make upstream changes to `winit` still, like having configuratble way to opt-in(out) those char event?

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #18130 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____
- This PR has been locally tested on Windows, Linux machines.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 28c92db26837531e75327cff7727ed8bc1c70b48

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2dcf517220e225cf478e056432d0b84c0b2b5d9b
2018-03-22 02:00:09 -04:00
OJ Kwon d024ce52da servo: Merge #20368 - refactor(counter_style): parse int via parse_non_negative (from kwonoj:refactor-counter-style); r=emilio
<!-- Please describe your changes on the following line: -->
Relates to #20332.

This PR intends to refactor `counter_style` to use `parse_non_negative` where applicable, mostly which uses `expect_integer` currently. Change still grabs value from parsed result then assign it into each struct as needed and does not change definition of struct (i.e `AdditiveTuple`) itself.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #20332 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____
- This PR has locally built & ran unit test on macOS.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 4e26212d5e661b21392f59bdbe5518d047fe0531

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e81bf1391e9de9ea582256e1c87d2570eac63f4e
2018-03-21 18:18:55 -04:00
Bastien Orivel 3fffb92cb4 servo: Merge #20378 - Bump parking_lot to 0.5 (from Eijebong:parking_lot); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1c2bed5a6909268c85d61ec73b2ab63602294eb1

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 00ad02dad5a420567cd74fc2190ede9e1b056a75
2018-03-21 14:16:57 -04:00
Christian Poveda cca0b51e08 servo: Merge #20370 - Blobs support typed arrays now (from christianpoveda:issue_20348); r=jdm
<!-- Please describe your changes on the following line: -->
Blobs support typed arrays now, the relevant test were modified

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #20348 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: de04783fd9593cc21ce1b4709cf572f4450880ad

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 21bcfa3b6fc086c1d609064fc17e3a7681962f5f
2018-03-21 11:10:27 -04:00
Bastien Orivel be202c7f93 servo: Merge #20376 - Remove our dependency on the gcc crate (from Eijebong:cc); r=asajeffrey
Source-Repo: https://github.com/servo/servo
Source-Revision: 797fb553bbfdece69538644da89bb0c937ece997

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 89af3b000403cc333749f7775cde9f373054b77a
2018-03-21 10:20:58 -04:00
Bastien Orivel 79a5c8dccb servo: Merge #20371 - Bump ipc-channel and bincode (from Eijebong:ipc-channel); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 02c758a2266f51a95dc2ef647462e13fad4bb6a8

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 39f3989fe20e33fd91c5ee6fafb37fc77fbaee83
2018-03-21 09:00:16 -04:00
Bastien Orivel 6e39876ffc servo: Merge #20298 - Bump servo-websocket to 0.21 (from Eijebong:websocket); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 5b575e36479bd1edc46a036c780dccf274dd430c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 050079f9cdf192e89f2277dd6cd2845caf19ef99
2018-03-21 06:41:31 -04:00
Paul Rouget ec298ee6f2 servo: Merge #20374 - Fix mouse click (from paulrouget:hittest); r=glennw
<!-- Please describe your changes on the following line: -->

PR #20071 broke mouse click on hidpi screens.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 1594d0b54cc3f8488c244632e1cce2a62a75ed42

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f90206931affb62e03b55b376010e8a5988e7c82
2018-03-21 05:46:09 -04:00
Igor Gutorov 22ab2f91d1 servo: Merge #20369 - Move WebGL validation (from gootorov:move-validation); r=emilio
This moves validation from `canvas/webgl_thread` to `dom/webglrenderingcontext` for consistency and speed and simplifies it where it is possible.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because: refactoring

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: f92f0809f89593d4b70eb0f507f6ca4409c9ed91

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5ee722622f18328841fadd276e1590ae9665b3cc
2018-03-20 19:58:58 -04:00
CYBAI fdb266b4d2 servo: Merge #20367 - Ignore type in document.open (from CYBAI:ignore-type-in-document-open); r=jdm
Spec: https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-document-open

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #20279
- [x] There are tests for these changes; the tests in `dynamic-markup-insertion/opening-the-input-stream/type-argument.window.js` should pass

Source-Repo: https://github.com/servo/servo
Source-Revision: 730bd5ec807fec0ed65bbf85afebe3bbca64b32c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 791725d0df5504ff244cdffe3db63a75111ca3d0
2018-03-20 12:32:00 -04:00
Matt 9fef629fe1 servo: Merge #20328 - Re-expose webrender debugger feature in components/servo (from Moggers:enable-debugger); r=jdm
<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
```
Checking files for tidiness...
./Cargo.lock:1: duplicate versions for package `base64`
	The following packages depend on version 0.3.1 from 'crates.io':
		webrender
	The following packages depend on version 0.6.0 from 'crates.io':
		hyper
		net
		script
		webdriver_server
./Cargo.lock:1: duplicate versions for package `bytes`
	The following packages depend on version 0.3.0 from 'crates.io':
		ws
	The following packages depend on version 0.4.6 from 'crates.io':
		ws
./Cargo.lock:1: duplicate versions for package `ws`
	The following packages depend on version 0.6.0 from 'crates.io':
		debugger
	The following packages depend on version 0.7.3 from 'crates.io':
		webrender
./Cargo.lock:1: duplicate versions for package `image`
	The following packages depend on version 0.17.0 from 'crates.io':
		webrender
	The following packages depend on version 0.18.0 from 'crates.io':
		compositing
		net_traits
		script
		webdriver_server
```

What should I do about this?

- [x] These changes fix #20324  (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because: Not sure actually, do I need to write integration tests to make sure it builds with the feature enabled?

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: e9fdcdc78584d0e7928ab132f4e2b2fd6fa95547

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5b44e7e582a55e8056095277f60a7598d58b8471
2018-03-19 17:46:42 -04:00
Jonathan Watt 7a9e9059be servo: Merge #20351 - Add Servo_Property_IsShorthand to geckolib/glue.rs (from jwatt:master); r=emilio
<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 42305e3c366fb06dcf21d18f3f111eb8ee139701

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 46b036aaa53fb88efce06e2ed29d1036d35967ec
2018-03-19 12:53:48 -04:00
Josh Matthews ed0d068d8a servo: Merge #20341 - Update WR revision (from servo:jdm-patch-10); r=jdm
This updates some WR debugger dependencies that are trailing behind servo. Needed for #20328.

Source-Repo: https://github.com/servo/servo
Source-Revision: c3c9f691100158b87895acdfdd30e7611e280883

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 554e476dcb9df6e0c5f75dbc3cbe1367cbf15fa0
2018-03-19 11:51:21 -04:00
Vugar Mammadli 2c9246c4eb servo: Merge #20259 - Support memory report logs with interleaved non-report output (from vugarmammadli:master); r=jdm
<!-- Please describe your changes on the following line: -->
`line 30-31` in `servo/etc/memory_reports_over_time.py`  should just ignore any line that doesn't begin with `|`.

The new if statement added such as `if line.startswith('|'):` then continue to append. So, only lines begin with `|` will be appended.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #20257(github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because of __

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: eb09d8c6e2e0d84f5a43267a37614b27f3451311

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5d14215b57fe1de78baaa16ca2a480ad7322ca56
2018-03-19 10:21:21 -04:00
Emilio Cobos Álvarez 2d5a8c22b4 servo: Merge #20340 - style: Better Shadow DOM assertions (from emilio:shadow-dom-assert); r=xidorn
Bug: 1445682
Reviewed-by: xidorn
Differential Revision: https://phabricator.services.mozilla.com/D748

Source-Repo: https://github.com/servo/servo
Source-Revision: 794c0d445a6c5eb5977b9d2cd4ba3b30ce18eefa

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b74223d4babc191bbdc77f7bd7136402aced231e
2018-03-19 09:34:00 -04:00
Emilio Cobos Álvarez f5497ba9ab servo: Merge #20338 - Add a pref to allow parsing @-moz-document url-prefix in content (from emilio:moz-document-haxx); r=xidorn
Bug: 1446470
Reviewed-by: xidorn
Source-Repo: https://github.com/servo/servo
Source-Revision: 28348ba6b6562892eaccdc2cb2dfcd6322b8e4da

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e3f2182ecd8ecfe4362c0e75808bc7c6156ead4c
2018-03-19 07:18:02 -04:00
Emilio Cobos Álvarez ef7d849ac7 servo: Merge #20339 - style: Remove unsound Atom From implementations (from emilio:atom-from-dead-beef); r=nox
Fixes #20158

Source-Repo: https://github.com/servo/servo
Source-Revision: b47224dbcce2974e6f572b284cba1e2f5393b95d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 68a732c7b4fa6564e34427438a019385391585b9
2018-03-19 06:11:14 -04:00
Nupur Baghel b6bc5523fc servo: Merge #20304 - CounterBound::Integer made to store an Integer (from nupurbaghel:counterbound); r=emilio
<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #20197

<!-- Either: -->
- [x] These changes do not require tests because they involve datatype change of already existing enum CounterBound

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 6d06d1bbcc99af5195c538b339bf4e92beaa412f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7a8a001f7cc1dca6043148e6fc99445e005f3c6e
2018-03-19 04:25:56 -04:00
Glenn Watson 720853bca4 servo: Merge #20334 - Update WR (radial gradient optimizations) (from glennw:update-wr-rad); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 52205e8483da470bcf1960bf6adb1f98c7fc452d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : efe0648a4d48feb14c8249888788d9b8a0857f43
2018-03-18 17:44:42 -04:00
Igor Matuszewski fdb9d4fb35 servo: Merge #20333 - Use upstream mozjs 0.3 (from Xanewok:use-mozjs-0.3); r=jdm
Pulls published mozjs 0.3 instead of my forked version (https://github.com/servo/servo/pull/20314).

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 2d0f8712a6a5d1435686270756048503e837dd20

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 846208912abff4a71bafbbecb8e620caab4eb084
2018-03-18 16:47:44 -04:00
Igor Matuszewski 8d9de62f85 servo: Merge #20314 - Don't use unsafe Heap::new constructor (from Xanewok:remove-heap-constructor); r=jdm
<!-- Please describe your changes on the following line: -->
Pulls https://github.com/servo/rust-mozjs/pull/398 and aims to close https://github.com/servo/rust-mozjs/issues/343.

We can't convert from `JSVal` to `Heap<JSVal>` safely (due to GC barriers we can't move Heap value after changing its underlying value to something meaningful, e.g. non-null or non-undefined), so I decided to also wrap the Heap values in a Box (and in dictionaries in RootedTraceableBox, see https://github.com/servo/servo/pull/20265#issuecomment-372838379 and the issue for more details) in dictionaries.

Since we allocate more to be safe, I think it'd be good to also do some sort of a JS perf run, if there is any to see if there's any significant overhead.

r? @jdm

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because checking for not moving Heap after setting a value would require encoding a lot more info in type system (Heap) and I'm not sure how to do that and end up with an ergonomic and consistent API

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 23b6f569d09f9b10a70ca1b5c8a48f7da45853e2

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c609cd593bbb75cbbe584687a7caf814de3059fc
2018-03-18 15:22:23 -04:00
UK992 010548064a servo: Merge #20316 - Windows: Add icon to servo.exe (from UK992:win32-icon); r=jdm
Based on https://github.com/servo/servo/pull/11969

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

Source-Repo: https://github.com/servo/servo
Source-Revision: 840c44e2a8db05c11d5c87a7ce644001732b0cfa

--HG--
rename : servo/components/servo/servo.exe.manifest => servo/ports/servo/platform/windows/servo.exe.manifest
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 595aeb4fc84adb07427d24b960e92b8bee6b7507
2018-03-18 14:31:35 -04:00
Josh Matthews 2cfcd65214 servo: Merge #20321 - Remove update-manifest argument that is no longer valid (from servo:jdm-patch-6); r=emilio
This nightly sync job is now broken since #20312 because it doesn't need to select a particular binary. We can get rid of the unnecessary argument to fix it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2f8fa32e916cdb93c2ba56b246e39519bf49f1ca

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 8acc736b721041ed69c1171bf063d3e5fe7be286
2018-03-16 21:51:35 -04:00
Paul Rouget 0b85384c36 servo: Merge #20071 - Use typed coordinates more (from paulrouget:typedsize); r=glennw
Requires https://github.com/servo/servo/pull/19895

We use Size2D and Point2D across compositing, constellation and script, loosing the type of pixels we use (DevicePixel, DeviceIndepententPixel or CSSPixel) along the way, which might lead to bugs like `window.outerHeight` not taking into account the page zoom (using DeviceIndepententPixel instead of CSSPixel).

This should make the situation a bit better.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because we can't zoom in a test

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: fc90e613d8851b663e3304d713b2ca08aa397bf4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c1b61b486feff98c01c3ffed639b84bae093bdae
2018-03-16 17:18:24 -04:00
Josh Matthews 52ebf2b3ea servo: Merge #20312 - Avoid using WPT test runner to update the test manifest (from jdm:fix-manifest-update); r=asajeffrey
Our old code to update the test manifest relied on running no actual tests. This is now broken by d0a30f8821 (diff-c9390ffce43b4924882faf365b1bf136), so these changes duplicate Firefox's implementation to reduce risk of future breakage. This will allow automated WPT syncing to resume.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 74d6a91ee55c3bc803cec8c57f9b56e677bd8b97

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9d14e17cfc059b7d241482cc5d81b9b0f99e898e
2018-03-16 16:16:23 -04:00
OJ Kwon 7ba09e30ed servo: Merge #20315 - feat(window): bind hotkey to trigger capture event (from kwonoj:feat-webrender-capture); r=jdm
<!-- Please describe your changes on the following line: -->
Relates to #20295.

This PR intends to expose additional hotkey to window to allow capture webrender. Internally it adds one new `WindowEvent::CaptureWebRender` for those purpose. I took some liberty to make some decisions around which need to be reviewed & updated in PR.

- `Ctrl-shift-3` is binded to hotkey to follow described in Gecko's behavior. Is it good to go?
- Maybe do not need to create new event `CaptureWebRender` but reuse `ToggleWebRenderDebug`, having additional `WebRenderDebugOption` values?
: This sounds more right path for me, but `capture` isn't really `toggle` behavior to include capture into it.
- Capturing will create `capture_webrender` in cwd, creates new folder inside each time new capture stored
: Maybe it'd better to expose new cmdline args allow overrides, or some better way else. I took the simple approach to generate path without asking for it.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #20295 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____
- This change has manually verified on local machines (mac, windows, linux).

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 1ae5715309ab5acb9ac401fd99f34a0667b2ee53

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7325d6d0b12a105da15a7e4fdd803535152bd68a
2018-03-16 13:49:17 -04:00
Jeremy Lempereur af263ebd79 servo: Merge #20122 - Windows support for the --nightly | -n flag to mach run commands (from o0Ignition0o:mach_run_nightly_windows); r=jdm
<!-- Please describe your changes on the following line: -->
Add windows support to the -n flag.
---
Followup to #19947 , this PR will add windows support to the -n flag.
 This is part of step two for #19505

<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

The feature does not work just yet, I'm able to download and extract the archive, but it's not running the executable yet.
@tigercosmos might be a good reviewer on this one :)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they're part of a ./mach command.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: f5c1f5117e4de30a02d2614c23a52fc863231d51

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ed544a18eadec39e359ed0c8d5cb19c8ec131385
2018-03-16 12:56:02 -04:00
Fabrice Desré 68f45d973d servo: Merge #20310 - Update the MULTIPROCESS static when changing default options (from fabricedesre:opt-multiprocess); r=jdm
<!-- Please describe your changes on the following line: -->
When the options are set not from the command line but by calling `set_defaults()` which is common for embedders, the MULTIPROCESS static is not set, and so the setting is ignored. This patch fixes that.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because we have no tests around that.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: b93f153ed59fb993af306bd8c540887196021f87

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6c85e2e3c9e0ef460304606c14edc356bdd721af
2018-03-15 23:23:54 -04:00
Glenn Watson 3c3fe611d7 servo: Merge #20311 - Update WR (local clip API change, texture cache optimizations) (from glennw:update-wr-pic); r=mbrubeck
Update WR (local clip API change, texture cache optimizations).

Source-Repo: https://github.com/servo/servo
Source-Revision: 57b12aaaaf61ad02006014465ed2c93c7ecb1e77

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 50170d6496ac9fc002e86f33c9f0173465ad190a
2018-03-15 22:19:31 -04:00
Josh Matthews 2be498a56a servo: Merge #20309 - Update mozangle to 0.1.6 (from jdm:angle-update); r=asajeffrey
This will get rid of the frequent intermittent build failure in mozangle. Fixes #20281.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7e74a10274657c34802dd1fa9122583ec71a4bce

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5b84672e954ec7abaaf964fbbec1742ab33c0149
2018-03-15 18:38:19 -04:00
OJ Kwon 9b3a782c85 servo: Merge #20303 - refactor(window): reference winit where applicable (from kwonoj:refactor-winit); r=SimonSapin
<!-- Please describe your changes on the following line: -->
This is nearly first changes to rustlang code and I suspect I could make possible mistakes lot, please point me anything if need to be updated. 🙏

This PR intends to update codebase per #20299 , mostly followed suggestion around https://github.com/servo/servo/issues/20299#issuecomment-373171416 to update reference to use `winit` where applicable. Confirmed local build / check works correctly for updated references.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #20299 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 5f408422941b87e936880074f99a69fbdeebd131

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e3ed7e0ceaa3d36a1dd07b14b04af761e8e8d90d
2018-03-15 15:45:48 -04:00
Josh Matthews 10133961e8 servo: Merge #20260 - Run automated test for memory report charter (from servo:jdm-patch-11); r=asajeffrey
No point in having tests if they don't get run.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1c7424d9206605e8a3dbf851b8d6900dfa4906b9

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4d9aa12921f6fb5ed0e9f39c2ae8f1bca50b701d
2018-03-15 11:07:40 -04:00
Anthony Ramine 64686b0cbf servo: Merge #20305 - Don't access the reflector when dropping a Promise (fixes #18651) (from servo:OMAE-WA-MOU-SHINDEIRU); r=jdm
The reflector may be dead already.

Source-Repo: https://github.com/servo/servo
Source-Revision: 46a8e7184b949d3c03d3a66aa3a9d6fdf7156254

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d8aa00ee41ad538aa1de0d556096c8b1d1238754
2018-03-15 10:17:43 -04:00
Xidorn Quan 7365796c4a servo: Merge #20302 - Include some traversal statistics in style tracing marker (from upsuper:traversal-stats); r=bholley
This is the Servo side changes of [bug 1444296](https://bugzilla.mozilla.org/show_bug.cgi?id=1444296).

Source-Repo: https://github.com/servo/servo
Source-Revision: 8e6cfbca47a259f20ba1c0d09e599169372d4930

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6ff5ab1fc0e8bf5c182e1bcbd65433b93ed069b1
2018-03-14 21:01:08 -04:00
Igor Gutorov 40faacf899 servo: Merge #20300 - Update gleam to 0.4.24 (from gootorov:update-gleam); r=mbrubeck
<!-- Please describe your changes on the following line: -->
Needed to expose `get_framebuffer_attachment_parameter_iv()`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 863f8477ed4766ffcff3b8fcf16c0d90bd179eb4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ca198e4124e606fb6196c0c2377fd3dd3e485457
2018-03-14 19:26:13 -04:00
Igor Matuszewski 9d70c36480 servo: Merge #20267 - Support JS typed arrays as arguments and in WebIDL unions (from Xanewok:typed-arrays-stack-heap-variants); r=Xanewok
<!-- Please describe your changes on the following line: -->
Supersedes #20205.
This brings support to receiving typed arrays as function arguments (those are stack-rooted with CustomAutoRooter) and also being a member of a union (which is basically heap-rooted? similarly to other webidl unions).

This is based on my other PR #20265 (which means it has to pull an external rust-mozjs branch and contains some also slightly unrelated changes here) since it shares `RootedTraceableBox::from_box` here and some other additional changes at rust-mozjs, but it can be easily separated if needed.

I tried adding support to nullable typed arrays but couldn't work around an issue of codegen always sticking a "OrNull" at the end of my type (presumably because of [this](https://github.com/servo/servo/blob/master/components/script/dom/bindings/codegen/parser/WebIDL.py#L2241)?). How would I go about avoiding the suffix with nullable arguments?

If we were to add also support for nullable typed arrays then I think we wouldn't be blocked anymore on this in WebGL 1.0.

r? @jdm

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: f7ee1befc51276f82375c0e366118172682c91b0

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 89ff5570ac8571a72e8db6fc7475db1f6a9c9445
2018-03-14 15:43:18 -04:00
Emilio Cobos Álvarez 4de3433bd6 servo: Merge #20224 - Fix counter() and counters() serialization (from emilio:counter-serialization); r=nox
See https://github.com/w3c/csswg-drafts/issues/670 and https://github.com/w3c/web-platform-tests/pull/9862.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7b326529db64ac27f0b956880b3b63dd12cd0c1a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f14cab2e020a7dfcb494721a5f04426cc54637a3
2018-03-14 13:26:00 -04:00
Igor Matuszewski df394dbc4b servo: Merge #20265 - Fix JS object conversion in unions (from Xanewok:fix-js-objects-in-unions); r=jdm
<!-- Please describe your changes on the following line: -->
Requires safe `Heap::boxed` constructor from https://github.com/servo/rust-mozjs/pull/395 (more info on it is in the PR).

Since unions currently assume that their respective members root themselves and can be stored on heap, I modified the union member object conversion branch to convert to a `RootedTraceableBox<Heap<*mut JSObject>>` (which is the currently generated type for objects in said unions).

I did it only for Unions and not dictionaries, since some dictionaries had bare `*mut JSObject` members - is this a mistake and something that needs further fixing?

Does this need a test, e.g. passing a union with object to a function that returns said object, and comparing the results for equality?

r? @jdm

Generated code with this patch (for `StringOrObject`):
```rust
impl FromJSValConvertible for StringOrObject {
    type Config = ();
    unsafe fn from_jsval(cx: *mut JSContext,
                         value: HandleValue,
                         _option: ())
                         -> Result<ConversionResult<StringOrObject>, ()> {
        if value.get().is_object() {
            match StringOrObject::TryConvertToObject(cx, value) {
                Err(_) => return Err(()),
                Ok(Some(value)) => return Ok(ConversionResult::Success(StringOrObject::Object(value))),
                Ok(None) => (),
            }

        }
        // (...)
    }
}

impl StringOrObject {
    // (...)
    unsafe fn TryConvertToObject(cx: *mut JSContext, value: HandleValue) -> Result<Option<RootedTraceableBox<Heap<*mut JSObject>>>, ()> {
        Ok(Some(RootedTraceableBox::from_box(Heap::boxed(value.get().to_object()))))
    }
}
```

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #17011 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: e597cd9e1adc23ae30587ff6bffc05119ac33fb9

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b38e013f207e5abf4b18fd57055a5c9713cf85c2
2018-03-14 12:04:23 -04:00
Emilio Cobos Álvarez fb715e3c6d servo: Merge #20243 - style: add infrastructure to match the :host selector (from emilio:host-selector-on-the-way); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 148beb4ea5f8f1680e694ac48045a632da58269c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e9d1c9e4dd54d3c9d5bd1f0a2805858456981598
2018-03-14 10:38:45 -04:00