Commit graph

452 commits

Author SHA1 Message Date
Martin Robinson
bce7622cde
Switch to rustls and webpki-roots (#30025)
This change replaces OpenSSL with rustls and also the manually curated
CA certs file with webpki-roots (effectively the same thing, but as a
crate).

Generally speaking the design of the network stack is the same. Changes:

- Code around certificate overrides needed to be refactored to work with
  rustls so the various thread-safe list of certificates is refactored
  into `CertificateErrorOverrideManager`
- hyper-rustls takes care of setting ALPN protocols for HTTP requests,
  so for WebSockets this is moved to the WebSocket code.
- The safe set of cypher suites is chosen, which seem to correspond to
  the "Modern" configuration from [1]. This can be adjusted later.
- Instead of passing a string of PEM CA certificates around, an enum is
  used that includes parsed Certificates (or the default which reads
  them from webpki-roots).
- Code for starting up an SSL server for testing is cleaned up a little,
  due to the fact that the certificates need to be overriden explicitly
  now. This is due to the fact that the `webpki` crate is more stringent
  with self-signed certificates than SSL (CA certificates cannot used as
  end-entity certificates). [2]

1. https://wiki.mozilla.org/Security/Server_Side_TLS
2. https://github.com/briansmith/webpki/issues/114

Fixes #7888.
Fixes #13749.
Fixes #26835.
Fixes #29291.
2023-08-08 14:00:10 +00:00
Martin Robinson
c58d74fe62
Remove UWP / Hololens support 2023-07-05 09:12:09 +02:00
Martin Robinson
633d9b0eb9 Windows bootstrap support 2023-07-03 21:40:24 +02:00
Martin Robinson
8bac189ea2
Simplify the build instructions
- Add a chocolatey configuration that installs all dependencies and split
  the instructions into a normal and manual installation section. In
  addition fix a warning print statement for the Windows build that would
  trigger a Python exception.
- Simplify the build instructions in the README and move all manual
  setup details to: https://github.com/servo/servo/wiki/Building
2023-06-21 19:37:46 +02:00
Martin Robinson
7d20f16d9f
Implement bootstrap-gstreamer for all platforms
This change makes it so that the Platform classes can now handle
installing GStreamer dependencies and properly setting up the
environment including when cross-compiling. For Windows and Linux
is now installed into `target/dependencies/gstreamer` when not installed
system-wide. In addition:

1. Creating and moving existing environment path append helpers to
   `util.py`.
2. Combining the `set_run_env` and `build_dev` functions and moving
   some outside code into them so that it can be shared. Now code that
   used to call `set_run_env` calls `build_dev` and then
   `os.environ.update(...)`.
3. Adding Python typing information in many places.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2023-05-25 08:22:21 +02:00
michaelgrigoryan25
ab6e451de6 Removed support/magicleap 2023-05-22 18:41:35 +04:00
Martin Robinson
5be14ecc3c Start organizing platform-specific Python code
This starts to split platform-specific Python code into its own module,
which should help to tidy up our mach commands and make things more
reusable.
2023-05-19 13:08:43 +02:00
Mukilan Thiyagarajan
6e7cb9bffa Download prebuilt dependencies from Github instead of S3
After moving nightly builds to GitHub releases,
the major contributor to AWS cost is now the S3 data
transfer charges.

This PR only addresses the data transfer costs incurred
due to the download of gstreamer dependency in the
linux and the Windows dependencies (llvm, cmake, moztools,
openssl etc) for MSVC builds. Android dependencies and
UWP/Hololens dependencies will continue to be served
from S3. These can be moved to GH as well in a future PR.

Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
2023-04-20 15:37:39 +05:30
Greg Myers
829a736f96
Fix typos in markdown files
Fixes a number of typographical errors across
markdown documentation files.
2022-01-14 16:46:10 -07:00
yvt
262a41dd2a Use #!/usr/bin/env bash in shell scripts for NixOS compatibility
Signed-off-by: yvt <i@yvt.jp>
2021-06-14 22:06:09 +09:00
Philip Lamb
45a89bcb95 clang-fmt 2021-03-30 13:45:07 +13:00
Philip Lamb
b8a74e89cf Improve IME messaging to embedder with insertion point index and multiline flag. 2021-03-29 17:55:54 +13:00
Philip Lamb
c88b55286f clang-format 2020-12-17 10:15:34 +13:00
Philip Lamb
1471a6dc80 Replace use of c++ keyword 'default' in c++ code and C APIs. Also correct obsolete use of qualified name in member declaration. 2020-12-16 11:36:55 +13:00
Simon Sapin
68b5657575 Use new S3 buckets
CC https://github.com/servo/project/issues/25
2020-11-11 21:02:51 +01:00
Paul Rouget
848a84e3f5 Add time and app version to crash report 2020-08-11 10:44:08 +02:00
bors-servo
1470fd3f9f
Auto merge of #27559 - servo:jdm-patch-46, r=jdm
Update FxR version number.
2020-08-10 18:42:19 -04:00
Josh Matthews
a8baa863db
Update FxR version number. 2020-08-10 13:34:06 -04:00
bors-servo
3cd6b71e6b
Auto merge of #27556 - paulrouget:bookmarks, r=jdm
UWP Bookmarks

Fix #27416

Bookmarks are saved in a JSON file.
Clicking on the star icon add the bookmark and show a UI to edit the label or cancel the bookmark addition.
Clicking on the star icon again allows the user to edit or remove the bookmark.
A bookmark toolbar is displayed if there's any bookmark.

<img width="471" alt="Screen Shot 2020-08-10 at 15 26 53" src="https://user-images.githubusercontent.com/373579/89791113-22a81300-db23-11ea-9d1a-9d90e1e62534.png">
<img width="978" alt="Screen Shot 2020-08-10 at 15 26 42" src="https://user-images.githubusercontent.com/373579/89791121-250a6d00-db23-11ea-9b42-6c155ccb2b42.png">
2020-08-10 13:17:19 -04:00
Paul Rouget
47fde310b1 UWP: Bookmarks 2020-08-10 15:58:24 +02:00
bors-servo
9eab0acbb6
Auto merge of #27543 - paulrouget:strup, r=Manishearth
UWP: better pref label

@Manishearth r?
2020-08-07 12:40:32 -04:00
bors-servo
8067a2fe94
Auto merge of #27537 - jdm:armmedia, r=Manishearth
Use gstreamer on UWP targets

This fixes a regression that cause our arm64 builds to use the dummy media stack by default. Oops.

Fix #27531. Fix #27532.
2020-08-07 10:29:16 -04:00
Josh Matthews
47e6430d30 Pipe GST_DEBUG output to its own log file on UWP. 2020-08-07 10:28:54 -04:00
Paul Rouget
872a1f5390 UWP: better pref label 2020-08-07 12:52:36 +02:00
bors-servo
4d1b96e605
Auto merge of #27522 - jdm:home-override, r=paulrouget
Use override value for home button when available.

Fixes #27521.
2020-08-07 06:26:59 -04:00
Josh Matthews
1839f44dbb Use override value for home button when available. 2020-08-06 14:19:20 -04:00
Josh Matthews
5de6074ad8 Add missing media session callback in UWP embedding. 2020-08-06 14:17:58 -04:00
Paul Rouget
3b8773940a Keep C++ pref value in memory longer 2020-08-05 16:33:27 +02:00
Paul Rouget
a019db648c Show only a limited list of preferences 2020-08-05 11:41:10 +02:00
Paul Rouget
8759eb18ba Allow longer devtools JSON messages 2020-08-03 17:36:52 +02:00
Paul Rouget
52f01a8a14 UWP: Crash report UI 2020-08-03 17:36:52 +02:00
Paul Rouget
ef8eabd930 Do not instanciate random ServoControls 2020-07-31 12:56:35 +02:00
Josh Matthews
ef6bb443d2 Update packaged UWP gstreamer plugins. 2020-07-29 16:28:18 -04:00
Arjun Ramachandrula
4282f3b0a9 Fixed usage of wrong delete 2020-07-28 16:22:03 -04:00
Josh Matthews
f030162ec3 Make reload button clear the network cache. 2020-07-27 22:34:07 -04:00
bors-servo
8a5a5cb91b
Auto merge of #27396 - jdm:home-button, r=Manishearth
Avoid crashing when no homepage preference is set.

Fixes #27394.
2020-07-24 20:07:35 -04:00
Josh Matthews
4f7b44c850 Avoid crashing when no homepage preference is set. 2020-07-24 16:08:58 -04:00
Paul Rouget
b42d441732 Fire sessionavailable if in transient mode 2020-07-23 03:32:28 +02:00
Paul Rouget
1b0de562ed Remove simpleservo antialiasing option, rely on pref 2020-07-21 06:30:06 +02:00
Paul Rouget
9174b201b0 UWP: rely more on servo preferences 2020-07-20 09:31:27 +02:00
Paul Rouget
2ac0ccb4d2 Make it possible to run fxr:// url in non-kiosk mode 2020-07-16 06:47:48 +02:00
bors-servo
9bbe9c837a
Auto merge of #27250 - paulrouget:unfocus, r=jdm
Unfocus input when virtual keyboard is dismissed

Fix #27181
2020-07-13 11:02:02 -04:00
Paul Rouget
6252d36a14 Unfocus input when virtual keyboard is dismissed 2020-07-13 14:04:06 +02:00
Paul Rouget
da80d4ff01 devtools: TabDescription actor 2020-07-13 09:21:27 +02:00
Paul Rouget
79ecc7e216 UWP: allow servo's initial URL to be set before Servo starts 2020-07-06 11:49:13 +02:00
bors-servo
ee56d5d212
Auto merge of #27149 - paulrouget:key_events2, r=jdm
UWP: support virtual keyboard

Fix #26898 and fix #26680.

@jdm: can you test on the device?
2020-07-03 00:25:05 -04:00
Josh Matthews
337791d4b1 Enable stdout logging for all UWP builds 2020-07-02 23:08:31 -04:00
Paul Rouget
34265c872e UWP: support virtual keyboard 2020-07-02 10:57:34 +02:00
bors-servo
db00c1f96e
Auto merge of #27114 - paulrouget:key_events, r=jdm
[UWP] Key events

This is the initial work required for proper keyboard events.
The text controller implementation is very basic, just enough to show the virtual keyboard when it's needed, and have basic key events.
2020-06-30 09:41:15 -04:00
Paul Rouget
2dcb78de13 UWP: Basic key events 2020-06-30 07:30:54 +02:00