Преглед изворни кода

LibWeb: Don't capture raw ptr in Document::completely_finish_loading()

It's not safe to capture a raw pointer in a HTML task, as the garbage
collector doesn't have visibility into the task captures.
Andreas Kling пре 2 година
родитељ
комит
4901f69345
1 измењених фајлова са 1 додато и 1 уклоњено
  1. 1 1
      Userland/Libraries/LibWeb/DOM/Document.cpp

+ 1 - 1
Userland/Libraries/LibWeb/DOM/Document.cpp

@@ -1399,7 +1399,7 @@ void Document::completely_finish_loading()
     // FIXME: 2. Set document's completely loaded time to the current time.
     // FIXME: 2. Set document's completely loaded time to the current time.
 
 
     // 3. Let container be document's browsing context's container.
     // 3. Let container be document's browsing context's container.
-    auto* container = browsing_context()->container();
+    auto container = JS::make_handle(browsing_context()->container());
 
 
     // If container is an iframe element, then queue an element task on the DOM manipulation task source given container to run the iframe load event steps given container.
     // If container is an iframe element, then queue an element task on the DOM manipulation task source given container to run the iframe load event steps given container.
     if (container && is<HTML::HTMLIFrameElement>(*container)) {
     if (container && is<HTML::HTMLIFrameElement>(*container)) {