Commit graph

4553 commits

Author SHA1 Message Date
Michal Mieczkowski
588cec0422 Clipboard handling in libsimpleservo 2019-06-15 13:38:38 +02:00
Michal Mieczkowski
884b54a626 Remove unneeded clipboard import. 2019-06-15 11:57:39 +02:00
Alan Jeffrey
b5bd3ad7ea Fixed magicleap Servo2D application 2019-06-14 15:51:08 -05:00
Alan Jeffrey
ea4b1631dd Don't process events while borrowing the event loop 2019-06-14 14:13:41 -05:00
bors-servo
09f9273b2d
Auto merge of #23559 - jdm:uwp-dirs, r=asajeffrey
Remove dirs crate from use in UWP builds.

The dirs crate relies on APIs that aren't available to UWP apps. This adds the ability to hide it from builds that need to run in UWP environments.

<!-- 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/23559)
<!-- Reviewable:end -->
2019-06-14 04:50:18 -04:00
Josh Matthews
3e22b52b47 Remove dirs crate from use in UWP builds. 2019-06-13 18:05:35 -04:00
Alan Jeffrey
0b48ff496f Add Servo3D immersive demo for magicleap 2019-06-13 15:04:05 -05:00
Michal Mieczkowski
9c74e4d9ce Code cleanup 2019-06-13 20:33:55 +02:00
Michal Mieczkowski
f4d972adb2 Forward to embedder message for setting/getting clipboard contents from clipboard provider.
Create clipboard context in browser.rs and handle new messages.
2019-06-13 20:18:53 +02:00
bors-servo
8e783577d2
Auto merge of #23468 - servo:jdm-patch-52, r=asajeffrey
Add Windows arm64 build.

Depends on:
* [x] https://github.com/servo/mozjs/pull/184
* [x] https://github.com/servo/rust-mozjs/pull/463
* [ ] <strike>https://github.com/servo/ipc-channel/pull/232</strike>
* [x] https://github.com/alexcrichton/cmake-rs/pull/82
* [x] https://github.com/servo/rust-offscreen-rendering-context/pull/136
* [x] https://github.com/servo/mozangle/pull/21

<!-- 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/23468)
<!-- Reviewable:end -->
2019-06-11 17:21:36 -04:00
Josh Matthews
385b46cff7 Disable WGL for Windows arm64. 2019-06-11 15:53:35 -04:00
Robert Snakard
35bca991ad Implement WheelEvent Interface
Note: The WheelEvent interface supports rotation in all 3 spatial
dimensions. This implementation only supports two due to limitations
in the Glutin compositor.

The wheelevent interface is a dom interface that triggers for any
attached device that can rotate in one or more spatial dimensions.
Traditionally this is the mouse wheel though other devices could be
used as well. E.g. the trackball on a trackball mouse.
2019-06-09 13:25:01 -04:00
Paul Rouget
2fb6cc6f4d handle null args 2019-06-06 08:16:26 +02:00
bors-servo
255bfeabd5
Auto merge of #23517 - oneturkmen:prep-for-composite-void, r=jdm
Make prepare_for_composite return void

<!-- Please describe your changes on the following line: -->
Changed the signature of `fn prepare_for_composite(...)` to return void (unit) instead of boolean.

---
<!-- 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 #23492 (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because these are clean-up changes (do not include new feature or fixed bug).

<!-- 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/23517)
<!-- Reviewable:end -->
2019-06-05 10:11:20 -04:00
oneturkmen
3c0c10454b Make prepare_for_composite return void 2019-06-05 00:35:14 -06:00
bors-servo
4c234de927
Auto merge of #23504 - jdm:win-simpleservo, r=asajeffrey
Build simpleservo on Windows

The mozangle change means that we don't rebuild mozangle (and transitively script) because the requested features are different when building libsimpleservo.

<!-- 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/23504)
<!-- Reviewable:end -->
2019-06-05 01:21:47 -04:00
bors-servo
6924024f0a
Auto merge of #23497 - jdm:windows-resize, r=asajeffrey
Fix behaviour of window resizing on Windows.

