aboutsummaryrefslogtreecommitdiffstats
path: root/components/compositing/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* Strict import formatting (grouping and granularity) (#30325)Samson2023-09-111-5/+4
| | | | | * strict imports formatting * Reformat all imports
* Upgrade WebRender to e491e1ae637b2eed1e7195855d88357e5eb3ddf9 (#30323)Martin Robinson2023-09-101-1/+1
| | | | | | | | | | | | | | | | | | * 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.
* remove `extern crate` (#30311)Samson2023-09-081-3/+0
| | | | | | | | | | | * remove extern crate * Update components/script_plugins/lib.rs Co-authored-by: Martin Robinson <mrobinson@igalia.com> --------- Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* [NFC] compositing: extract types into new compositing_traits crate (#30125)Delan Azabani2023-08-181-132/+28
| | | | | | | | | | | * [NFC] compositing: extract types into new compositing_traits crate * [NFC] compositing: move InitialCompositorState back to compositing * [NFC] compositing: rename Msg to CompositorMsg * [NFC] compositing: revert changes to Cargo.toml features section * [NFC] compositing: merge imports
* winit: initial minibrowser (#29976)Delan Azabani2023-08-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * winit: add minibrowser feature that depends on egui{,-winit} * winit: carve out some space at the top of headed windows * winit: minimal toolbar and egui/winit integration (but no painting) * winit: try to paint with egui_glow (doesn’t work yet) * winit: add comment about toolbar size * Add framebuffer object, set it as glow's target * compositing: clear only the viewport, not the whole framebuffer * plumb the actual size of the egui toolbar to webrender * fix formatting * winit: fix crash when fbo is zero * winit: don’t bother binding the framebuffer object * winit: remove unsafe and get toolbar_height * winit: location field should reflect the current top-level url * [NFC] winit: move Minibrowser out of App::run * winit: clean up toolbar height code * winit: make App own the Minibrowser if any * winit: make the go button work * winit:make the location field reflect the current top-level url * winit: allow enabling minibrowser from command line * winit: tell compositor to repaint WR and flush when we repaint * winit: fix bug where location field edits would get overridden * winit: borrow the minibrowser once in App::handle_events * winit: address todo about viewport origin coordinates * winit: fix some minor problems with comments and errors * winit: update location field once per HistoryChanged event * winit: rename Window::set_toolbar_size to set_toolbar_height * winit: take toolbar height into account in hit testing * winit: pass egui only relevant CursorMoved events * winit: scratch that, coalesce minibrowser updates instead * ensure both minibrowser and WR are repainted on every frame * compositing: only skip framebuffer clear in external present mode * winit: destroy egui glow Painter when shutting down * winit: clean up and fix license lint * fix duplicate versions lint by downgrading bytemuck_derive was egui_glow ^0.22.0 (0.22.0) → egui/bytemuck ^0.22.0 (0.22.0) → epaint/bytemuck ^0.22.0 (0.22.0) → bytemuck ^1.7.2 (1.13.1) → bytemuck_derive ^1.4 (1.4.1) → syn ^2.0.1 (2.0.28) now lock has bytemuck_derive 1.4.0 → syn ^1.0.99 (1.0.103) * fix duplicate versions lint by disabling egui-winit/links (we don’t need support for hyperlinks in our use of egui) * squelch duplicate versions lint by excluding clipboard-win * winit: fix compile warnings * winit: make gleam an optional dependency under /minibrowser * winit: remove cargo feature, since it’s not really optional * winit: extract Minibrowser and related code to separate module * winit: remove unnecessary trailing comma * winit: simplify the ServoUrl serialisation optimisation --------- Co-authored-by: atbrakhi <atbrakhi@igalia.com>
* Create initial browser id for compositor on startup.Josh Matthews2021-10-181-5/+1
|
* Make reload button clear the network cache.Josh Matthews2020-07-271-0/+3
|
* Unfocus input when virtual keyboard is dismissedPaul Rouget2020-07-131-0/+3
|
* Update to 7/6 rustc.Josh Matthews2020-07-061-1/+0
|
* Update surfman to 0.2 and remove glutinAlan Jeffrey2020-04-171-0/+1
|
* Remove WebVRAlan Jeffrey2020-04-081-4/+0
|
* Stop animations when window is hidden (API + UWP)Paul Rouget2020-02-191-0/+3
|
* move ConstellationMsg to compositingKunal Mohan2020-01-291-1/+110
|
* Move RenderNotifier from compositing to servoNiko Pen2019-02-281-1/+1
|
* Initial window sizes are mandatory.Josh Matthews2018-12-141-3/+0
|
* Rename gleam feature to gl in compositingAnthony Ramine2018-11-201-1/+1
|
* Update MPL license to https (part 4)Jan Andre Ikenmeyer2018-11-191-1/+1
|
* `cargo fix --edition-idioms`Simon Sapin2018-11-081-22/+0
|
* Reorder importsPyfisch2018-11-061-1/+1
|
* `cargo fix --edition`Simon Sapin2018-11-061-4/+4
|
* Use keyboard-types cratePyfisch2018-10-071-0/+1
| | | | | | | | | | | | | 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
* Replace mpsc with crossbeam/servo channel, update ipc-channelSimon Sapin2018-09-121-0/+1
| | | | Co-authored-by: Gregory Terzian <gterzian@users.noreply.github.com>
* Remove components/nonzero, use std::num::NonZero insteadSimon Sapin2018-06-161-1/+0
|
* move msg to embedder_traits, use in script, handle send error in embedderGregory Terzian2018-05-231-0/+1
|
* Make gleam optional for compositor, switch various names from glutin to winitDzmitry Malyshau2018-04-181-0/+4
|
* Update webrender for latest RenderNotifier changes.Josh Matthews2017-10-231-0/+1
|
* Switch to using WebRender hit testingMartin Robinson2017-10-171-0/+1
| | | | | | | | This trades quite a bit of complicated code in Servo for few more messages and a significant performance improvement. In particular, WebRender can search the entire display list at once instead of ping-ponging down the pipeline tree. This allows us to send mouse events to the correct pipeline immediately.
* Use wrappers in the nonzero crate so users don’t need unstable featuresSimon Sapin2017-10-131-1/+0
|
* Use the new nonzero crate in the msg crateSimon Sapin2017-10-131-2/+2
|
* Remove usage of unstable box syntax, except in the script crateSimon Sapin2017-10-121-1/+0
| | | | | … because there’s a lot of it, and script still uses any other unstable features anyway.
* Made PipelineId non-zero, so optional ids take no more space.Alan Jeffrey2017-09-181-0/+2
|
* move embedder related messages, and window event handling, out of compositorGregory Terzian2017-08-281-0/+1
|
* Upgrade to the latest version of WebRenderMartin Robinson2017-07-131-1/+1
|
* Improve decisions in compositor over when to draw a frame.Glenn Watson2017-06-201-1/+0
| | | | | | | | | | | | | | | | | | | | | | This patch fixes a couple of issues in the compositor: 1) Remove the delayed composition code. Previously, this would schedule a composite for 12ms in the future. This doesn't really make any sense with WR. There's no point in doing a composite unless WR has provided a new frame to be drawn. This fixes issues in several benchmarks where we were doing multiple composite / renders per rAF, which is a waste of CPU time. This *does* make the framerate slower in some cases (such as a slow rAF callback) but it's more correct - otherwise we were just compositing the same frame multiple times for no real benefit. 2) Inform the window of the current animation state of the compositor. Specifically, if an animation (or rAF) is currently active, the window system switches to use event polling, and does not block on the OS-level event loop. In the case of active animation, we just assume that we want to be running as the vsync interval and not blocking. This means the compositor thread only sleeps on vsync during animation, which reduces OS scheduling and results in much smoother animation.
* Bump euclid to 0.14.Nicolas Silva2017-06-141-1/+1
|
* Webdriver uses browsing context ids rather than pipeline ids.Alan Jeffrey2017-05-251-0/+2
|
* Introduce CSSPixel as a replacement for ViewportPx and PagePx.Glenn Watson2017-02-241-2/+2
|
* Kill the plugins crate and its clippy supportAnthony Ramine2017-02-211-4/+1
| | | | | | Sometimes clippy gets outdated by months, and its current support setup means that each Servo component need to opt into it by depending on the plugins crate manually, and not all components do that.
* Update rustc to 1.16.0-nightly (7821a9b99 2017-01-23).Ms2ger2017-01-241-3/+0
|
* Upgrade to rustc 1.16.0-nightly (6f1ae663e 2017-01-06)Simon Sapin2017-01-061-1/+0
|
* Removed util.Alan Jeffrey2016-12-141-2/+2
|
* Urlmageddon: Use refcounted urls more often.Emilio Cobos Álvarez2016-11-171-1/+1
|
* Remove #![feature(custom_derive)]Anthony Ramine2016-11-031-1/+0
|
* Remove old rendering backend.Glenn Watson2016-10-181-9/+0
| | | | | | | | | | | | | | This removes paint threads, rust-layers dependency, and changes optional webrender types to be required. The use_webrender option has been removed, however I've left the "-w" command line option in place so that wpt runner can continue to pass that. Once it's removed from there we can also remove the -w option. Once this stage is complete, it should be fine to change the display list building code to generate webrender display lists directly and avoid the conversion step.
* Update to Rust 1.14.0-nightly (19ac57926 2016-10-08)Anthony Ramine2016-10-091-1/+3
| | | | A cargo bump and a switch to serde_derive is needed to do this rustup.
* Removed duplicate #![feature(plugin)]Shubheksha Jalan2016-10-051-1/+0
|
* Update to euclid 0.8Martin Robinson2016-08-121-1/+1
|
* Move some unit type definitions to style_traits.Ms2ger2016-07-111-1/+1
|
* Move ChromeToPaintMsg to gfx_traits.Ms2ger2016-06-241-2/+1
| | | | This allows compositing not to depend on gfx.
* compositing: Remove CompositorThread structAndrew Shu2016-06-021-1/+1
|