Bug 104833
Summary: | consistent crash when webView is disposed in response to navigating to a dragged link | ||
---|---|---|---|
Product: | WebKit | Reporter: | Grant Gayed <grant_gayed> |
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
Status: | UNCONFIRMED | ||
Severity: | Normal | CC: | bugs-noreply |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Grant Gayed
- happens with the GTK+ 3 and GTK+ 2 ports
- affects Eclipse's use of WebKitGTK
Steps:
1. Add GtkLauncher's main.c:
static int navigationPolicyCb(WebKitWebView* web_view, WebKitWebFrame* frame, WebKitNetworkRequest* request, WebKitWebNavigationAction navigation_action, WebKitWebPolicyDecision* policy_decision) {
static int counter = 0;
if (counter++ > 0) {
gtk_widget_destroy (GTK_WIDGET(web_view));
}
return 0;
}
2. Add to main.c's createBrowser() implementation:
g_signal_connect(webView, "navigation-policy-decision-requested", G_CALLBACK(navigationPolicyCb), window);
3. Create an .html file with:
<HTML>
<BODY>
<A href="http://asdf">drag me out then back in</A>
</BODY>
</HTML>
4. Launch GtkLauncher and pass the created .html file's path (eg.- "./GtkLauncher file:///opt/welcome.html").
5. In the launched window drag its contained link outside of the window and then back in, then mouse up.
6. Leads to a crash in the event loop: _ZL24webkit_web_view_drag_endP10_GtkWidgetP15_GdkDragContext.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |