Commit graph

32262 commits

Author SHA1 Message Date
UK992
13ce5c239c Add icon to servo.exe 2018-03-17 02:11:29 +01:00
bors-servo
1ae5715309
Auto merge of #20315 - kwonoj:feat-webrender-capture, r=jdm
feat(window): bind hotkey to trigger capture event

<!-- 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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20315)
<!-- Reviewable:end -->
2018-03-16 13:49:17 -04:00
OJ Kwon
ee637dc26e
feat(window): bind hotkey to trigger capture event 2018-03-16 10:19:24 -07:00
OJ Kwon
7b0beedf3d
feat(windowevent): expose CaptureWebRender event 2018-03-16 10:19:23 -07:00
OJ Kwon
b943a711f5
build(cargo): enable webrender capture feature 2018-03-16 09:59:57 -07:00
bors-servo
f5c1f5117e
Auto merge of #20122 - o0Ignition0o:mach_run_nightly_windows, r=jdm
Windows support for the --nightly | -n flag to mach run commands.

<!-- 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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20122)
<!-- Reviewable:end -->
2018-03-16 12:56:02 -04:00
bors-servo
b93f153ed5
Auto merge of #20310 - fabricedesre:opt-multiprocess, r=jdm
Update the MULTIPROCESS static when changing default options

<!-- 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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20310)
<!-- Reviewable:end -->
2018-03-15 23:23:54 -04:00
bors-servo
57b12aaaaf
Auto merge of #20311 - glennw:update-wr-pic, r=mbrubeck
Update WR (local clip API change, texture cache optimizations).

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20311)
<!-- Reviewable:end -->
2018-03-15 22:19:31 -04:00
Glenn Watson
7bb977ca8f Update WR (local clip API change, texture cache optimizations). 2018-03-16 12:00:49 +10:00
Martin Robinson
41cc348fc5 Update to handle WebRender API changes
Items now only take a clipping rectangle instead of a LocalClip.
2018-03-16 12:00:04 +10:00
Fabrice Desré
e268a4341c Update the MULTIPROCESS static when changing default options 2018-03-15 16:23:40 -07:00
bors-servo
7e74a10274
Auto merge of #20309 - jdm:angle-update, r=asajeffrey
Update mozangle to 0.1.6.

This will get rid of the frequent intermittent build failure in mozangle. Fixes #20281.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20309)
<!-- Reviewable:end -->
2018-03-15 18:38:19 -04:00
Josh Matthews
37be2896bb Update mozangle to 0.1.6. 2018-03-15 18:17:49 -04:00
bors-servo
5f40842294
Auto merge of #20303 - kwonoj:refactor-winit, r=SimonSapin
refactor(window): reference winit where applicable

<!-- 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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20303)
<!-- Reviewable:end -->
2018-03-15 15:45:48 -04:00
bors-servo
40f833cb2a
Auto merge of #20291 - jdm:updatesyncstatus, r=asajeffrey
Update the in-tree status of WPT syncing.

This avoids an issue with performing the manual WPT upstream operation.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20291)
<!-- Reviewable:end -->
2018-03-15 14:45:34 -04:00
OJ Kwon
ecb465bd65
refactor(window): reference winit where applicable
- relates with #20299
2018-03-15 10:35:29 -07:00
bors-servo
8f1783e75f
Auto merge of #20296 - asajeffrey:wpt-mozilla-worklets-set-timeout, r=jdm
Add timeout pref to the mozilla/worklets wpt tests

<!-- 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 #20292
- [X] These changes do not require tests because this is test infrastructure

<!-- 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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20296)
<!-- Reviewable:end -->
2018-03-15 13:29:27 -04:00
Alan Jeffrey
e3e96c6d2f Added .ini for test_paint_worklet_timeout.html 2018-03-15 10:45:15 -05:00
bors-servo
1c7424d920
Auto merge of #20260 - servo:jdm-patch-11, r=asajeffrey
Run automated test for memory report charter.

No point in having tests if they don't get run.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20260)
<!-- Reviewable:end -->
2018-03-15 11:07:40 -04:00
bors-servo
46a8e7184b
Auto merge of #20305 - servo:OMAE-WA-MOU-SHINDEIRU, r=jdm
Don't access the reflector when dropping a Promise (fixes #18651)

The reflector may be dead already.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20305)
<!-- Reviewable:end -->
2018-03-15 10:17:43 -04:00
Anthony Ramine
50d31f7ec4 Don't access the reflector when dropping a Promise (fixes #18651)
The reflector may be dead already.
2018-03-15 09:53:33 +01:00
bors-servo
8e6cfbca47
Auto merge of #20302 - upsuper:traversal-stats, r=bholley
Include some traversal statistics in style tracing marker

This is the Servo side changes of [bug 1444296](https://bugzilla.mozilla.org/show_bug.cgi?id=1444296).

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20302)
<!-- Reviewable:end -->
2018-03-14 21:01:08 -04:00
Xidorn Quan
368fb574f8 Have servo report traversal statistics to gecko. 2018-03-15 11:57:52 +11:00
Xidorn Quan
d700fa16a1 Split TraversalStatistics into two parts. 2018-03-15 11:57:48 +11:00
Xidorn Quan
afa377acfd Update bindings. 2018-03-15 11:57:47 +11:00
bors-servo
863f8477ed
Auto merge of #20300 - gootorov:update-gleam, r=mbrubeck
Update gleam to 0.4.24

