script: add TaskSource argument to route_promise (#36831)

Added task_source argument to route_promise, enabling callers to pick
the correct TaskSource.

Testing: No testing required, straightforward refactor
Fixes: #36825

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
This commit is contained in:
Gae24 2025-05-04 19:05:27 +02:00 committed by GitHub
parent 1e8896800a
commit 7e2d2ed0ce
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 46 additions and 15 deletions

View file

@ -470,7 +470,11 @@ impl GPUDeviceMethods<crate::DomTypeHolder> for GPUDevice {
can_gc: CanGc,
) -> Rc<Promise> {
let promise = Promise::new_in_current_realm(comp, can_gc);
let sender = route_promise(&promise, self);
let sender = route_promise(
&promise,
self,
self.global().task_manager().dom_manipulation_task_source(),
);
GPUComputePipeline::create(self, descriptor, Some(sender));
promise
}
@ -518,7 +522,11 @@ impl GPUDeviceMethods<crate::DomTypeHolder> for GPUDevice {
) -> Fallible<Rc<Promise>> {
let (implicit_ids, desc) = self.parse_render_pipeline(descriptor)?;
let promise = Promise::new_in_current_realm(comp, can_gc);
let sender = route_promise(&promise, self);
let sender = route_promise(
&promise,
self,
self.global().task_manager().dom_manipulation_task_source(),
);
GPURenderPipeline::create(self, implicit_ids, desc, Some(sender))?;
Ok(promise)
}
@ -549,7 +557,11 @@ impl GPUDeviceMethods<crate::DomTypeHolder> for GPUDevice {
/// <https://gpuweb.github.io/gpuweb/#dom-gpudevice-poperrorscope>
fn PopErrorScope(&self, comp: InRealm, can_gc: CanGc) -> Rc<Promise> {
let promise = Promise::new_in_current_realm(comp, can_gc);
let sender = route_promise(&promise, self);
let sender = route_promise(
&promise,
self,
self.global().task_manager().dom_manipulation_task_source(),
);
if self
.channel
.0