Josh Matthews
c94ac5bccb
Move various reflector types and traits to script_bindings ( #35279 )
...
* script: Move Reflector to script_bindings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* script: Extract global() helper from DomObject into new trait. Move DomObject and related traits to script_bindings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-02-04 06:58:08 +00:00
Simon Wülker
dabe162d44
Implement shadow dom slots ( #35013 )
...
* Implement slot-related algorithms
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Hook up slot elements to DOM creation logic
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Set a slot assignment mode for servo-internal shadow roots
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Assign slots when a slottable's slot attribute changes
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Properly compute slot name
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* ./mach test-tidy
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update <slot> name when name attribute changes
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Implement fast path for Node::assign_slottables_for_a_tree
assign_slottables_for_a_tree traverses all descendants of the node
and is potentially very expensive. If the node is not a shadow root
then assigning slottables to it won't have any effect, so we
take a fast path out.
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Move slottable data into ElementRareData
This shrinks all element descendants back to their
original size.
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Address review comments
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update WPT expectations
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-01-19 14:05:05 +00:00
Martin Robinson
0e616e0c5d
api: Flatten and simplify Servo preferences ( #34966 )
...
Flatten and simplify Servo's preferences code. In addition, have both
preferences and options passed in as arguments to `Servo::new()` and
make sure not to use the globally set preferences in `servoshell` (as
much as possible now).
Instead of a complex procedural macro to generate preferences, just
expose a very simple derive macro that adds string based getters and
setters.
- All command-line parsing is moved to servoshell.
- There is no longer the concept of a missing preference.
- Preferences no longer have to be part of the resources bundle because
they now have reasonable default values.
- servoshell specific preferences are no longer part of the preferences
exposed by the Servo API.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-01-14 13:54:06 +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
chickenleaf
bb4932026c
cangc fixes in node.rs ( #33984 )
...
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2024-10-23 22:44:50 +00:00
tanishka
7015e0fb5f
CanGc fixes in errorevent.rs
( #33960 )
...
* CanGc fixes in errorevent.rs
Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
* Allow too_many_arguments to avoid lint error
Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
---------
Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-22 10:08:55 +00:00
tanishka
4850caeec4
clippy: Fix too_many_arguments warnings ( #33648 )
...
Signed-off-by: taniishkaaa <tanishkasingh2004@gmail.com>
2024-10-04 16:27:23 +00:00
Andriy Sultanov
e5150dbda1
Propagate CanGc
from Document::new()
( #33386 )
...
* Add canGc as a parameter to autogenerated trait methods
Signed-off-by: Andriy Sultanov <sultanovandriy@gmail.com>
* Propagate CanGc from Document::new()
Signed-off-by: Andriy Sultanov <sultanovandriy@gmail.com>
---------
Signed-off-by: Andriy Sultanov <sultanovandriy@gmail.com>
2024-09-09 22:38:01 +00:00
Oluwatobi Sofela
3c05b58221
clippy: Fix explicit_auto_deref
warnings in components/script
( #31837 )
...
* clippy: Fix explicit auto-deref warnings
* clippy: Fix explicit auto-deref warnings
* refactor: Tidy up code
* refactor: Fix method not found errors
2024-03-23 11:29:20 +00:00
Ennui Langeweile
80d9a2bb4f
Treat the keygen
element as obsolete ( #30429 )
...
* Eradicate the `keygen` element
* Run `./mach fmt`
* Fix relevant Servo test
* Fix outdated manifest
2023-09-26 21:37:46 +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
Samson
711dbbd4af
remove extern crate
( #30311 )
...
* 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>
2023-09-08 12:11:31 +00:00
Josh Matthews
dbff26bce0
Support arbitrary protos when wrapping DOM objects with constructors.
2023-05-28 23:23:12 -04:00
Josh Matthews
f79e1e327d
Make GlobalScope.get_cx a static method.
2023-05-20 11:05:09 -04:00
CYBAI
c561a3eb0e
Introduce ElementCSSInlineStyle for SVGElement
2020-06-05 00:10:19 +09:00
CYBAI
403ffcf1eb
Always pass InRealm to GlobalScope::from_context to avoid getting null global
2020-02-16 09:55:10 +09:00
Patrick Shaughnessy
8ca4db2cd6
:defined works
2020-01-30 10:09:51 -05:00
Patrick Shaughnessy
c1a23a85b2
Implement HTMLMenuElement
2020-01-23 18:04:48 -05:00
Patrick Shaughnessy
14d278ff1c
apply is: to Document.createElement even when name isn't registered yet
2019-12-22 20:46:31 -05:00
marmeladema
0703a1ad6d
Use safe JSContext as first argument for throw_dom_exception
2019-08-09 00:43:28 +01:00
marmeladema
88cacfb009
Modify *::get_cx methods to return a safe JSContext instead of a raw one
2019-07-24 09:53:10 +01:00
Josh Matthews
4328713f71
Update to SpiderMonkey 66.
2019-05-10 22:43:43 -04:00
Fernando Jiménez Moreno
c75da615bd
Add custom elements related stuff into ElementRareData
2019-04-26 11:31:19 +02:00
Peter Hall
8bfd4dc1e2
#8539 Config preferences backend restructure
2019-03-20 15:01:26 +00:00
Jan Andre Ikenmeyer
a1a14459c1
Update MPL license to https (part 3)
2018-11-19 14:47:12 +01:00
Simon Sapin
76e59a46d3
Sort use
statements
2018-11-06 15:26:02 +01:00
Simon Sapin
45f7199eee
cargo fix --edition
2018-11-06 15:26:02 +01:00
Simon Pieters
9b74f0af24
Remove the HTMLTable{Header,Data}CellElement interfaces
...
Fixes #17222 .
2018-10-02 19:23:02 +02:00
chansuke
c37a345dc9
Format script component
2018-09-19 17:40:47 -04:00
Rakhi Sharma
d47ce855ce
Implement HTMLPictureElement interface.
2018-01-29 20:27:54 -05:00
CYBAI
5486335708
Use specific assertion for DOM create
2018-01-26 01:18:56 +08:00
Emilio Cobos Álvarez
8b0f58c8af
script: Remove HTMLAppletElement.
...
It was removed from the spec, there's no reason to keep it in tree.
2017-11-06 17:08:14 +01: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
Connor Brewster
9f51c7df21
Track custom element state
2017-08-09 14:36:22 -06:00
Connor Brewster
6d9d4add61
Enqueue upgrades
2017-08-09 14:36:18 -06:00
Connor Brewster
41371208a5
Check namespace during ce def lookup
2017-08-09 14:36:16 -06:00
Connor Brewster
37cbc85727
Use HTMLElement interface for possible CEs
2017-08-09 14:36:13 -06:00
Connor Brewster
4665991503
Support custom element callback reactions
2017-07-17 22:23:45 -06:00
Connor Brewster
37e8b89377
Allow element prefix to be set
...
Implements step 6.1.10 of
https://dom.spec.whatwg.org/#concept-create-element
2017-06-23 21:10:01 -06:00
Connor Brewster
062b128688
Add flag for sync/async CE creation
2017-06-23 21:09:57 -06:00
Connor Brewster
2f36d3544f
Support is
option when creating elements
2017-06-23 21:09:55 -06:00
Connor Brewster
6697f5469d
Hook CE registry into element creation
2017-06-23 21:09:53 -06:00
Connor Brewster
2333b39569
Implement HTMLConstructor
2017-06-15 21:32:22 -06:00
Christian Poveda
62821a6915
Solving merge conficts related to the html5ever_atoms -> html5ever change
2017-05-03 12:57:49 -05:00
Christian Poveda
875e422fe6
Changed all prefixes from DOMString to the atomic Prefix from html5ever
2017-05-03 10:17:42 -05:00
Simon Sapin
6c518c89b9
Upgrade to html5ever 0.16
2017-05-02 19:24:28 +02:00
Emilio Cobos Álvarez
21bf91c386
script: Add infrastructure to track subresource loads in <link> and <style> elements.
2016-12-16 16:57:20 +01:00
Alan Jeffrey
9be4fd56ce
Removed util.
2016-12-14 18:04:37 -06:00
Simon Sapin
53b638c0e2
Update to string-cache 0.3
2016-11-03 16:23:05 +01:00