script/dom/
debuggersetbreakpointevent.rs1use std::fmt::Debug;
6
7use dom_struct::dom_struct;
8
9use crate::dom::bindings::codegen::Bindings::DebuggerSetBreakpointEventBinding::DebuggerSetBreakpointEventMethods;
10use crate::dom::bindings::codegen::Bindings::EventBinding::Event_Binding::EventMethods;
11use crate::dom::bindings::reflector::reflect_dom_object;
12use crate::dom::bindings::root::DomRoot;
13use crate::dom::event::Event;
14use crate::dom::types::GlobalScope;
15use crate::script_runtime::CanGc;
16
17#[dom_struct]
18pub(crate) struct DebuggerSetBreakpointEvent {
20 event: Event,
21 spidermonkey_id: u32,
22 script_id: u32,
23 offset: u32,
24}
25
26impl DebuggerSetBreakpointEvent {
27 pub(crate) fn new(
28 debugger_global: &GlobalScope,
29 spidermonkey_id: u32,
30 script_id: u32,
31 offset: u32,
32 can_gc: CanGc,
33 ) -> DomRoot<Self> {
34 let result = Box::new(Self {
35 event: Event::new_inherited(),
36 spidermonkey_id,
37 script_id,
38 offset,
39 });
40 let result = reflect_dom_object(result, debugger_global, can_gc);
41 result
42 .event
43 .init_event("setBreakpoint".into(), false, false);
44
45 result
46 }
47}
48
49impl DebuggerSetBreakpointEventMethods<crate::DomTypeHolder> for DebuggerSetBreakpointEvent {
50 fn SpidermonkeyId(&self) -> u32 {
52 self.spidermonkey_id
53 }
54
55 fn ScriptId(&self) -> u32 {
56 self.script_id
57 }
58
59 fn Offset(&self) -> u32 {
60 self.offset
61 }
62
63 fn IsTrusted(&self) -> bool {
64 self.event.IsTrusted()
65 }
66}
67
68impl Debug for DebuggerSetBreakpointEvent {
69 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
70 f.debug_struct("DebuggerSetBreakpointEvent")
71 .field("spidermonkey_id", &self.spidermonkey_id)
72 .field("script_id", &self.script_id)
73 .field("offset", &self.offset)
74 .finish()
75 }
76}