From c3de9b72a62268bb2c2cc60a83bb593d70e1d04f Mon Sep 17 00:00:00 2001 From: yvt Date: Tue, 13 Jul 2021 20:53:53 +0900 Subject: [PATCH] feat(script): use `GlobalScope::origin` when creating a principals object The concrete types of `[Global]` DOM interfaces have `origin` methods, which were used before this commit. Some of them just delegate to `GlobalScope::origin` while others are implemented differently. This commit changes the created principals objects' associated origins in the following way: - `DedicatedWorkerGlobalScope` - was `WorkerGlobalScope::worker_url` - `DissimilarOriginWindow` - no change - `PaintWorkletGlobalScope` - no change - `ServiceWorkerGlobalScope` - was `ServiceWorkerGlobalScope::scope_url` - `TestWorkletGlobalScope` - no change - `Window` - no change --- components/script/dom/bindings/codegen/CodegenRust.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 001abc9ebce..4de72f74db4 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -2912,7 +2912,7 @@ class CGWrapGlobalMethod(CGAbstractMethod): return CGGeneric("""\ let raw = Root::new(MaybeUnreflectedDom::from_box(object)); -let origin = (*raw.as_ptr()).origin(); // `MutableOrigin` or `&MutableOrigin` +let origin = (*raw.as_ptr()).upcast::().origin(); rooted!(in(*cx) let mut obj = ptr::null_mut::()); create_global_object( @@ -2921,7 +2921,7 @@ create_global_object( raw.as_ptr() as *const %(concreteType)s as *const libc::c_void, _trace, obj.handle_mut(), - &origin); + origin); assert!(!obj.is_null()); let root = raw.reflect_with(obj.get());