Commit Graph

20 Commits

Author SHA1 Message Date
Delan Azabani
dfefd7a30d Add multiview feature flag in libservo and servoshell (#31541) 2024-03-07 18:09:21 +00:00
Samson
b785aea2cf Update gstreamer crates to 0.22 (#31465) 2024-03-01 11:45:43 +00:00
Samson
9a9abe9152 Add use-system-allocator to not use jemalloc (#31443)
* Add `use-system-allocator` feature

* Allow `servo_allocator/use-system-allocator` on servoshell
2024-02-29 08:43:03 +00:00
Delan Azabani
6a3cd65bf2 Move servoshell code into an internal lib crate (#31439)
* Move servoshell code into an internal lib crate

* Fix name of Android port
2024-02-28 11:46:12 +00:00
Daniel Adams
c999d4546c Implement non-XR Gamepad discovery and input (#31200)
* Create embedder event to send to constellation

* Handle gamepad message in constellation, send to script thread

* Handle GamepadEvent in script thread and dispatch event to document

* Add missing Clones, fix event

* Add gamepad task source

* Adjust GamepadIndex type, remove unused imports

* Add internal getter for gamepads list

* Update gamepad new methods

* Handle gamepad connect and disconnect events

* Proto will be none, no need for HandleObject

* Initialize buttons and axes to standard mapping

* Adjust update type index types

* Update GamepadButton update function

* Adjust Gamepad mapping comments to match spec, add update logic

* Amend comment

* Update button and axis inputs on Updated event

* Add GilRs as gamepad backend in servoshell

* Add spec links, queue gamepad updates on task source

* ./mach fmt

* Fix comment length

* Split out button init, update spec comments

* Move gamepad event handling from document to global

* Map and normalize axes/button values

* Use std::time for gamepad timestamp

* Adjust gamepad handling in event loop

* Move button press/touch check into map+normalize function

- Small change but is more in line with spec

* ./mach fmt

* Update comment spec links and warning messages

* Doc comments -> regular comments

* Add window event handlers for gamepad connect/disconnect

* Adjust gamepad disconnect behavior

* Add missing TODO's, adjust gamepad/gamepadbutton list methods and formatting

* Update button handling from gilrs, add comments

* Enable gamepad pref during WPT tests and update expectations

* Update WPT expectations in meta-legacy-layout
2024-02-17 18:42:31 +00:00
dependabot[bot]
7480f67497 build(deps): bump vergen from 8.3.0 to 8.3.1 (#31114)
Bumps [vergen](https://github.com/rustyhorde/vergen) from 8.3.0 to 8.3.1.
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](https://github.com/rustyhorde/vergen/compare/8.3.0...8.3.1)

---
updated-dependencies:
- dependency-name: vergen
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-17 17:03:18 +00:00
dependabot[bot]
55bf020d89 build(deps): bump vergen from 8.2.10 to 8.3.0 (#31107)
Bumps [vergen](https://github.com/rustyhorde/vergen) from 8.2.10 to 8.3.0.
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](https://github.com/rustyhorde/vergen/compare/8.2.10...8.3.0)

---
updated-dependencies:
- dependency-name: vergen
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-16 17:44:14 +00:00
dependabot[bot]
a75eec6fe4 build(deps): bump vergen from 8.2.7 to 8.2.10 (#31100)
Bumps [vergen](https://github.com/rustyhorde/vergen) from 8.2.7 to 8.2.10.
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](https://github.com/rustyhorde/vergen/compare/8.2.7...8.2.10)

---
updated-dependencies:
- dependency-name: vergen
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-15 17:29:34 +00:00
dependabot[bot]
fdd9263cae build(deps): bump vergen from 8.2.6 to 8.2.7 (#31081)
Bumps [vergen](https://github.com/rustyhorde/vergen) from 8.2.6 to 8.2.7.
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](https://github.com/rustyhorde/vergen/compare/8.2.6...8.2.7)

---
updated-dependencies:
- dependency-name: vergen
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-12 16:40:49 +00:00
Delan Azabani
17f3c45d4f Add initial support for offscreen rendering (#30767)
* Offscreen rendering

* shared memory case never actually rendered to backbuffer

* fix compile errors (in theory) when gl crate feature disabled

* update doc comments

* remove dark CentralPanel border covering edges of viewport

* clear to transparent, to avoid pink artifacts

* fix mouse input for browser being consumed by egui

* avoid destroying OpenGL resources unless resizing window

* clean up compositing::gl

* fix flickering around edges after resizing window

* unset invalidate_last_render_target after invalidating

* fix incorrect DRAW_FRAMEBUFFER name when blitting

* bind the widget surface fbo before painting egui

* make composite_specific_target take CompositeTarget, not Option

* compositing: remove cargo feature “gl”

* capitalise FBO in bind log message

Co-authored-by: Martin Robinson <mrobinson@igalia.com>

* capitalise FBO in drop log message

Co-authored-by: Martin Robinson <mrobinson@igalia.com>

* rename RenderTargetInfo fields and use OnceCell for next field

* rename RenderTargetInfo.read to read_back_from_gpu

* document servo_framebuffer_id in Minibrowser::update

* rename needs_fbo to use_offscreen_framebuffer

* capitalise FBO in unbind log message

* clarify the purpose of Minibrowser::on_event

* fix unused_must_use warning

* reduce nesting in Minibrowser::update

* use implicit format argument in panic

* store Minibrowser.widget_surface_fbo as glow type

* explain why servo_framebuffer_id is None in first call site

* rename output_framebuffer_id to offscreen_framebuffer_id

---------

Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2023-12-13 02:49:25 +00:00
Martin Robinson
20a122c2f6 Use git2 version of vergen (#30804)
When compiling Servo on MacOS, the version of libintl that comes bundled
with GStreamer is not compatible with the one used by Homebrew. This can
cause issues when adding GStreamer shared objects to the library
resolution path and then trying to run Homebrew git. Using libgit seems
to work around this issue.

The failure case means that the version compiled into Servo does not
properly include the git hash.
2023-12-01 16:05:17 +00:00
dependabot[bot]
1ab2c7b127 build(deps): bump vergen from 8.2.5 to 8.2.6 (#30697)
Bumps [vergen](https://github.com/rustyhorde/vergen) from 8.2.5 to 8.2.6.
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](https://github.com/rustyhorde/vergen/compare/8.2.5...8.2.6)

---
updated-dependencies:
- dependency-name: vergen
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-06 16:41:32 +00:00
dependabot[bot]
6b2edbac18 build(deps): bump winit from 0.28.6 to 0.28.7 (#30440)
Bumps [winit](https://github.com/rust-windowing/winit) from 0.28.6 to 0.28.7.
- [Release notes](https://github.com/rust-windowing/winit/releases)
- [Changelog](https://github.com/rust-windowing/winit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-windowing/winit/compare/v0.28.6...v0.28.7)

---
updated-dependencies:
- dependency-name: winit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-28 23:48:16 +00:00
dependabot[bot]
59babea86a build(deps): bump vergen from 8.2.4 to 8.2.5 (#30346)
Bumps [vergen](https://github.com/rustyhorde/vergen) from 8.2.4 to 8.2.5.
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](https://github.com/rustyhorde/vergen/compare/8.2.4...8.2.5)

---
updated-dependencies:
- dependency-name: vergen
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-14 12:03:34 +00:00
Delan Azabani
90ad5920e2 [NFC] servoshell: fix rust-analyzer and rustfmt breakage (#30340) 2023-09-12 06:27:10 +00:00
Martin Robinson
a9d37cb85a Upgrade WebRender to e491e1ae637b2eed1e7195855d88357e5eb3ddf9 (#30323)
* Upgrade vendored version of WebRender

* Patch WebRender: upgrade version of gleam

* Restore hit testing implementation

* Fix WebRender warnings

* Adapt Servo to new WebRender

* Update results

* Add a workaround for #30313

This slightly expands text boundaries in order to take into account the
fact that layout isn't measuring glyph boundaries.
2023-09-10 12:38:56 +00:00
Atbrakhi
3df284cf54 Move user input logic into servoshell (#30238)
* cleanup and move user input logix into servoshell

* fix fmt

* moves test from servoshell file

* move command-line args into servoshell

* remove feature media-gstreamer

* fix fmt

* move user input logic code into lib to make it more testable

* remove opts_matches in fn instead get it from main2

* remove pub and fix import

* add licence in new file

* revert passing Matches, instead pass Option String

* review update, also move sanitize fn to parser file

* fmt fix

* review fix: remove extra line
2023-09-06 11:45:56 +00:00
Martin Robinson
0cf84f9f7c Use arboard in servoshell instead of rust-clipboard (#30274)
rust-clipboard is unmaintained, which means that it pulls in very old
dependencies (including a version xcb with 3 critical security
vulnerabilities). In addition, we already depend on arboard. This
removes four crates from our dependency graph.
2023-09-06 09:15:21 +00:00
Samson
5e60088276 Always dummy (#30240) 2023-08-30 06:09:14 +00:00
Atbrakhi
66567faeb2 Rename ports/winit package to servoshell (#30163)
* rename winit package to servoshell

* revert previous changes and rename only package
2023-08-28 14:36:57 +00:00