Title: [277428] trunk/Source/WebKit
Revision
277428
Author
[email protected]
Date
2021-05-13 02:53:20 -0700 (Thu, 13 May 2021)

Log Message

REGRESSION(r277262): test imported/w3c/web-platform-tests/css/selectors/focus-visible-002.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=225659

Reviewed by Adrian Perez de Castro.

Do not try to grab focus on WebView widget for synthesized mouse press and release events if the widget has
already the focus or is not the current toplevel focus widget.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSynthesizeMouseEvent):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (277427 => 277428)


--- trunk/Source/WebKit/ChangeLog	2021-05-13 09:49:27 UTC (rev 277427)
+++ trunk/Source/WebKit/ChangeLog	2021-05-13 09:53:20 UTC (rev 277428)
@@ -1,3 +1,16 @@
+2021-05-13  Carlos Garcia Campos  <[email protected]>
+
+        REGRESSION(r277262): test imported/w3c/web-platform-tests/css/selectors/focus-visible-002.html is crashing
+        https://bugs.webkit.org/show_bug.cgi?id=225659
+
+        Reviewed by Adrian Perez de Castro.
+
+        Do not try to grab focus on WebView widget for synthesized mouse press and release events if the widget has
+        already the focus or is not the current toplevel focus widget.
+
+        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+        (webkitWebViewBaseSynthesizeMouseEvent):
+
 2021-05-13  Commit Queue  <[email protected]>
 
         Unreviewed, reverting r277258.

Modified: trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp (277427 => 277428)


--- trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp	2021-05-13 09:49:27 UTC (rev 277427)
+++ trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp	2021-05-13 09:53:20 UTC (rev 277428)
@@ -2723,11 +2723,13 @@
             priv->contextMenuEvent = WTFMove(event);
         }
 #endif
-        gtk_widget_grab_focus(GTK_WIDGET(webViewBase));
+        if (!gtk_widget_has_focus(GTK_WIDGET(webViewBase)) && gtk_widget_is_focus(GTK_WIDGET(webViewBase)))
+            gtk_widget_grab_focus(GTK_WIDGET(webViewBase));
         break;
     case MouseEventType::Release:
         webEventType = WebEvent::MouseUp;
-        gtk_widget_grab_focus(GTK_WIDGET(webViewBase));
+        if (!gtk_widget_has_focus(GTK_WIDGET(webViewBase)) && gtk_widget_is_focus(GTK_WIDGET(webViewBase)))
+            gtk_widget_grab_focus(GTK_WIDGET(webViewBase));
         break;
     case MouseEventType::Motion:
         webEventType = WebEvent::MouseMove;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to