<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [GTK] Web Process crashes on reparenting a WebView with AC mode on"
href="https://bugs.webkit.org/show_bug.cgi?id=151139#c5">Comment # 5</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [GTK] Web Process crashes on reparenting a WebView with AC mode on"
href="https://bugs.webkit.org/show_bug.cgi?id=151139">bug 151139</a>
from <span class="vcard"><a class="email" href="mailto:cgarcia@igalia.com" title="Carlos Garcia Campos <cgarcia@igalia.com>"> <span class="fn">Carlos Garcia Campos</span></a>
</span></b>
<pre>This is yet another regression introduced when the redirected x window creation was moved to realize. The problem is that when the web view is unrealized and realized again (for example when reparented like in your example), the redirected window is re-created. That happens quite fast by the unique_ptr, in the UI process, and the web process keeps using the old redirected window ID until a new SetNativeSurfaceHandleForCompositing message is sent. This makes the web process crash, and the drawing area is deleted, since we don't properly recover from the crash, the next realize/unrealize pair makes realize use the null drawing area causing also the ui process to crash. We need to delete the redirected window earlier, un unrealize, but notify the web process before to stop rendering layers.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>