* servoshell: allow event tracing to be configured with RUST_LOG
* Move docs to same file as target prefixes
* Avoid requiring macro callers to use LogTarget trait
* Clean up macro call in app.rs
* Rename macros to reflect value types
* Implement missing gamepad slots, align to spec more
- Fixes TODO's from initial gamepad implementation
- Adds some missing spec steps
* Only handle gamepad events when pref is enabled
* Return empty list in getGamepads if document not active
* ./mach fmt
* Update getGamepads to return an array instead of GamepadList
* Add spec link for [[exposed]] slot
* Remove failing test expectations for not-fully-active
* A few fixes
- Change should_notify to has_gesture
- Add spec links and TODO to navigator
- Remove unneeded clone from GamepadList::list
- Move gamepadconnected event firing into has_gesture block
* Use queue_with_canceller for tasks and add expects
* Explicitly check for gamepad user gesture
* Move user gesture check into separate function
* Change contains_user_gesture to be a gamepad function
* mach fmt
* Change axis/button threshold constants to be private to module
* 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
Instead of making the client set up GL video decoding, have this done
inside libservo. The details necessary for decoding are fetched via
Surfman now. This also removes the setup for the context on Android --
which has no GStreamer support now anyway. In the future, this could be
enabled, but should likely be done using Surfman, instead of passing on
all these details manually.
This is a small cleanup that moves and renames this class. The rename is
simply because we are exposing a lot about the details of Servo's
rendering in the API and it makes sense to start thinking about
abstracting that away a bit.
This also moves the struct to `gfx`, which does have an effect on
Servo's dependency graph. This adds a new dependency on gfx to
`compositing`, but `compositing` had a transitive dependency on
gfx before through `canvas`.
* constellation: focusing, closing, and native window visibility
* rename “browser” to “webview”, “unfocus” to “blur”
* remove native window visibility from constellation
* rename more “browser” to “webview”
* guard clauses
* don’t automatically focus when no webviews are focused
* comment spec steps for window.close()
* use format interpolation
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* fix formatting
* rename “Webview” to “WebView” in types and type parameters
* remove unused method
* fix libsimpleservo
---------
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* 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>
* add PumpResult::HistoryChanged
* Fix the location url that reverts to the old value while loading
* fix spellings, undo self.location changes
* fmt
* Rework PumpResult
* fmt and update trace message as per PumpResult
* remove comment
* cleanup and move user input logix into servoshell
* fix fmt
* add more tests
* rename sanitize_url and add location bar test for unix system
* fmt and missing rename
* check for host, fix test-error
* remove println, add condtion for not-none
* fmt
* clean up
* review update
* fix build failure cause by embedder_traits::resources
* add cfg target-os windows
* fmt
* use to_file_path() instead of path()
* servoshell: fix lockups while animating
* move comment to external_present declaration
* disable needs_recomposite optimisation for now due to breakage
* fix compile error that only happens on ci
* fix more compile errors
* 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