Title: [239444] trunk/Source
Revision
239444
Author
[email protected]
Date
2018-12-20 09:44:39 -0800 (Thu, 20 Dec 2018)

Log Message

[GTK] WebDriver: tests in imported/w3c/webdriver/tests/element_clear/user_prompts.py are failing
https://bugs.webkit.org/show_bug.cgi?id=192927

Patch by Carlos Garcia Campos <[email protected]> on 2018-12-20
Reviewed by Michael Catanzaro.

Source/WebDriver:

Handle user prompts in element clear command.

* Session.cpp:
(WebDriver::Session::elementClear):

Source/WebKit:

Give the focus back to the web view when a dialog is dismissed.

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

Modified Paths

Diff

Modified: trunk/Source/WebDriver/ChangeLog (239443 => 239444)


--- trunk/Source/WebDriver/ChangeLog	2018-12-20 17:37:56 UTC (rev 239443)
+++ trunk/Source/WebDriver/ChangeLog	2018-12-20 17:44:39 UTC (rev 239444)
@@ -1,3 +1,15 @@
+2018-12-20  Carlos Garcia Campos  <[email protected]>
+
+        [GTK] WebDriver: tests in imported/w3c/webdriver/tests/element_clear/user_prompts.py are failing
+        https://bugs.webkit.org/show_bug.cgi?id=192927
+
+        Reviewed by Michael Catanzaro.
+
+        Handle user prompts in element clear command.
+
+        * Session.cpp:
+        (WebDriver::Session::elementClear):
+
 2018-12-19  Chris Dumez  <[email protected]>
 
         wtf/Optional.h: move-constructor and move-assignment operator should disengage the value being moved from

Modified: trunk/Source/WebDriver/Session.cpp (239443 => 239444)


--- trunk/Source/WebDriver/Session.cpp	2018-12-20 17:37:56 UTC (rev 239443)
+++ trunk/Source/WebDriver/Session.cpp	2018-12-20 17:44:39 UTC (rev 239444)
@@ -1560,21 +1560,28 @@
         return;
     }
 
-    RefPtr<JSON::Array> arguments = JSON::Array::create();
-    arguments->pushString(createElement(elementID)->toJSONString());
-
-    RefPtr<JSON::Object> parameters = JSON::Object::create();
-    parameters->setString("browsingContextHandle"_s, m_toplevelBrowsingContext.value());
-    if (m_currentBrowsingContext)
-        parameters->setString("frameHandle"_s, m_currentBrowsingContext.value());
-    parameters->setString("function"_s, FormElementClearJavaScript);
-    parameters->setArray("arguments"_s, WTFMove(arguments));
-    m_host->sendCommandToBackend("evaluateJavaScriptFunction"_s, WTFMove(parameters), [protectedThis = makeRef(*this), completionHandler = WTFMove(completionHandler)](SessionHost::CommandResponse&& response) {
-        if (response.isError) {
-            completionHandler(CommandResult::fail(WTFMove(response.responseObject)));
+    handleUserPrompts([this, elementID, completionHandler = WTFMove(completionHandler)](CommandResult&& result) mutable {
+        if (result.isError()) {
+            completionHandler(WTFMove(result));
             return;
         }
-        completionHandler(CommandResult::success());
+
+        RefPtr<JSON::Array> arguments = JSON::Array::create();
+        arguments->pushString(createElement(elementID)->toJSONString());
+
+        RefPtr<JSON::Object> parameters = JSON::Object::create();
+        parameters->setString("browsingContextHandle"_s, m_toplevelBrowsingContext.value());
+        if (m_currentBrowsingContext)
+            parameters->setString("frameHandle"_s, m_currentBrowsingContext.value());
+        parameters->setString("function"_s, FormElementClearJavaScript);
+        parameters->setArray("arguments"_s, WTFMove(arguments));
+        m_host->sendCommandToBackend("evaluateJavaScriptFunction"_s, WTFMove(parameters), [protectedThis = makeRef(*this), completionHandler = WTFMove(completionHandler)](SessionHost::CommandResponse&& response) {
+            if (response.isError) {
+                completionHandler(CommandResult::fail(WTFMove(response.responseObject)));
+                return;
+            }
+            completionHandler(CommandResult::success());
+        });
     });
 }
 

Modified: trunk/Source/WebKit/ChangeLog (239443 => 239444)


--- trunk/Source/WebKit/ChangeLog	2018-12-20 17:37:56 UTC (rev 239443)
+++ trunk/Source/WebKit/ChangeLog	2018-12-20 17:44:39 UTC (rev 239444)
@@ -1,3 +1,15 @@
+2018-12-20  Carlos Garcia Campos  <[email protected]>
+
+        [GTK] WebDriver: tests in imported/w3c/webdriver/tests/element_clear/user_prompts.py are failing
+        https://bugs.webkit.org/show_bug.cgi?id=192927
+
+        Reviewed by Michael Catanzaro.
+
+        Give the focus back to the web view when a dialog is dismissed.
+
+        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+        (webkitWebViewBaseContainerRemove):
+
 2018-12-20  Tim Horton  <[email protected]>
 
         Unparented WKWebView can't retrieve main resource data for a main frame plugin

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


--- trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp	2018-12-20 17:37:56 UTC (rev 239443)
+++ trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp	2018-12-20 17:44:39 UTC (rev 239444)
@@ -460,6 +460,8 @@
         priv->inspectorViewSize = 0;
     } else if (priv->dialog == widget) {
         priv->dialog = nullptr;
+        if (gtk_widget_get_visible(widgetContainer))
+            gtk_widget_grab_focus(widgetContainer);
     } else {
         ASSERT(priv->children.contains(widget));
         priv->children.remove(widget);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to