Browse Source

LibWeb: Do not store message port objects in a plain vector

Timothy Flynn 8 tháng trước cách đây
mục cha
commit
cd2a34deb7

+ 3 - 3
Userland/Libraries/LibWeb/HTML/MessageEvent.cpp

@@ -66,10 +66,10 @@ Variant<JS::Handle<WindowProxy>, JS::Handle<MessagePort>, Empty> MessageEvent::s
 JS::NonnullGCPtr<JS::Object> MessageEvent::ports() const
 JS::NonnullGCPtr<JS::Object> MessageEvent::ports() const
 {
 {
     if (!m_ports_array) {
     if (!m_ports_array) {
-        Vector<JS::Value> port_vector;
-        for (auto const& port : m_ports) {
+        JS::MarkedVector<JS::Value> port_vector(heap());
+        for (auto const& port : m_ports)
             port_vector.append(port);
             port_vector.append(port);
-        }
+
         m_ports_array = JS::Array::create_from(realm(), port_vector);
         m_ports_array = JS::Array::create_from(realm(), port_vector);
         MUST(m_ports_array->set_integrity_level(IntegrityLevel::Frozen));
         MUST(m_ports_array->set_integrity_level(IntegrityLevel::Frozen));
     }
     }