This makes Windows builds usable when the window is resized.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23489
- [x] These changes do not require tests because we can't run tests on Windows CI yet.

<!-- 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/23497)
<!-- Reviewable:end -->
2019-06-04 15:10:56 -04:00
Josh Matthews
685cf24358 Build libEGL.dll on all Windows targets. 2019-06-03 11:49:17 -04:00
Josh Matthews
193013f6bb Add cargo features for canvas backend to other ports. 2019-06-03 00:12:01 -04:00
Josh Matthews
3243f1753b Add cargo feature to control canvas backend. 2019-06-03 00:12:01 -04:00
Josh Matthews
4c0afcea97 Fix behaviour of window resizing on Windows. 2019-06-01 14:40:07 -04:00
Paul Rouget
53bb2e8743 Glutin update: new Context API 2019-05-25 07:15:32 -04:00
Paul Rouget
1758207393 Glutin update: dependencies update 2019-05-25 07:15:30 -04:00
Josh Matthews
60688da71a Revert "Glutin update: dependencies update"
This reverts commit 30fb18e711.
2019-05-22 14:18:38 -04:00
Josh Matthews
40cdad1b3e Revert "Glutin update: new Context API"
This reverts commit d55d6644a0.
2019-05-22 14:18:20 -04:00
Paul Rouget
d55d6644a0 Glutin update: new Context API 2019-05-22 09:55:41 +02:00
Paul Rouget
30fb18e711 Glutin update: dependencies update 2019-05-22 09:55:38 +02:00
Jan Andre Ikenmeyer
71fdba13be
Make https the default protocol for address bar on desktop 2019-05-10 15:34:56 +02:00
bors-servo
b1b47d8046
Auto merge of #22856 - jdm:angle, r=paulrouget
Add optional ANGLE support to glutin port

Supporting ANGLE in Servo has two important benefits:
* we can actually run Servo instances on our Windows CI machines, which gives us more confidence that we're not breaking it
* we can continue to use OpenGL on devices like the Hololens, rather than creating platform-specific graphical backends

<!-- 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/22856)
<!-- Reviewable:end -->
2019-05-10 00:04:20 -04:00
Josh Matthews
79938affb3 Upgrade mozangle to 0.2 for libEGL.dll. 2019-05-09 15:24:18 -04:00
Josh Matthews
3bfbfa79d9 Add ANGLE support to default embedding. 2019-05-09 15:24:18 -04:00
bors-servo
670a32c9e9
Auto merge of #23292 - Manishearth:input, r=asajeffrey
Add support for XRInputSource and target ray spaces

Untested, but compiles.

r? @jdm or @asajeffrey

<!-- 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/23292)
<!-- Reviewable:end -->
2019-05-07 19:23:55 -04:00
Manish Goregaokar
623507187b Update webvr 2019-05-03 14:37:41 -07:00
Josh Matthews
a207574b4c Support passing in arguments from embedding. Read arguments for Magic Leap from SERVO_ARGS env var. 2019-05-02 19:20:02 -04:00
Josh Matthews
d0e9acf1eb Redirect stdout to ML logging. 2019-05-01 18:57:44 -04:00
Paul Rouget
21ed7653f4 Refactoring of the Glutin port in preparation of the compositor refactoring. 2019-04-29 10:04:51 +02:00
Kamal Umudlu
a8995fbf1a Bug: #22853 - Make Window::set_fullscreen pass a non-None value when entering fullscreen is fixed and SetFullscreenState in exit_fullscreen changed to False
Added patch for bug:22853

Added implementation to exit from fullscreen mode by pressing ESC button

Added patch that supports to exit from fullscreen mode by pressing ESC

Deleted patch files

Added all requested changes on project

Removed the loop over self.pending_changes in switch_fullscreen_mode function

Bug #22853 - Make Window::set_fullscreen pass a non-None value when entering fullscreen is fixed and SetFullscreenState in exit_fullscreen changed to False

Added missing bracket in constellation.rs file to fix build issue

