| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| | |
More layout cleanups from the introduction of a lifetime in LayoutDom<T>
What can I say, the follow-up fixes just kept coming to my door one by one, I couldn't just tell them to go away.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
That return type is Sync, which thus means that the method can be safe.
|
| | |
|
| |
| |
| |
| | |
StyleSharedRwLock is Sync.
|
| | |
|
| |
| |
| |
| | |
Those help contain the unsafety in most of the actual helpers used by layout.
|
| |
| |
| |
| |
| | |
This safe helper contains the only source of unsafety from the actual image
layout helpers methods, making them completely safe.
|
| |
| |
| |
| |
| |
| | |
For clarity, I introduce <LayoutDom<Element>>::parent_node_ref to contain
the remaining unsafety bits out of composed_parent_node_ref which is more
complex than just a field access.
|
| | |
|
| | |
|
| |
| |
| |
| | |
Just like Castable::is.
|
| |
| |
| |
| |
| |
| | |
They don't do anything fancy so there is no additional unsafety calling them
compared to using LayoutDom in the first place, the usual story of all
those changes.
|
| |
| |
| |
| | |
It is only used twice.
|
| |
| |
| |
| | |
It generalises <LayoutDom<Element>>::attrs.
|
| |
| |
| |
| | |
The other methods are actually unsafe.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
This safe method is the basic block to access element attributes from layout.
We reuse it in the other attr-related layout methods to remove a pretty big
source of rampant unsafe code between script and layout.
|
| | |
|
| |
| |
| |
| |
| | |
The intent is to merge the two layout helper traits together
so I'm moving them around to make later diffs more readable.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
webgl: Don't dirty canvas element while in immersive mode.
There are various WebGL APIs that are supposed to trigger a frame composite at the end of the event loop when they're used. We enforce this via dirtying the canvas element and ensuring that reflow occurs for normal content. This is redundant when we're using immersive mode and incurs extra work by the layout thread and compositor that inhibits the immersive rendering performance.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix (part of) #26019
- [x] These changes do not require tests because we do not have infrastructure to test immersive mode on CI.
|
| | | |
|
|/ / |
|
|\|
| |
| |
| |
| |
| | |
Make LayoutNodeHelpers::text_content return a cow
What does it mean? It means that layout can process `Text` nodes' contents by just borrowing them, potentially saving us from a lot of unnecessary tempoorary allocations, which is nice.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
There is no need to do that. Embrace returning borrows from the DOM, it good.
|
| | |
|
| |
| |
| |
| | |
The unsafety isn't there, it's in the creation of the LayoutDom<T> values.
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix tojson unconditionally serializes
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #25281
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Implementation for ImageBitmap
<!-- Please describe your changes on the following line: -->
Created the boilerplate code for the image bitmap implementation.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #20650
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Implementation of ImageBitmap
ImageBitMap webidl file added
Implementation of ImageBitmap
mentioned the correct origin link
basic new and new_inherited
updated the mod.rs file to include imagebitmap
imagebitmap implemented
changed according to Serialization
implemented serializable
get methods for width and height
basic imagebitmap
added missing crates
added Vec and missing crates
Syntax fixes
Reformatting and minor error fixes
Implementation of ImageBitmap
tidy-test runs
Took out extra parameters in reflect_dom_object call
added comments with specification links for webidl functions
changing the code based on review comments
adding resolved changes form the pull request
Changes based on pr review
Changes based on pr review
ran test-tidy and fmt
removed the duplicate crate
removed unnecessary crates
Kept only the relevant crate import
Updated test expectations, exposed interface list, and manifest
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add support for DrawRangeElements in WebGL2
Adds initial support for the WebGL2 `DrawRangeElements` call.
<!-- Please describe your changes on the following line: -->
I have started working on this function, but not sure how could I check for the Uniform Block Backing (https://www.khronos.org/registry/webgl/specs/latest/2.0/#ACTIVE_UNIFORM_BLOCK_BACKING).
I am looking for some advice.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] There are tests for these changes
cc @mmatyas @zakorgy @jdm
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
|
| | |
| | |
| | |
| | | |
Adds initial support for the WebGL2 `DrawRangeElements` call.
|
| | |
| | |
| | |
| | | |
They don't return &'static references anymore.
|
| | | |
|