aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/performanceobserver.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/performanceobserver.rs')
-rw-r--r--components/script/dom/performanceobserver.rs19
1 files changed, 15 insertions, 4 deletions
diff --git a/components/script/dom/performanceobserver.rs b/components/script/dom/performanceobserver.rs
index 8d689a35785..c3349dd3d87 100644
--- a/components/script/dom/performanceobserver.rs
+++ b/components/script/dom/performanceobserver.rs
@@ -9,7 +9,7 @@ use crate::dom::bindings::codegen::Bindings::PerformanceObserverBinding::Perform
use crate::dom::bindings::codegen::Bindings::PerformanceObserverBinding::PerformanceObserverInit;
use crate::dom::bindings::codegen::Bindings::PerformanceObserverBinding::PerformanceObserverMethods;
use crate::dom::bindings::error::{Error, Fallible};
-use crate::dom::bindings::reflector::{reflect_dom_object, DomObject, Reflector};
+use crate::dom::bindings::reflector::{reflect_dom_object2, DomObject, Reflector};
use crate::dom::bindings::root::DomRoot;
use crate::dom::bindings::str::DOMString;
use crate::dom::console::Console;
@@ -20,6 +20,7 @@ use crate::dom::performanceobserverentrylist::PerformanceObserverEntryList;
use crate::script_runtime::JSContext;
use dom_struct::dom_struct;
use js::jsval::JSVal;
+use js::rust::HandleObject;
use std::cell::Cell;
use std::rc::Rc;
@@ -63,22 +64,32 @@ impl PerformanceObserver {
}
}
- #[allow(unrooted_must_root)]
pub fn new(
global: &GlobalScope,
callback: Rc<PerformanceObserverCallback>,
entries: DOMPerformanceEntryList,
) -> DomRoot<PerformanceObserver> {
+ Self::new_with_proto(global, None, callback, entries)
+ }
+
+ #[allow(unrooted_must_root)]
+ fn new_with_proto(
+ global: &GlobalScope,
+ proto: Option<HandleObject>,
+ callback: Rc<PerformanceObserverCallback>,
+ entries: DOMPerformanceEntryList,
+ ) -> DomRoot<PerformanceObserver> {
let observer = PerformanceObserver::new_inherited(callback, DomRefCell::new(entries));
- reflect_dom_object(Box::new(observer), global)
+ reflect_dom_object2(Box::new(observer), global, proto)
}
#[allow(non_snake_case)]
pub fn Constructor(
global: &GlobalScope,
+ proto: Option<HandleObject>,
callback: Rc<PerformanceObserverCallback>,
) -> Fallible<DomRoot<PerformanceObserver>> {
- Ok(PerformanceObserver::new(global, callback, Vec::new()))
+ Ok(PerformanceObserver::new_with_proto(global, proto, callback, Vec::new()))
}
/// Buffer a new performance entry.