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
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
chickenleaf
9acb25521e
CanGc changes from fontfaceset.rs ( #33920 )
...
* CanGc changes from fontfaceset.rs
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* Update components/script/dom/bindings/codegen/Bindings.conf
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
Signed-off-by: chickenleaf <lashwinib@gmail.com>
---------
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
Signed-off-by: chickenleaf <lashwinib@gmail.com>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2024-10-21 12:28:56 +00:00
chickenleaf
92f12ff7cd
Propagate CanGc through dommatrix, dommatrixreadonly, and testbindings ( #33822 )
...
* CanGc fixes starting from dommatrix.rs
fixed conflicts
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
~
* cleaning up
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* fixed cannot find value can_gc in this scope error
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
---------
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2024-10-13 16:11:46 +00:00
chickenleaf
20a15619f0
CanGc fixes starting from imagedata.rs ( #33808 )
...
* CanGc fixes starting from imagedata.rs
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* Update components/script/dom/imagedata.rs
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
Signed-off-by: chickenleaf <lashwinib@gmail.com>
---------
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
Signed-off-by: chickenleaf <lashwinib@gmail.com>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2024-10-11 16:38:23 +00:00
Chocolate Pie
1223335547
enhance: Implement CanvasRenderingContext2D.measureText
( #32704 )
...
Signed-off-by: Chocolate Pie <106949016+chocolate-pie@users.noreply.github.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-07-17 19:20:18 +00:00
Martin Robinson
18b37e676b
script: Reduce the use of unsafe
in LayoutDom ( #31979 )
...
Remove the use of unsafe code in the layout wrappers of the DOM. The
main change here is that `unsafe_get()` no longer needs to be an unsafe
method, which allows us to transitively remove or reduce unsafe blocks
from callers. The function itself is not renamed, because it's still
a bit dangerous to start removing the layers of abstraction from actual
DOM nodes.
In addition `init_style_and_opaque_layout_data` can be merged into
`initialize_data`, which removes one more unsafe method.
Finally, a "Safety" section is added to some unsafe methods.
2024-04-03 08:41:19 +00:00
Oluwatobi Sofela
a8976ff00a
clippy: Fix option_as_ref_deref warnings ( #31936 )
2024-03-29 11:52:45 +00:00
Azhar Ismagulova
4d5bcdc057
fix: remove unused imports ( #31929 )
2024-03-28 23:20:20 +00:00
Oluwatobi Sofela
66ad795014
clippy: Fix mem_replace_with_default warnings ( #31921 )
2024-03-28 13:10:37 +00:00
Rosemary Ajayi
5aae820f6d
clippy: Fix a few clippy problems in components/scripts/dom
( #31905 )
...
* option_as_ref_deref
* fix
2024-03-28 11:24:39 +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
Smitty
b2ae3928ab
canvas2d: Implement .reset()
( #31258 )
...
* Implement Canvas2D reset
* Update WPT tests
* Apply suggestions from code review
---------
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2024-02-05 08:53:00 +00:00
Samson
604979e367
Replace script_plugins with a clippy like rustc driver (named crown) ( #30508 )
...
* Remove script_plugins
* Use crown instead of script_plugins
* crown_is_not_used
* Use crown in command base
* bootstrap crown
* tidy happy
* disable sccache
* Bring crown in tree
* Install crown from tree
* fix windows ci
* fix warning
* fix mac
libscript_plugins.dylib is not available anymore
* Update components/script/lib.rs
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* Update for nightly-2023-03-18
Mostly just based off https://github.com/servo/servo/pull/30630
* Always install crown
it's slow only when there is new version
* Run crown test with `mach test-unit`
* Small fixups; better trace_in_no_trace tests
* Better doc
* crown in config.toml
* Fix tidy for real
* no sccache on rustc_wrapper
* document rustc overrides
* fixup of compiletest
* Make a few minor comment adjustments
* Fix a typo in python/servo/platform/base.py
Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com>
* Proper test types
* Ignore tidy on crown/tests
---------
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2023-12-01 15:50:52 +00:00
Oriol Brufau
3543a87592
Allow currentColor in canvas context's shadowColor ( #30754 )
...
This allows unifying the parse_color function and method, aligns Servo
with other browsers, and obeys the HTML spec:
- https://html.spec.whatwg.org/multipage/canvas.html#shadows
- https://html.spec.whatwg.org/multipage/infrastructure.html#parsed-as-a-css-color-value
2023-11-20 11:03:18 +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
Utsav Oza
34d0c313dc
Enable textAlign, textBaseline and direction attributes for canvas
2020-06-10 22:34:20 +05:30
Utsav Oza
15fd256302
Store resolved font style in canvas context state
2020-06-10 22:10:44 +05:30
Utsav Oza
7883718c12
Query layout to resolve canvas font property value
2020-06-10 22:10:42 +05:30
Utsav Oza
bd8fbee12c
Resolve mach build warnings
2020-04-10 23:02:31 +05:30
Utsav Oza
d98ade2a68
Remove DomRefCell wrapper for canvas_state from CanvasRenderingContext2D
2020-04-10 23:02:30 +05:30
Manish Goregaokar
fccfff11c5
Update euclid
2020-04-07 08:51:08 -07:00
Anthony Ramine
e561911066
Make LayoutCanvasRenderingContext2DHelpers::get_canvas_id be safe
2020-03-31 21:23:55 +02:00
Anthony Ramine
9d337ea013
Make LayoutCanvasRenderingContext2DHelpers methods take self
2020-03-29 16:08:53 +02:00
Anthony Ramine
dba6a635e5
Give a lifetime parameter to LayoutDom
2020-03-28 15:37:57 +01:00
YUAN LYU
3ea6d87bcc
Add trait DomObjectWrap to provide WRAP function
2020-03-20 22:16:56 -04:00
pylbrecht
588c09b580
Implement CanvasRenderingContext2D.getTransform()
2020-02-12 08:49:18 +01:00
pylbrecht
481ef46167
Make create_pattern() return None for incomplete images
2020-02-10 14:23:38 +01:00
Bailey Blankenship
ec2961920b
Addresses issues raised in #24465 ; removes redundancy in set_bitmap_dimensions
...
Removed passing test .ini files and moved euclid extensions to euclidext.rs to factor out redundant code
2019-11-10 18:37:14 -05:00
Hanif Bin Ariffin
31ff2d43cc
Moved CanvasState out of canvasrenderingcontext
...
Cleaned up imports...
Applied clang-tidy
Moved CanvasState and some other files
Next commit should remove pub modifier from members of CanvasState and use getters/setters instead.
Members of CanvasState are now private and applied test-tidy
Now have getters that return an immutable reference.
Also, I have no idea what to name some_func.rs
Removed need for some_func and made pub(crate)
2019-10-25 02:27:57 -04:00
Rasmus Viitanen
328809aebe
fix getimagedata returns empty pixels
2019-10-16 21:20:46 +02:00
Josh Matthews
1df8d57dc6
Support CORS attributes for image elements.
2019-10-04 15:08:40 -04:00
Josh Matthews
583536c940
Use the paint worklet's base URL for the 2d canvas' origin checks.
2019-10-04 09:22:21 -04:00
Josh Matthews
81a67aed9e
Double key image cache by requesting origin, and store CORS status with cached images.
2019-10-04 09:22:21 -04:00
Paul Rouget
3695fb1eb4
Temporary implementation of Canvas.MeasureText
2019-09-25 13:34:48 +02:00
Emilio Cobos Álvarez
3d57c22e9c
Update euclid.
...
There are a few canvas2d-related dependencies that haven't updated, but they
only use euclid internally so that's not blocking landing the rest of the
changes.
Given the size of this patch, I think it's useful to get this landed as-is.
2019-07-23 23:09:55 +02:00
Emilio Cobos Álvarez
2e5078e9c5
layout: Fix servo build.
2019-06-04 01:04:02 -04:00
Maharsh
85c20db495
Extract canvas operations for reuse by OffscreenCanvas.
2019-05-22 10:24:54 -04:00
Maharsh
cbff66928f
removed comments
2019-05-13 14:17:12 -04:00
Maharsh
854ba8d514
Borrow Layout Change
2019-05-13 12:04:17 -04:00
Maharsh
65e1f1fb3e
Updated Testcases and Formatting
2019-05-11 21:58:15 -04:00
Maharsh
1de8ddd89c
Changes for sender reciever
2019-05-09 21:54:48 -04:00
Maharsh
30cc087526
Changes for gitignore
2019-05-09 18:30:25 -04:00
Maharsh
6c6fb676b7
Created CanvasRect fro OffscreenCanvas and Updated Testcases
2019-03-29 15:12:53 -04:00
Simon Sapin
be69f9c3e6
Rustfmt has changed its default style :/
2018-12-28 13:17:47 +01:00
Anthony Ramine
9a8d03a0f3
Make HTMLCanvasElement::fetch_all_data return a shared memory blob
2018-11-21 12:53:50 +01:00
Anthony Ramine
cfca906ee2
Call rgba8_byte_swap_colors_inplace on the WebGL thread
2018-11-20 10:14:52 +01:00