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
atbrakhi
1591a3b506
Add webgpu
feature flag ( #34444 )
...
* Move script gpu files into webgpu folder
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
* Modify gpu webidls
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
* move gpu realted webidl
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
* add webgpu feature to script
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
* add dummy implementation for gpucanvascontext
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
* fmt
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
* add skip-if CARGO_FEATURE_WEBGPU
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
* Move NavigatorGPU and workerNavigator GPU to webgpu idl
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
* fmt and cleanup
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
* review fix
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
* enable webgpu by default and also some fmt fix
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
* Add pref back, fix imports, small cleanups
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
---------
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
2024-12-05 16:07:27 +00:00
atbrakhi
d2d3407501
Move script gpu files into webgpu folder ( #34415 )
...
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
2024-11-28 14:24:15 +00:00
Josh Matthews
3faed9b921
Filter out webidl files based on special comments, and feature-gate webxr interfaces. ( #34348 )
...
* Filter out webidl files based on skip-if directives.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* script: Don't build XR functionality without webxr feature.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Fix tidy.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* script: Adjust imports for file movement.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Fix clippy.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Formatting.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Clean up webxr module import.
Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com>
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com>
2024-11-24 18:01:35 +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
Josh Matthews
25a0764a37
Use out parameter for generated methods returning JSVal ( #34087 )
...
* Make generated bindings that return a WebIDL `any` value use out parameters.
Returning raw JSVal values makes it easier to create GC hazards in code
that calls these methods. Accepting a MutableHandle argument instead
ensures that the values are rooted by the caller.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Update mozjs.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Fix clippy warnings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2024-11-05 08:29:08 +00:00
chickenleaf
ebfea9b352
CanGc fixes in several files ( #33958 )
...
* few cangc fixes
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* few cangc fixes
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
---------
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2024-10-21 21:32:22 +00:00
Hayashi Mikihiro
a797969efe
Replace the lazy_static crate whth std::sync::LazyLock
in components/script ( #33004 )
...
* replace in str.rs
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
* replace navigator.rs
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
* replace htmlmetaelement.rs
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
* replace document.rs
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
* replace cssstyledeclaration.rs
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
* replace script_runtime.rs
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
* replace window_named_properties.rs
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
* reduce dependency lazy_static
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
* reduce lazy in script_runtime.rs
`Mutex::new()` is const contexts. I think that `JS_ENGINE` is need not lazy initialize.
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
---------
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2024-08-12 07:30:35 +00:00
Kitsu
67f239d1ba
clippy: fix several lint warns ( #32126 )
...
As seems #31500 still remain opened here's the next partial fix.
Fixed list: `unused_mut`, `clippy::needless_borrow`,
`clippy::match_ref_pats`, `clippy::borrow_deref_ref`, `clippy::ptr_eq`,
`clippy::unnecessary_cast`, `clippy::derivable_impls`,
`clippy::collapsible_match`, `clippy::extra_unused_lifetimes`,
`clippy::map_clone`, `clippy::manual_filter`.
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes are part of #31500 .
- [x] These changes do not require tests because are only cosmetic.
2024-04-22 06:45:39 +00:00
Daniel Adams
e38b34a629
Gamepad: Remove GamepadList and fix dropped connection event on startup ( #31684 )
...
* Replace GamepadList
* Fix initial gamepad connection event from gilrs getting dropped
* Fix gamepad reconnection issues, use MutNullableDom
* Reduce some repetition in handle_gamepad_events
* Address feedback, move some steps to navigator methods
* Refactor internal navigator gamepad methods
* Add note re: unused gilrs index, adjust navigator gamepad methods
2024-04-08 09:43:48 +00:00
Ekta Siwach
b0196ad373
clippy: Fix a variety of warnings in components/script/dom ( #31894 )
2024-03-29 14:43:10 +00:00
Oluwatobi Sofela
02a0cdd6fa
clippy: Fix dereferenced warnings ( #31770 )
2024-03-20 08:07:22 +00:00
Daniel Adams
48fa77df67
Gamepad: Align closer to spec and implement missing slots ( #31385 )
...
* Implement missing gamepad slots, align to spec more
- Fixes TODO's from initial gamepad implementation
- Adds some missing spec steps
* Only handle gamepad events when pref is enabled
* Return empty list in getGamepads if document not active
* ./mach fmt
* Update getGamepads to return an array instead of GamepadList
* Add spec link for [[exposed]] slot
* Remove failing test expectations for not-fully-active
* A few fixes
- Change should_notify to has_gesture
- Add spec links and TODO to navigator
- Remove unneeded clone from GamepadList::list
- Move gamepadconnected event firing into has_gesture block
* Use queue_with_canceller for tasks and add expects
* Explicitly check for gamepad user gesture
* Move user gesture check into separate function
* Change contains_user_gesture to be a gamepad function
* mach fmt
* Change axis/button threshold constants to be private to module
2024-03-12 12:32:30 +00:00
Smitty
20404a72c0
script: implement navigator.hardwareConcurrency ( #31268 )
...
Signed-off-by: syvb <me@iter.ca>
2024-02-07 18:41:58 +00:00
Martin Robinson
5c1723c983
rustdoc: Fix many rustdoc errors ( #31147 )
...
This fixes many rustdoc errors that occur due to raw URLs in rustdoc
comments as well as unescaped Rust code that should be in backticks.
2024-01-22 13:13:48 +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
2acd295ea6
dom: Implement Navigator.languages.
2020-07-14 11:50:59 -04:00
Alan Jeffrey
c611e46381
Remove WebVR
2020-04-08 20:23:41 -05:00
Josh Matthews
ab75808b8c
webgl: Don't dirty canvas element while in immersive mode.
2020-03-31 17:17:51 -04:00
YUAN LYU
3ea6d87bcc
Add trait DomObjectWrap to provide WRAP function
2020-03-20 22:16:56 -04:00
Josh Matthews
3e95efdea6
Avoid accessing DOM global from XR's destructor.
2020-02-24 16:27:40 -05:00
JavaScript Joe
30f474312f
refactor: rename XR to XRSystem
...
chore: fix formatting
refactor: change filename and ref to xrsystem
refactor: change filename XRSystem.webidl
refactor: update crate in navigator
refactor: use XRSystem instead of XR in navigator
refactor: update Bindings.conf
refactor: use XRSystemMethods
fix: update assertions for XRSystem
fix: update manifest json
2020-02-23 14:34:42 -08:00
Kunal Mohan
5a3e1b8e69
rename compartment to realm
2020-01-24 20:52:36 +05:30
Istvan Miklos
dbed5f1364
Support worker for WebGPU
...
To create resource ids for the WebGPU we need to access the `IdentityHub`.
In order to access the `IdentityHub` from a `Window` or a `Worker` as well, I've moved the `IdentityHub` to the `GlobalScope` from the `Navigator`.
2020-01-23 10:51:21 +01:00
Istvan Miklos
d33a4d29a0
Initial implementation of GPUPipelineLayout for WebGPU
...
Added WebIDL bindings for `GPUPipelineLayout`.
Implemented the createPipelineLayout function of `GPUDevice`.
2020-01-21 14:47:38 +01:00
Istvan Miklos
9cf007472b
Initial implementation of GPUBindGroupLayout for WebGPU
...
Added WebIDL bindings for `GPUBindGroupLayout`, `GPUBindGroupLayoutDescriptor`, `GPUBindingType`, `GPUShaderStage`
and `GPUBindGroupLayoutBinding` (Note: The servo's codegen doesn't like the name, because its already occupied).
Implemented the `createBindGroupLayout` function of `GPUDevice`.
2020-01-16 10:53:51 +01:00
Istvan Miklos
ebfcd0f27f
Initial implementation of GPUBuffer for WebGPU
...
Added WebIDL bindings for GPUBuffer, GPUBufferDescriptor, GPUBufferUsage
Implemented the `createBuffer` and `createBufferMapped` functions of GPUDevice
2019-12-17 11:00:08 +01:00
Zakor Gyula
e146e6058a
Replace wgpu-native with wgpu-core
2019-12-06 12:49:56 +01:00
Istvan Miklos
b15d2bb7d7
Initial implementation of GPUDevice for WebGPU
...
Added the WebIDL bindigs for GPUDevice, GPUObjectDescriptorBase, GPUDeviceDescriptor, GPUObjectBase
Implemented the `requestDevice` function of `GPUAdapter`
2019-12-05 11:50:33 +01:00
Istvan Miklos
b26598d470
Add WebGPU identity management
...
Issue: https://github.com/servo/servo/issues/24706#issuecomment-557891841
2019-11-28 10:33:03 +01:00
Zakor Gyula
12893aa010
Initial implementation of WebGPU API
2019-11-21 08:30:26 +01:00
Fernando Jiménez Moreno
b048d7faf7
Fix media session action handling
2019-11-20 13:34:29 +01:00
Fernando Jiménez Moreno
85ec66b43e
Move active media session logic to constellation
2019-11-20 13:33:51 +01:00
Fernando Jiménez Moreno
4d147d2c56
Register media instance with session and prepare communication with embedder
2019-11-20 13:33:14 +01:00
Fernando Jiménez Moreno
4b5b4d19bf
MediaSession API DOM bindings
2019-11-20 13:32:10 +01:00
oneturkmen
42569280e2
Script: removed a few opts::get()
2019-06-26 22:23:07 -06:00
Alan Jeffrey
4cfd62ac79
Added missing NavigatorId attributes
2019-06-11 11:46:28 -05:00
Bastien Orivel
292d468cd1
Use the newly added inCompartments option everywhere it can be
2019-05-25 17:28:07 +02:00
Aron Zwaan
e2e6e2ac94
Pass InCompartment by value
2019-04-25 11:37:35 +02:00
Aron Zwaan
1b6949d4cf
Add proof parameter to Promise::new_in_current_compartment
2019-04-24 19:46:10 +02:00
Aron Zwaan
782b58587a
Rename Promise::new to Promise::new_in_current_compartment
2019-04-03 20:45:30 +02:00
Manish Goregaokar
8b0719a6f2
Add MediaDevices::GetUserMedia
2019-01-29 11:37:00 -08:00
Manish Goregaokar
eee183d7f4
Add Navigator::MediaDevices
2019-01-29 11:37:00 -08:00
Manish Goregaokar
611dc4bc70
Remove now-unnecessary must_root and allow(unrooted_must_root) annotations
2019-01-04 15:05:07 -08:00
Manish Goregaokar
c6c6b518cb
Add spec links
2018-12-22 22:30:42 -08:00
Manish Goregaokar
28dff81dbf
Fill in XR frame/pose/view implementations
2018-12-21 15:47:28 -08:00
Manish Goregaokar
d5911816e1
Fill in XR.requestSession
2018-12-19 19:56:52 -08:00
Manish Goregaokar
376426a936
Move VR interface to XR
...
The WebVR spec no longer has a navigator.vr, but there is a navigator.XR in the XR spec. Instead of duplicating work I've combined the two.
2018-12-19 14:33:54 -08:00
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