On 13/01/17 14:10, Vasiliy Faronov wrote: > Hi, > > I have a Python program that uses WebKitGTK+ (via > GObject-Introspection) to create a WebView, populate it with an HTML > form, and handle submissions of that form. > > See: https://gist.github.com/vfaronov/f1c1faa969c58b5990d02f5d9890b180 > > After my Python code has handled the submission, I want WebKit to stop > its further processing: it must *not* navigate away to the form's > target. > > To accomplish this, I keep references to the submission requests, as > suggested by the docs for the submit-form signal [1]. This works for > me with WebKitGTK+ 2.10 and 2.12. > > But with 2.14.2, the WebView "freezes" after my on_submit_form > callback returns. That is, after clicking the "Submit" button, it > stays visually pressed down, and I can no longer scroll the view or > type in the input field. However, if I click the "Submit" button again > in this "frozen" state, my callback is called again and produces the > same output. And if I right-click in the WebView, the context menu > still pops up. > > Of course, if I don't keep the reference -- that is, if I remove > "refs.append(request)" -- then the WebView navigates away to the form > target (about:blank), which is what I want to *prevent*. > > Any idea why my code breaks with 2.14? Maybe there's a better way to > do what I want? > > Thank you. > > [1] > https://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebView.html#WebKitWebView-submit-form > >
It seems that the accelerated compositing mode (that we enabled by default on 2.14.x) is triggering this issue (no idea why). Try to export this environment variable before running you program: export WEBKIT_DISABLE_COMPOSITING_MODE=1 With it, I'm not longer able to reproduce the freeze on the UI. Regards.
signature.asc
Description: OpenPGP digital signature
_______________________________________________ webkit-gtk mailing list webkit-gtk@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-gtk