Commit graph

3667 commits

Author SHA1 Message Date
Bastien Orivel
db34ea668a Update image related dependencies 2018-11-18 16:42:42 +01:00
bors-servo
147688593c
Auto merge of #22206 - asajeffrey:magicleap-sharks-with-frikkin-lasers, r=jdm
Use a laser pointer rather than the trackpad to control web content

<!-- Please describe your changes on the following line: -->

Replace the trackpad with a laser pointer in the magicleap app.

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

<!-- Either: -->
- [X] These changes do not require tests because no testing for ML

<!-- 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/22206)
<!-- Reviewable:end -->
2018-11-17 04:08:22 -05:00
Anthony Ramine
adf363a208 Move prepare_pixels helper functions to canvas_traits 2018-11-16 12:37:31 +01:00
Alan Jeffrey
deb599f5ee Use a laser pointer rather than the trackpad to control web content. 2018-11-15 16:17:14 -06:00
Pyfisch
2143657e03 Use keyboard-types::webdriver::send_keys
This improves the quality of KeyboardEvents
sent by WebDriver. Now key, code, location and
modifiers are set according to spec.
CompositionEvents are discarded as servo
does not handle them at all.
2018-11-11 21:57:45 +01:00
Alan Jeffrey
08270f07fc Get the magicleap build to work in CI 2018-11-09 16:24:09 -06:00
Simon Sapin
9f977c5287 Remove useless use crate_name; imports.
A `crate_name::foo` path always works in 2018
2018-11-08 09:29:52 +01:00
Simon Sapin
2012be4a8b cargo fix --edition-idioms 2018-11-08 09:28:00 +01:00
Pyfisch
9e92eb205a Reorder imports 2018-11-06 22:35:07 +01:00
Pyfisch
cb07debcb6 Format remaining files 2018-11-06 22:30:31 +01:00
Simon Sapin
9f9bf8f6bc Switch most crates to the 2018 edition 2018-11-06 16:12:04 +01:00
Simon Sapin
76e59a46d3 Sort use statements 2018-11-06 15:26:02 +01:00
Simon Sapin
45f7199eee cargo fix --edition 2018-11-06 15:26:02 +01:00
bors-servo
e217672c1a
Auto merge of #22092 - paulrouget:thread_count, r=manishearth
Count threads at shutdown, warn if not all finished and optionally block

On Desktop, after servo shutdown, the process exits, killing all the still-running threads.
On mobile, the process doesn't necessarily shutdown, and we are left with multiple threads failing to use channels, printing warning and panicking.

In the future, we'd like to do a clean shutdown, as in, shutdown only once all the threads have properly finished.

For now, I'm printing a warning if all the threads are not finished, and also add an option to only exit if all the threads have finished.

This only works on MacOS for now, in C, as I haven't found a Rust/multiplatform way to count running threads.

I recommend trying to run servo with `--clean-shutdown` option. Interesting to see how long it takes for other threads to shutdown, and see which threads start panicking.

---
<!-- 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/22092)
<!-- Reviewable:end -->
2018-11-06 02:26:39 -05:00
Paul Rouget
2718675191 Count threads at shutdown and warn if not all finished 2018-11-06 07:50:04 +01:00
bors-servo
e265fcfc3c
Auto merge of #22094 - asajeffrey:magicleap-shutdown, r=paulrouget
Shut down Servo when the ML app quits

<!-- Please describe your changes on the following line: -->

Shut down servo when shutting down the magic leap app.

---
<!-- 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 do not require tests because we don't test ML

<!-- 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/22094)
<!-- Reviewable:end -->
2018-11-06 01:08:07 -05:00
Alan Jeffrey
6088ade746 Argh tabs vs spaces 2018-11-05 10:00:08 -06:00
Alan Jeffrey
747122fb63 Responding to review comments 2018-11-05 09:57:26 -06:00
Alan Jeffrey
57085eea6a Shut down servo when the ML app quits 2018-11-02 10:57:26 -05:00
Alan Jeffrey
3970c4ffbe Support scrolling in Magic Leap Servo 2018-11-01 12:16:01 -05:00
bors-servo
126ed26171
Auto merge of #22060 - jdm:ml, r=asajeffrey
Add a build switch to disable the native bluetooth backend.

Fixes #22059.

<!-- 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/22060)
<!-- Reviewable:end -->
2018-11-01 02:23:53 -04:00
Alan Jeffrey
c2f33709d1 Get the Servo2D URL bar to show the current URL, and to navigate when edited. 2018-10-31 11:11:01 -05:00
Josh Matthews
83fda753a8 Add a build switch to disable the native bluetooth backend. 2018-10-30 19:26:42 -04:00
Alan Jeffrey
c8fa64b93a Hook up the back and forward buttons to history traversal in Magic Leap Servo2D 2018-10-30 12:05:19 -05:00
bors-servo
4ead81717a
Auto merge of #22044 - asajeffrey:magicleap-less-egl-buffer-swapping, r=jdm
Reduce the amount of EGL buffer swapping the ML port is doing

<!-- Please describe your changes on the following line: -->

At the moment, we're swapping the EGL buffers every heartbeat, which produces a lot of flickering. We should only swap the buffers when needed.

---
<!-- 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 do not require tests because we have no way to test on ML

<!-- 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/22044)
<!-- Reviewable:end -->
2018-10-30 09:57:56 -04:00
bors-servo
c876592d84
Auto merge of #22048 - paulrouget:remove_prepare_for_composite_args, r=jdm
remove useless arguments from prepare_for_composite

Accidentally fixes #22009

