aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix test which expected iframe load for initial about:blank.iframe-load-hackJosh Matthews2024-10-022-3/+3
|
* Ensure iframe load event occurs if initial about:blank is recreated with ↵Josh Matthews2024-10-026-48/+53
| | | | document.open.
* Update expectations.Josh Matthews2024-09-2814-140/+5
|
* Synchronously mark iframes as having pending loads when navigating a window ↵Josh Matthews2024-09-2713-43/+69
| | | | proxy with a frame element.
* clear timers when replacing a window.Josh Matthews2024-09-273-0/+14
|
* Only discard documents when no window replacement has occurred.Josh Matthews2024-09-271-2/+4
|
* Only use window replacement when new document is same-origin.Josh Matthews2024-09-271-1/+5
|
* Enter a realm when dispatching DOMContentLoaded.Josh Matthews2024-09-251-4/+5
|
* Treat a missing replaced document as a non-replaced window.Josh Matthews2024-09-251-2/+2
|
* Store a pipeline that's being replaced in the load data.Josh Matthews2024-09-259-35/+34
|
* Reset document state notification when replacing a window.Josh Matthews2024-09-251-0/+1
|
* about:srcdoc loads are not synchronous.Josh Matthews2024-09-251-1/+1
|
* Update python2 test helper to python3.Josh Matthews2024-09-251-4/+4
|
* Don't suspend windows that have been replaced.Josh Matthews2024-09-251-1/+3
|
* Use existing window when navigating away from initial about:blank document.Josh Matthews2024-09-2515-94/+234
|
* Fix panic when about:blank iframe is removed from the document immediately ↵Josh Matthews2024-09-251-2/+4
| | | | after being added to it.
* Formatting.Josh Matthews2024-09-251-4/+11
|
* Sync load event for about:blank iframe elements.Josh Matthews2024-09-253-2/+39
|
* Only suppress load event dispatch.Josh Matthews2024-09-251-6/+8
|
* Formatting.Josh Matthews2024-09-251-3/+1
|
* Hack: normalize all about:blank load behaviour and prevent load/pageshow ↵Josh Matthews2024-09-259-3/+22
| | | | events on the content documents.
* fonts: Make fast shaping determination platform-independent (#33540)Martin Robinson2024-09-256-116/+129
| | | | | | | | | | | | | | This makes the determination of whether or not to use fast shaping platform independent. Previously it was less stringent for Windows, leading to using it in cases where a font had a GSUB or GPOS table -- which broke proper shaping. In addition, the test is made platform independent and expanded to be more complete. Finally, comments are added indicating that "fast shaping" will be removed. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* webgpu: destroy GPUTexture without erroring (#33534)Samson2024-09-254-2134/+8
| | | | | | | | | | | | | * destroy GPUTexture without erroring (errors can be safely ignored) Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Update expectations Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> --------- Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Use `ContentSizes::shrink_to_fit` when possible (#33527)Oriol Brufau2024-09-252-8/+11
| | | | | And ensure that the minimum wins for malformed ContentSizes. Signed-off-by: Oriol Brufau <obrufau@igalia.com>
* fonts: Use `IpcSharedMemory` to send font data (#33530)Martin Robinson2024-09-2526-543/+600
| | | | | | | | | | | | | | | | | | | | | This changes modifes the way that font data is sent over IPC channels. Instead of serializing the data or sending it via IPC byte senders, font data is copied into shared memory and a copy of the handle is sent over the channel. There is also the idea of sending the file handle of the on disk data of system fonts. This could be implemented as a further followup once there is an abstraction in `ipc-channel` over file handles. To accomplish this, a `FontData` abstraction is added, which also allows caching an in-memory shared `Arc<Vec<u8>>` version of the data (neeeded by some APIs). This could also be a place for caching font tables in the future. Finally, the `FontCacheThread` is renamed to the `SystemFontService` while the proxy for this is now named `SystemFontServiceProxy`. Signed-off-by: Martin Robinson <mrobinson@igalia.com> Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* build(deps): bump libc from 0.2.158 to 0.2.159 (#33535)dependabot[bot]2024-09-241-2/+2
| | | | | | | | | | | | | | | | Bumps [libc](https://github.com/rust-lang/libc) from 0.2.158 to 0.2.159. - [Release notes](https://github.com/rust-lang/libc/releases) - [Changelog](https://github.com/rust-lang/libc/blob/0.2.159/CHANGELOG.md) - [Commits](https://github.com/rust-lang/libc/compare/0.2.158...0.2.159) --- updated-dependencies: - dependency-name: libc 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>
* Bump mozjs to 128.0-10 (#33536)Jonathan Schwender2024-09-241-3/+3
| | | | | | | | Changes: - Add prebuilt artifacts for OpenHarmony and test github attestions (https://github.com/servo/mozjs/pull/501) Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* servoshell: fix issues related to HiDPI (#33529)Mukilan Thiyagarajan2024-09-243-24/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation has 3 main issues related to HiDPI: 1. When the window moves from a screen with scale factor of 1.5 to one with 1 and back to 1.5, the minibrowser toolbar actually ends up being scaled by a factor of 2.25 instead of 1.5. This is because we currently use the [set_pixels_per_point] method on egui's Context, but calling this with a value of `ppp` will modify egui's internal 'zoom factor' to be: ``` zoom_factor = ppp / native_points_per_pixel. ``` where `native_points_per_pixel` is the window system scale factor. The idea is egui can calculate the final scale factor for translating its logical points to physical pixels as: ``` points_per_pixel = zoom_factor * native_points_per_pixel ``` where zoom_factor is a factor used for Ctrl+Plus, Ctrl+Minus behaviour. The problem is when we handle the ScaleFactorChanged winit event due to window moving between screens, the `native_points_per_pixel` still has the value of the previous screen's native scaling factor and not the current screen's factor. This seems to be the case even if we pass the ScaleFactorChanged event to egui before we call `set_pixels_per_point`. 2. The egui logic for handing Ctrl+Plus, Ctrl+Minus and Ctrl+0 doesn't interact well with servoshell's device-pixel-ratio CLI argument which allows the user to override the HiDPI factor. For example, Ctrl+0 will cause egui to reset the zoom_factor to 1.0 instead of the override we wanted. Another issue is egui's Ctrl+Plus/Ctrl+Minus will scale the minibrowser in increments of 0.10 whereas Servo's own page zoom doesn't (it keeps multiplying by 1.1, so the actual increments are 0.1, 0.21. 0.33 etc) 3. The inital window size calculation on Linux currently assumes a scale factor of 1.0. This means the window doesn't have the expected default logical size of 1024*740 on HiDPI systems. On a screen with HiDPI factor of 1.5, the logical window size ends up being 682x493. This change addresses all 3 issues: For 1, switch to the `set_zoom_factor` method of egui context to avoid the issue with scaling by incorrect native_points_per_pixel. To allow for the device-pixel-ratio override to work, we calculate the actual zoom_factor as `device-pixel-ratio / window's scaling factor`. For 2, disable egui's handling of Ctrl+Plus, Ctrl+Minus, Ctrl-0 shortcuts. It is unclear whether the current behaviour of scaling both the toolbar and the web page was intentional, or just an accident. This behaviour is also different from other browser where page zoom doesn't scale the GUI, so it doesn't seem like a regression to me. For 3, use LogicalSize type of winit which lets the physical size calulation to be handled by winit using the windows's actual HiDPI factor instead of hardcoded 1.0. [set_pixels_per_point]: https://github.com/emilk/egui/blob/1603f0581882c4ca299db1d6efdba9148ebcddb6/crates/egui/src/context.rs#L1886 Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Layout: Implement innerText/outerText (#33312)Ben2024-09-2426-1624/+616
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Implement outerText on HtmlElement Signed-off-by: Shane Handley <shanehandley@fastmail.com> * Fixed some innerText/outerText bugs Signed-off-by: Benjamin Vincent Schulenburg <bennyschulenburg@gmx.de> * Unified innerText/outerText handling outside of Layout Before these 2 were treated separately and only within Layout would they end up calling the same method, now they are already unified within HTMLElement Signed-off-by: Benjamin Vincent Schulenburg <bennyschulenburg@gmx.de> * Address a few nits Signed-off-by: Martin Robinson <mrobinson@igalia.com> * Added innerText support for `inline-flex` Signed-off-by: Benjamin Vincent Schulenburg <bennyschulenburg@gmx.de> --------- Signed-off-by: Shane Handley <shanehandley@fastmail.com> Signed-off-by: Benjamin Vincent Schulenburg <bennyschulenburg@gmx.de> Signed-off-by: Martin Robinson <mrobinson@igalia.com> Co-authored-by: Shane Handley <shanehandley@fastmail.com> Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* ohos: Bundle resource files in hap (#33513)Jonathan Schwender2024-09-2410-21/+77
| | | | | | | | | | Bundle resource files into the .hap, so they are available as files in the application sandbox, instead of included into the shared library. This should slightly reduce the binary size in debug and release mode. Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com> Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
* build(deps): bump quick-xml from 0.36.1 to 0.36.2 (#33524)dependabot[bot]2024-09-231-2/+2
| | | | | | | | | | | | | | | | Bumps [quick-xml](https://github.com/tafia/quick-xml) from 0.36.1 to 0.36.2. - [Release notes](https://github.com/tafia/quick-xml/releases) - [Changelog](https://github.com/tafia/quick-xml/blob/master/Changelog.md) - [Commits](https://github.com/tafia/quick-xml/compare/v0.36.1...v0.36.2) --- updated-dependencies: - dependency-name: quick-xml dependency-type: indirect 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>
* build(deps): bump pkg-config from 0.3.30 to 0.3.31 (#33525)dependabot[bot]2024-09-231-2/+2
| | | | | | | | | | | | | | | Bumps [pkg-config](https://github.com/rust-lang/pkg-config-rs) from 0.3.30 to 0.3.31. - [Changelog](https://github.com/rust-lang/pkg-config-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/pkg-config-rs/compare/0.3.30...0.3.31) --- updated-dependencies: - dependency-name: pkg-config dependency-type: indirect 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>
* build(deps): bump thiserror from 1.0.63 to 1.0.64 (#33523)dependabot[bot]2024-09-231-4/+4
| | | | | | | | | | | | | | | Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.63 to 1.0.64. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.63...1.0.64) --- updated-dependencies: - dependency-name: thiserror dependency-type: indirect 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>
* Properly track `rel` keywords for `<a>`/`<area>`/`<form>` elements (#33462)Simon Wülker2024-09-237-300/+540
| | | | | | | | | | | | | | | | | | | | | | | | * Use linkrelations for all linkable elements Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * Document LinkRelations Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * Rename linkrelations.rs -> links.rs This module is supposed to include general-purpose link related stuff. Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * Parse all "rel" keywords Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> --------- Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* ohos: Add back and fwd button to vendored app (#33511)Jonathan Schwender2024-09-231-10/+31
| | | | | | | | | 25372340 added back and forward apis to the ohos servoshell. 157e28c5 vendored the ohos demo ArkTS app into the servo repo, but did not include the back and forward buttons, which were added in the meantime. This commit adds the missing back and forward buttons to the ArkTS code. Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* Stop sending EmbedderMsg::WebViewOpened from WindowProxy (#33514)webbeef2024-09-221-2/+0
| | | | | This is redundant since the constellation already sends this message. Signed-off-by: webbeef <me@webbeef.org>
* Add `HTMLCanvasDataSource::Empty` that represent transparent black instead ↵Samson2024-09-227-36/+41
| | | | | | | | | | | | | | | of `HTMLCanvasDataSource::Image(None)` (#33519) * `HTMLCanvasDataSource::Empty` that represent transparent black instead of Image(None) Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Fix warning from 3a0d27b2312c6396e85178615290ac2ec3592ce1 Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> --------- Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* reuse ImageKey for gpucanvascontext (#33517)Samson2024-09-224-37/+22
| | | Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* webgl: Update IDL exposed members (#33509)Daniel Adams2024-09-2222-4772/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update IDLs to expose on Workers Signed-off-by: Daniel Adams <msub2official@gmail.com> * Update usage of Canvas/OffscreenCanvas union, add label Signed-off-by: Daniel Adams <msub2official@gmail.com> * Update WPT expectations Signed-off-by: Daniel Adams <msub2official@gmail.com> * Fix match arm Signed-off-by: Daniel Adams <msub2official@gmail.com> * Add missing spec links Signed-off-by: Daniel Adams <msub2official@gmail.com> * Update expectations Signed-off-by: Daniel Adams <msub2official@gmail.com> * Update interfaces.worker.js Signed-off-by: Daniel Adams <msub2official@gmail.com> --------- Signed-off-by: Daniel Adams <msub2official@gmail.com>
* Update web-platform-tests to revision ↵Servo WPT Sync2024-09-22591-13213/+27133
| | | | | b'8e164c249d2b93a4234a2710a5e2cc5a16fab499' (#33515) Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
* fix many clippy warnings (#33510)Gae242024-09-2113-34/+29
| | | Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
* bindings: Allow Guard to take multiple conditions, check for SecureContext ↵Daniel Adams2024-09-218-32/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | in ConstructorEnabled (#33508) * Update condition handling for exposing values - Let Guard take a list of conditions - Check for secure context condition when exposing constructor Signed-off-by: Daniel Adams <msub2official@gmail.com> * Update WPT expectations Signed-off-by: Daniel Adams <msub2official@gmail.com> * Python tidy Signed-off-by: Daniel Adams <msub2official@gmail.com> * Make interfaces test run in secure context Signed-off-by: Daniel Adams <msub2official@gmail.com> --------- Signed-off-by: Daniel Adams <msub2official@gmail.com>
* chore: Update wgpu (#33506)Samson2024-09-2133-361/+206
| | | | | | | | | | | | | | | | | | | | | | | | | * Update wgpu Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * use all backends at runtime Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * clean up some adapter stuff Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Update expectations Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * flakes Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> --------- Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* build(deps): bump unicode-script from 0.5.6 to 0.5.7 (#33507)dependabot[bot]2024-09-201-2/+2
| | | | | | | | | | | | | | Bumps [unicode-script](https://github.com/unicode-rs/unicode-script) from 0.5.6 to 0.5.7. - [Commits](https://github.com/unicode-rs/unicode-script/compare/v0.5.6...v0.5.7) --- updated-dependencies: - dependency-name: unicode-script 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>
* build(deps): bump unicode-width from 0.1.13 to 0.1.14 (#33505)dependabot[bot]2024-09-201-2/+2
| | | | | | | | | | | | | | Bumps [unicode-width](https://github.com/unicode-rs/unicode-width) from 0.1.13 to 0.1.14. - [Commits](https://github.com/unicode-rs/unicode-width/compare/v0.1.13...v0.1.14) --- updated-dependencies: - dependency-name: unicode-width dependency-type: indirect 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>
* Enable min-content, max-content, fit-content and stretch (#33492)Oriol Brufau2024-09-2066-2799/+121
| | | | | | | | | For the sizing properties. We don't actually support them yet, just treating them as the initial value. Signed-off-by: Oriol Brufau <obrufau@igalia.com> Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* webgpu: Support more `TextureFormat`s in `GPUCanvasContext.configure()` (#33504)Samson2024-09-201-16/+25
| | | | | | | | | | | | | * `descriptor` -> `configuration` to match spec Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Support more `TextureFormat`s in `GPUCanvasContext.configure()` Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> --------- Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* openharmony: add servoshell for ohos (#33295)Mukilan Thiyagarajan2024-09-2031-9/+625
| | | | | | | | | | | | | * openharmony: add servoshell for ohos Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * ohos: handle missing signing config on forks Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> --------- Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* build(deps): bump unicode-xid from 0.2.5 to 0.2.6 (#33501)dependabot[bot]2024-09-191-2/+2
| | | | | | | | | | | | | | Bumps [unicode-xid](https://github.com/unicode-rs/unicode-xid) from 0.2.5 to 0.2.6. - [Commits](https://github.com/unicode-rs/unicode-xid/compare/v0.2.5...v0.2.6) --- updated-dependencies: - dependency-name: unicode-xid dependency-type: indirect 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>
* layout: Ensure that `<caption>`'s support `position: relative` (#33426)Martin Robinson2024-09-195-7/+52
| | | | | | | | | This change adds support for `position: relative` to table `<caption>`. In addition to adjusting their position according to inset values, table captions must also establish containing blocks for descendants that are absolutely positioned. Signed-off-by: Martin Robinson <mrobinson@igalia.com> Co-authored-by: Oriol Brufau <obrufau@igalia.com>