<!-- Please describe your changes on the following line: -->
Needed to expose `get_framebuffer_attachment_parameter_iv()`.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20300)
<!-- Reviewable:end -->
2018-03-14 19:26:13 -04:00
Igor Gutorov
ab38e1c065 Update gleam to 0.4.24 2018-03-15 01:02:02 +02:00
bors-servo
f7ee1befc5
Auto merge of #20267 - Xanewok:typed-arrays-stack-heap-variants, r=Xanewok
Support JS typed arrays as arguments and in WebIDL unions

<!-- 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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20267)
<!-- Reviewable:end -->
2018-03-14 15:43:18 -04:00
Igor Matuszewski
c29fcb80f3 Use helper is_typed_array function 2018-03-14 18:43:27 +01:00
Igor Matuszewski
6beb32e28e Support nullable typed arrays in codegen 2018-03-14 18:43:27 +01:00
Igor Matuszewski
e025bbb079 WIP: Accept typed array arguments in codegen 2018-03-14 18:43:26 +01:00
Igor Matuszewski
a0f2d618ee Use mozjs 2.0 2018-03-14 18:43:26 +01:00
bors-servo
7b326529db
Auto merge of #20224 - emilio:counter-serialization, r=nox
Fix counter() and counters() serialization.

See https://github.com/w3c/csswg-drafts/issues/670 and https://github.com/w3c/web-platform-tests/pull/9862.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20224)
<!-- Reviewable:end -->
2018-03-14 13:26:00 -04:00
bors-servo
e597cd9e1a
Auto merge of #20265 - Xanewok:fix-js-objects-in-unions, r=jdm
Fix JS object conversion in unions

<!-- 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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20265)
<!-- Reviewable:end -->
2018-03-14 12:04:23 -04:00
Alan Jeffrey
de57268e9f Add timeout pref to the mozilla/worklets wpt tests 2018-03-14 10:43:01 -05:00
Emilio Cobos Álvarez
839eda000a
style: Avoid serializing the counter type in counter functions if it's decimal.
See https://github.com/w3c/web-platform-tests/pull/9862 and such.
2018-03-14 16:41:33 +01:00
bors-servo
148beb4ea5
Auto merge of #20243 - emilio:host-selector-on-the-way, r=SimonSapin
style: add infrastructure to match the :host selector.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20243)
<!-- Reviewable:end -->
2018-03-14 10:38:45 -04:00
Emilio Cobos Álvarez
9fa2618197
style: Add infrastructure to match :host. 2018-03-14 15:10:05 +01:00
Emilio Cobos Álvarez
1654f297ca
style: Tidy a couple things. 2018-03-14 15:10:05 +01:00
bors-servo
daaee046b3
Auto merge of #20294 - glennw:update-wr-blend-brush, r=jdm
Update WR (port blurs and blits to brush_image).

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20294)
<!-- Reviewable:end -->
2018-03-14 08:52:20 -04:00
bors-servo
82932b8fb3
Auto merge of #20293 - servo-wpt-sync:wpt_update_13-03-2018, r=jdm
Sync WPT with upstream (13-03-2018)

Automated downstream sync of changes from upstream as of 13-03-2018.
[no-wpt-sync]

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20293)
<!-- Reviewable:end -->
2018-03-14 01:36:52 -04:00
Glenn Watson
db6eda8065 Update WR (port blurs and blits to brush_image). 2018-03-14 15:09:21 +10:00
WPT Sync Bot
e90dd8bc6b Update web-platform-tests to revision b202bbb5aa0d235b22bac11fe902eab1094ef9d2 2018-03-13 23:09:11 -04:00
Igor Matuszewski
712812d441 Add WPT test for WebIDL union conversion containing object values 2018-03-13 22:47:37 +01:00
Igor Matuszewski
17ecbaf8ff Support objects in WebIDL unions
Fixes #17011
2018-03-13 22:47:36 +01:00
Igor Matuszewski
725f9cbefa Use mozjs 0.1.14 2018-03-13 22:47:00 +01:00
bors-servo
9a6c96808b
Auto merge of #20290 - kwonoj:build-python-version, r=jdm
build(cmake): detect python binary for specified version

<!-- Please describe your changes on the following line: -->
This PR aims to address #20268, by updating cmake definition to lookup python binary to use. Instead of directly asking `python` binary, this PR uses `${PYTHON_EXECUTABLE}` to lookup desired python binary where applicable.

This PR was locally tested on win32 / mac / arch linux via `mach build --dev`, so far local testing shows no build failure regressions, not sure if this is sufficient test.

---
<!-- 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 #20268 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because _it's build script update_

<!-- 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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20290)
<!-- Reviewable:end -->
2018-03-13 16:29:19 -04:00
Josh Matthews
bca8347388 Update the in-tree status of WPT syncing. 2018-03-13 15:33:17 -04:00
OJ Kwon
2ddd105f12
build(cmake): detect python binary for specified version
- closes #20268
2018-03-13 09:25:06 -07:00
bors-servo
84ce43284c
Auto merge of #20287 - servo:webvr, r=jdm
Enable more tests, uselessly

This doesn't really do anything, given the gamepad tests don't even parse correctly.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20287)
<!-- Reviewable:end -->
2018-03-13 09:52:05 -04:00