Bug: #22853 --> Make Window::set_fullscreen pass a non-None value when entering fullscreen is fixed and SetFullscreenState in exit_fullscreen changed to False
2019-04-01 18:29:02 -04:00
Gregory Terzian
0780298b80 bound sampler buffer 2019-03-31 20:14:46 +08:00
bors-servo
2e0191b839
Auto merge of #23080 - jdm:sampling-profiler, r=gterzian
Add a sampling profiler

This uses the code already built for the background hang monitor and adds the ability to repeatedly sample all monitored threads. This sampling allows us to generate profiles that we can translate into the format used by https://perf-html.io/, allowing us to benefit from modern Gecko performance tooling.

You can run Servo with `PROFILE_OUTPUT=foo.json` and `SAMPLING_RATE=50` (for example), otherwise these values will default to `samples.json` and 10ms, respectively. To activate the profiler, press cmd+p, and to stop profiling, press cmd+p again. This will the captured samples to be symbolicated, which will take a very long time, and eventually there will be a new JSON profile in the output location.

To create a profile for use by Gecko's tools, run `python etc/profilicate.py path/to/profile.json >gecko_profile.json`, and load `gecko_profile.json` in the https://perf-html.io/ to see something like [this](https://profiler.firefox.com/public/8137e2b11fbb92afb80090bc534fd83015c87ee6/calltree/?globalTrackOrder=0-1&thread=1&v=3);

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #13103
- [x] These changes do not require tests because way too many pieces to automate

<!-- 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/23080)
<!-- Reviewable:end -->
2019-03-26 16:36:19 -04:00
Josh Matthews
90f67c11e5 Add a sampling profiler and a script to generate profiles for use with Gecko tooling. 2019-03-26 16:35:08 -04:00
bors-servo
7b8a898ac2
Auto merge of #23095 - jdm:mozjsprofiling, r=jdm
Use mozjs profiling feature when building with frame pointer enabled

This makes it possible to get more meaningful profiles with #23080.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix part of #23081
- [x] There are no tests for these changes

<!-- 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/23095)
<!-- Reviewable:end -->
2019-03-26 14:00:56 -04:00
Josh Matthews
896aae1c14 Add mozjs feature for profiling. 2019-03-25 16:13:56 -04:00
Paul Rouget
8f2390fdff Add transparent padding around ServoSurface 2019-03-25 19:01:39 +01:00
Paul Rouget
4dcee2f36c WR update: new viewport semantic 2019-03-22 15:41:48 +08:00
Paul Rouget
92a1336264 WR update: remove dependency on icon_loading feature 2019-03-22 15:41:48 +08:00
Peter Hall
8bfd4dc1e2 #8539 Config preferences backend restructure 2019-03-20 15:01:26 +00:00
bors-servo
55347aa39f
Auto merge of #22953 - asajeffrey:webvr-glwindow, r=paulrouget
Use a test VRDisplay that renders to a GL window

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

Add a `dom.webvr.test` pref that registers a new VR display, which registers to a GL window.

The matching webvr PR is https://github.com/servo/rust-webvr/pull/66.

---
<!-- 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 #22795
- [X] These changes do not require tests because we need a followup PR to support reftests which use the VR display

<!-- 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/22953)
<!-- Reviewable:end -->
2019-03-05 15:02:24 -05:00
Alan Jeffrey
cc2d203151 Use a test VRDisplay that renders to a GL window 2019-03-05 12:54:12 -06:00
bors-servo
cfb401eea9
Auto merge of #22871 - jdm:simpleml, r=ajeffrey,paul
Use simpleservo embedding API for Magic Leap

This removes the duplication between the two ports and makes it easier to improve all of our embeddings simultaneously.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22065
- [x] These changes do not require tests because no automated tests for embedded devices.

<!-- 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/22871)
<!-- Reviewable:end -->
2019-03-04 13:46:28 -05:00
Josh Matthews
5b7be2548a Build MagicLeap port using libsimpleservo. 2019-03-04 12:43:49 -05:00