[webkit-changes] [WebKit/WebKit] 267e69: [GTK] Crash on authentication dialog with GTK 4

EWS noreply at github.com
Wed Nov 16 10:03:47 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 267e69155f831540e8db927613f7b86de673d88f
      https://github.com/WebKit/WebKit/commit/267e69155f831540e8db927613f7b86de673d88f
  Author: Madhu <enometh at net.meer>
  Date:   2022-11-16 (Wed, 16 Nov 2022)

  Changed paths:
    M Source/WebKit/UIProcess/API/gtk/WebKitAuthenticationDialog.cpp
    M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp

  Log Message:
  -----------
  [GTK] Crash on authentication dialog with GTK 4
https://bugs.webkit.org/show_bug.cgi?id=246852

Reviewed by Michael Catanzaro

fix gtk4 auth dialog crashes. take three

* Source/WebKit/UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
(okButtonClicked): `rememberPassword' is a GtkCheckButton in gtk4,
doesn't inherit Button or ToggleButton. fix cast.
(webkitAuthenticationDialogInitialize): `rememberCheckButton' is a
GtkCheckButton which in Gtk4 apparently gets created with a label
property and no explicit label child. Do not set the the line wrap
property on a non-existent label.
(webkitAuthenticationDialogInitialize): `rememberCheckButton', adjust
for CheckButton changes in gtk4.
(webkitAuthenticationDialogUnmap): new. Implementation unsets the
default window widget which is set in
webkitAuthenticationDialogMap. Avoids the gtk4 crash reported in bug.
(webkit_authentication_dialog_class_init): hook in the above.
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:
"focus" is not a valid signal for gtk4's widgets such as the
WebKitAutheticationDialog. implement "move-focus" instead, to handle
the situation when a dialog is active and weforward focus events to
it, and we can tab between elements in the box. Presently there is a
problem: if you tab past the last element in the dialog box you cannot
get back in.
(webkitWebViewBaseMoveFocus): new. implementation which will be called
when someone emits a move-focus signal on us.

Canonical link: https://commits.webkit.org/256742@main




More information about the webkit-changes mailing list