| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
|
|
|
|
| |
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
|
|
|
|
| |
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
|
|
|
|
| |
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
|
|
|
|
| |
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
|
|
|
|
| |
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
|
|
|
|
| |
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
|
|
|
|
| |
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
|
|
|
|
| |
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
|
|
|
|
| |
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Create safe wrapper for JSFunctions
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Add assert to check if the name ends in a null character
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Create macro to wrap unsafe extern "C" function calls
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Remove WRAPPER_FN
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Add macro example documentation
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Use C-string literals
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Ensure name is Cstr type
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Scope #[allow(unsafe_code)]
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
---------
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
|
|
|
|
|
|
| |
* Add Reader's WebIDL files
* Add necessary methods in ReadableStream.webidl
|
|
|
|
|
| |
---------
Co-authored-by: Jason Tsai <jason@pews.dev>
|
|
|
|
|
|
|
|
|
| |
This crate only takes care of fonts now as graphics related things are
split into other crates. In addition, this exposes data structures at
the top of the crate, hiding the implementation details and making it
simpler to import them.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This accomplishes two things:
1. Makes it easier to iterate through all inline formatting context
items.
2. Will make it possible to easily move back and forth through the tree
of inline boxes, in order to enable reordering and splitting inline
boxes on lines -- necessary for BiDi.
Co-authored-by: Rakhi Sharma <atbrakhi@igalia.com>
|
|
|
|
|
|
| |
Instead of allocating the inline padding and border space on the line,
allocate it on the segment -- which where the inline box start goes.
Co-authored-by: Rakhi Sharma <atbrakhi@igalia.com>
|
|
|
|
|
| |
* Fix codegen on callback
* Add test callbacks to testbinding.rs
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first part of cleaning up unused WebRender resources.
Currently this only cleans up web font resources, but a more
full-featured implementation in the future could also clean up unused
system fonts.
Fixes #32345.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
|
|
|
|
|
| |
* Reset link status when loading a new document
* Reset hover link when navigating back or forward
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This uses a pretty simple heuristic to select a font likely to contain
color emoji. In the future Servo should actually check if the font also
contains a color representation of the character in question. For now
the code assumes that when a font supports color glyphs of some kind and
supports the character in question at all, it supports the color
version.
This fixes support for rendering keycap emoji clusters such as 1️⃣ .
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Rakhi Sharma <atbrakhi@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* device lost promise should be init at creation of device object
* device lost impl
* lock for device poll
workaround for wgpu deadlocks
* expect
* Less lost reason reasoning in script
|
|
|
|
|
|
|
| |
DirectWrite APIs expect the bytes of table tags to be reversed when
reading them. Servo was doing this when loading font tables, but not all
of them. This led to shaping being broken on Windows. This fixes that
issue in a more comprehensive way and adds a comment to avoid this
failing in the future.
|
|
|
|
|
| |
This is part of the switch from `winapi` to `windows-sys`. `windows-sys` is
maintained by Microsoft, so is more "official." More and more crates are
switching to it.
|
|
|
|
|
| |
Disable some code for Windows, which is causing build warnings. When it
cannot be easily disabled (mainly for the incomplete BHM and sandbox
feature), allow dead code.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Update WebIDL.py
* Update WebIDL.py
* Add builtin-array.patch
* Fix CodegenRust.py and Configuration.py
* Fix missing downcasts
* mach fmt
* Update check and comment to explain why we need this check
* Update Global of DissimilarOriginWindow.webidl
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of linebreaking inside each single-font text segment, linebreak
the entire inline formatting context at once. This has several benefits:
1. It allows us to use `icu_segmenter` (already in use from style),
which is written against a newer version of the Unicode spec --
preventing breaking emoji clusters.
2. Opens up the possibility of changing the way that linebreaking and
shaping work -- eventually allowing shaping across inline box
boundaries and line breaking *after* shaping.
Co-authored-by: Rakhi Sharma <atbrakhi@igalia.com>
|
|
|
|
|
| |
On platforms that ship Noto, the list of fallback fonts can be shared.
This reduces code duplcation and makes it easier to keep up to date with
changes in Noto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Implement HTMLImageElement decode
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Fix Decode doc link
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Temp
* Decode HTML Image
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Fix doc link
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Move image decode to process_image_response_for_environment_change
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Update some wpt test result
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Handle multiple image decode promises
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Remove unnecessary promise calls
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Update more wpt test result
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Undo body-size-cross-origin.https.html.ini changes
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Reject decode when src and srcset are missing
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Revert "Reject decode when src and srcset are missing"
This reverts commit 1b57ab978f9fc24facafc8af97ee8851d5142533.
* Drain promises vec and run update_the_image_data when element is created
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* resolve decode promise in abort_request when request is CompletelyAvailable
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Update wpt test
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Move storing promise in decode task
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Remove the resolve logic from decode task
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Revert "Remove the resolve logic from decode task"
This reverts commit eee6096d50dbe46a22a5bbfd7f15c03988ed2f4b.
* reject or reject current promise before storing it
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
* Add comment to explain why resolve promise when state is CompletelyAvailable
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
---------
Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* feat: show tabs and processes on devtools
Co-authored-by: fabricedesre <fabrice@desre.org>
* chore: clean for pr
* fix: use serde renaming to avoid camel case
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* fix: serde rename all to camel case
* refactor: reduce getTab nesting level
---------
Co-authored-by: fabricedesre <fabrice@desre.org>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Each non-collapsed track used to increase the offset by the subsequent
border spacing. Now they will take care of their preceding spacing
instead.
This way, if a cell spans two rows, and the second is collapsed, the
cell won't be forced to be at least as tall as the border spacing.
This matches Gecko and Blink (WebKit lacks `visibility: collapse`).
This makes visibility-collapse-border-spacing-001.html fail because we
generate outlines in a different way than Blink. Gecko also fails it
in a similar (but different) way.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* layout: Take into account `display: table` etc in offset* queries
The specification says that for deciding whether an element should be
used for offset* queries, a browser should take into account whether the
element is a table cell or table. This change makes that happen.
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
* Only tag HTML elements if they are in the HTML namespace
---------
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
|
|
|
|
|
|
| |
Instead of using an explicit reflow when a web font laods, queue a
pending reflow. This should be able to eliminate multiple reflows some
situations. A followup should ensure that only nodes that have pending
fonts loading are reflows, but this change is the first step.
|
|
|
|
|
|
|
|
| |
The attribute was only taken into account on columns that are immediate
children of tables, and on column groups. It was ignored on columns
within column groups.
This patch moves the logic into a helper function that is then called
from the three consumers.
|