---
<!-- 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 #22009 (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/22048)
<!-- Reviewable:end -->
2018-10-30 07:54:10 -04:00
bors-servo
b5b8550fb2
Auto merge of #22045 - asajeffrey:magicleap-follow-hyperlinks, r=paulrouget
Get the ML port to follow hyperlinks

<!-- Please describe your changes on the following line: -->

This PR adds some basic mouse support to the magic leap touchpad. Moves are mapped to mouse moves (for hover style) and trigger pulls are mapped to mouse clicks (for following hyperlinks).

---
<!-- 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 do not require tests because we can't test on ML

<!-- 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/22045)
<!-- Reviewable:end -->
2018-10-30 03:41:52 -04:00
Paul Rouget
d6b41ba67d remove useless arguments from prepare_for_composite 2018-10-30 07:51:38 +01:00
bors-servo
662fd0afa4
Auto merge of #22021 - paulrouget:shutdown, r=paulrouget
Android: proper shutdown mechanism

Fix #21834

<!-- 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/22021)
<!-- Reviewable:end -->
2018-10-30 01:47:17 -04:00
Alan Jeffrey
fc38c04313 Get the ML port to follow hyperlinks 2018-10-29 15:02:10 -05:00
Alan Jeffrey
0124baa82f Reduce the amount of EGL buffer swapping the ML port is doing 2018-10-29 12:13:34 -05:00
Alan Jeffrey
dab8f4a97f Support building for Magic Leap. 2018-10-29 08:49:41 -05:00
Paul Rouget
549c8c565a Android: proper shutdown mechanism 2018-10-26 12:15:52 +02:00
Anthony Ramine
1cc923ab7d Update osmesa-src 2018-10-26 10:56:03 +02:00
bors-servo
9a0404ac5f
Auto merge of #21881 - pyfisch:keyboard-types, r=paulrouget
Use keyboard-types crate

Have embedders send DOM keys to servo and use a strongly typed KeyboardEvent
from the W3C UI Events spec. All keyboard handling now uses the new types.

Introduce a ShortcutMatcher to recognize key bindings. Shortcuts are now
recognized in a uniform way.

Updated the winit port.
Updated webdriver integration.

part of #20331

What this PR does:

* allow the use non-ASCII keyboards for text input
* decouple keyboard event "key" from "code" (key meaning vs location)

What this PR does not do:

* completely improve keyboard events send from winit and webdriver
* add support for CompositionEvent or IME

Notes:

* The winit embedder does not send keyup events for printable keys (this is a regression)
* keyboard-types is on crates.io because I believe it to be useful outside of servo. If you prefer I can add a copy in this repo.

<!-- 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/21881)
<!-- Reviewable:end -->
2018-10-17 05:36:08 -04:00
Josh Matthews
1332026bd4 Flush the android logging buffer when most recent read fills it up. 2018-10-15 12:29:35 -04:00
Josh Matthews
e75beaa8d6 Make android logging thread only process buffer slice that contains real data. 2018-10-15 12:29:34 -04:00
Josh Matthews
4e61d97030 Report to logcat when android logging thread terminates unexpectedly. 2018-10-15 12:29:32 -04:00
Pyfisch
c8619424f2 Minor keyboard updates
Support combined character input from winit.
Make use of utility methods from keyboard-types.
Remove prinatable attribute of KeyboardEvent.
2018-10-13 20:30:30 +02:00
Pyfisch
0ccaa7e1a9 Use keyboard-types crate
Have embedders send DOM keys to servo and use a strongly typed KeyboardEvent
from the W3C UI Events spec. All keyboard handling now uses the new types.

Introduce a ShortcutMatcher to recognize key bindings. Shortcuts are now
recognized in a uniform way.

Updated the winit port.
Updated webdriver integration.

part of #20331
2018-10-07 22:39:00 +02:00
Paul Rouget
5ddb8d577f Disable subpixel text antialiasing for ServoSurface 2018-10-06 07:57:07 +02:00
Paul Rouget
e0ce73abb2 Make JNI code more robust 2018-10-05 13:17:27 +02:00
bors-servo
57053e03bb
Auto merge of #21825 - jdm:backtrace-helpers, r=Manishearth
Optional backtraces for JS errors and WebGL errors

This adds two new build-time features to enable useful debugging tools when investigating why JS and WebGL content isn't working. They're optional because they're quite heavyweight.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they're optional developer features.

<!-- 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/21825)
<!-- Reviewable:end -->
2018-10-02 06:57:38 -04:00
Paul Rouget
6d543dec28 com.mozilla to org.mozilla 2018-10-02 08:09:35 +02:00
Josh Matthews
06bca43aee script: Optionally store backtraces when throwing DOM exceptions. 2018-10-01 16:04:56 +02:00
Josh Matthews
5dc80dd07a webgl: Add feature to store backtraces for each WebGL API call for easier debugging. 2018-10-01 10:43:13 +02:00
bors-servo
0964d055cd
Auto merge of #21809 - servo:features, r=SimonSapin
Only build ports/servo by default (except Android), add `./mach build --libsimpleservo`

Fixes #21314

<!-- 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/21809)
<!-- Reviewable:end -->
2018-09-27 13:35:09 -04:00
Josh Matthews
b11f071976 Rewrite android logging to use checked slices. 2018-09-26 11:42:48 -04:00
Josh Matthews
f402dd9ecf Use Rust stdlib threads for android logging. 2018-09-26 11:05:00 -04:00
Josh Matthews
38d3f59170 Add useful logging defaults for debugging web content on android. 2018-09-26 11:04:36 -04:00