Release assert in Document::updateLayout() in WebPage::determinePrimarySnapshottedPlu...
[WebKit-https.git] / Source / WebKit / ChangeLog
index 948f13b..bf01846 100644 (file)
@@ -1,3 +1,19 @@
+2018-06-07  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Release assert in Document::updateLayout() in WebPage::determinePrimarySnapshottedPlugIn()
+        https://bugs.webkit.org/show_bug.cgi?id=186383
+        <rdar://problem/40849498>
+
+        Reviewed by Jon Lee.
+
+        The release assert was hit because the descendent elemenet iterator, which instantiates ScriptDisallowedScope,
+        was alive as determinePrimarySnapshottedPlugIn invoked Document::updateLayout. Avoid this by copying
+        the list of plugin image elements into a vector first.
+
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::determinePrimarySnapshottedPlugIn): Fixed the release assert, and deployed Ref and RefPtr
+        to make this code safe.
+
 2018-06-07  Don Olmstead  <don.olmstead@sony.com>
 
         [CoordGraphics] Fix compilation errors around USE(COORDINATED_GRAPHICS)