diff options
author | Patrick Shaughnessy <pshaughn@comcast.net> | 2020-02-05 18:32:42 -0500 |
---|---|---|
committer | Patrick Shaughnessy <pshaughn@comcast.net> | 2020-02-14 11:34:51 -0500 |
commit | e0b768c6cc409e14cd81a749c64ce4a3711aeb75 (patch) | |
tree | 7831d1018aa447ceccda5ee717fcc27ad975d3fa /components/script/dom/messageevent.rs | |
parent | 4f36472b6fed75568c651cbbeecc6678791018a9 (diff) | |
download | servo-e0b768c6cc409e14cd81a749c64ce4a3711aeb75.tar.gz servo-e0b768c6cc409e14cd81a749c64ce4a3711aeb75.zip |
alphabetized frozen supported entry types on the global, avoid moving Heap into Option
Diffstat (limited to 'components/script/dom/messageevent.rs')
-rw-r--r-- | components/script/dom/messageevent.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/components/script/dom/messageevent.rs b/components/script/dom/messageevent.rs index 62d7789e7e5..447c2f3ccd1 100644 --- a/components/script/dom/messageevent.rs +++ b/components/script/dom/messageevent.rs @@ -255,10 +255,13 @@ impl MessageEventMethods for MessageEvent { .collect(); let frozen_ports = to_frozen_array(ports.as_slice(), cx); - // Cache the Js value. - let heap_val = Heap::default(); - heap_val.set(frozen_ports); - *self.frozen_ports.borrow_mut() = Some(heap_val); + // Safety: need to create the Heap value in its final memory location before setting it. + *self.frozen_ports.borrow_mut() = Some(Heap::default()); + self.frozen_ports + .borrow() + .as_ref() + .unwrap() + .set(frozen_ports); frozen_ports } |