Yerkebulan Tulibergenov
40655cc06c
add CanGc as argument to methods in DissimilarOriginWindow, DocumentFragment, DocumentType, DOMRect, DOMRectReadOnly, DOMStringMap ( #36395 )
...
add CanGc as argument to methods in DissimilarOriginWindow,
DocumentFragment, DocumentType, DOMRect, DOMRectReadOnly, DOMStringMap
Testing: These changes do not require tests because they are a refactor.
Addressed part of https://github.com/servo/servo/issues/34573 .
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2025-04-08 02:33:21 +00:00
Steven Novaryo
67a5f285ed
dom: Implement minimal IntersectionObserver workflow ( #35551 )
...
* Add very rough implemnentation of observation steps
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix entry reflection and propagate can_gc
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix BorrowError and add fragment find descendant
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Implement is descendant in containing block path correctly
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix unrooted error and tidy issues
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix comments
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Remove is descendant of other node query
I suppose these changes is better separated to other PRs.
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix intersection and refactor registration
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Use AppUnit more and propagate GlobalScope better
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Update WPT expectations
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Revert delay changes
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Align compute intersection algo to other browser actual behavior
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Align processing documents and note several issues
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Update WPT
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Minor lint
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix top level browsing context
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Make Registration rootable
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Avoid reflow inside observation step algo
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Using borrow for iterating registration
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix document disconnect
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Update WPT
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Address comments and minor quality suggestions
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Root the observer before nofifying any of it
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Tidy docs
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Account not found element and refactor observation step
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix documentations
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Ignore position of document viewport
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Refactor root intersection rectangle
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Add can GC note to the callback
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix top-level browsing context term
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix minor comments
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
---------
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
2025-03-18 11:09:44 +00:00
Simon Wülker
3d320fa96a
Update rustfmt to the 2024 style edition ( #35764 )
...
* Use 2024 style edition
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Reformat all code
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-03-03 11:26:53 +00:00
Josh Matthews
875e387004
script: Feature-gate all crown support. ( #35055 )
...
* script: Feature-gate all crown support.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* script: Use cfg(crown) instead of a cargo feature.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-01-18 21:36:15 +00:00
Josh Matthews
c94d909a86
script: Limit public exports. ( #34915 )
...
* script: Restrict reexport visibility of DOM types.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* script: Mass pub->pub(crate) conversion.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* script: Hide existing dead code warnings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Formatting.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Fix clippy warnings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Formatting.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Fix unit tests.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Fix clippy.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* More formatting.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-01-10 08:19:19 +00:00
Domenico Rizzo
0e9746fbbe
Add CanGc argument to reflect_dom_object ( #34606 )
...
* applied mach fmt
Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>
Refinements
Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>
Modified reflect_dom_object signature and all its calls
Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>
* fix function calls when parameter is passed up
Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>
---------
Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>
2024-12-13 15:51:59 +00:00
Josh Matthews
e956f3124c
Generate a trait abstracting over all known DOM interfaces ( #34357 )
...
* script: Generate trait for all DOM interfaces and parameterize generated Methods traits over it.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* script: Update trait implementations with new generic type.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Formatting.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2024-11-24 07:35:14 +00:00
Simon Wülker
c5899e596d
Implement DOMRect::FromRect ( #33798 )
...
* Implement DOMRect::FromRect
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Silence crown errors
The rect type does not contain any gc'd members,
so not rooting it is perfectly fineSilence crown errors
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update WPT expectations
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Add SVGRect to the list of exposed interface globals
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update WPT manifest
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2024-10-11 15:35:59 +00:00
Josh Matthews
7d931e673a
script: Include constructors and static methods in generated DOM traits ( #33665 )
...
* Add all constructors, special operations, and static methods to generated DOM interface traits.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Move all constructors and static methods defined in bare impl blocks inside FooMethods trait impls.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Add missing doc links.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2024-10-08 01:51:58 +00:00
Josh Matthews
60ef6bc461
Start marking functions that can transitively trigger a GC ( #33144 )
...
* Mark JS reflector wrappers as CanGc.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Propagate CanGc from reflect_dom_object_with_proto.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Mark DOM constructors as GC operations.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2024-08-22 11:42:36 +00:00
Gregory Terzian
3d78d60619
implement basic infra for ResizeObserver ( #31108 )
2024-06-17 16:44:07 +00:00
Samson
aad2dccc9c
Strict import formatting (grouping and granularity) ( #30325 )
...
* strict imports formatting
* Reformat all imports
2023-09-11 19:16:54 +00:00
Josh Matthews
cc07e27864
Rename reflect_dom_object2.
2023-05-31 23:03:32 -04:00
Josh Matthews
dbff26bce0
Support arbitrary protos when wrapping DOM objects with constructors.
2023-05-28 23:23:12 -04:00
YUAN LYU
3ea6d87bcc
Add trait DomObjectWrap to provide WRAP function
2020-03-20 22:16:56 -04:00
Kunal Mohan
f7db4b7f80
Modify script
to prevent further violations of snake_case
2020-01-18 14:22:15 +05:30
Jan Andre Ikenmeyer
a1a14459c1
Update MPL license to https (part 3)
2018-11-19 14:47:12 +01:00
Pyfisch
9e92eb205a
Reorder imports
2018-11-06 22:35:07 +01:00
Simon Sapin
45f7199eee
cargo fix --edition
2018-11-06 15:26:02 +01:00
chansuke
c37a345dc9
Format script component
2018-09-19 17:40:47 -04:00
Simon Sapin
aa15dc269f
Remove use of unstable box syntax.
...
http://www.robohornet.org gives a score of 101.36 on master,
and 102.68 with this PR. The latter is slightly better,
but probably within noise level.
So it looks like this PR does not affect DOM performance.
This is expected since `Box::new` is defined as:
```rust
impl<T> Box<T> {
#[inline(always)]
pub fn new(x: T) -> Box<T> {
box x
}
}
```
With inlining, it should compile to the same as box syntax.
2017-10-16 17:16:20 +02:00
Anthony Ramine
f87c2a8d76
Rename Root<T> to DomRoot<T>
...
In a later PR, DomRoot<T> will become a type alias of Root<Dom<T>>,
where Root<T> will be able to handle all the things that need to be
rooted that have a stable traceable address that doesn't move for the
whole lifetime of the root. Stay tuned.
2017-09-26 09:49:10 +02:00
Anthony Ramine
0e3c54c191
Rename dom::bindings::js to dom::bindings::root
2017-09-26 02:19:05 +02:00
Anthony Ramine
31e9d81c0f
Make #[dom_struct] a proc_macro attribute
2017-02-24 01:50:51 +01:00
Anthony Ramine
19108aa330
Pass a &GlobalScope to WebIDL static methods and constructors
2016-10-06 21:35:49 +02:00
Anthony Ramine
fcb59d3057
Make reflect_dom_object take a &GlobalScope
2016-10-06 20:59:09 +02:00
Ms2ger
0c61be7a57
Rustfmt some of script.
2015-11-18 11:14:05 +01:00
rohan.prinja
45224028db
more refactoring
2015-10-30 20:26:29 +09:00
Till Schneidereit
4c1c05fac6
Improve implementation of DOMRect and implement DOMRectReadOnly
...
Passes most tests from test-css.
2015-10-17 22:47:01 +02:00