Changeset 239444 in webkit


Ignore:
Timestamp:
Dec 20, 2018 9:44:39 AM (5 years ago)
Author:
commit-queue@webkit.org
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 <cgarcia@igalia.com> 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):

Location:
trunk/Source
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebDriver/ChangeLog

    r239427 r239444  
     12018-12-20  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        [GTK] WebDriver: tests in imported/w3c/webdriver/tests/element_clear/user_prompts.py are failing
     4        https://bugs.webkit.org/show_bug.cgi?id=192927
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        Handle user prompts in element clear command.
     9
     10        * Session.cpp:
     11        (WebDriver::Session::elementClear):
     12
    1132018-12-19  Chris Dumez  <cdumez@apple.com>
    214
  • trunk/Source/WebDriver/Session.cpp

    r239427 r239444  
    15611561    }
    15621562
    1563     RefPtr<JSON::Array> arguments = JSON::Array::create();
    1564     arguments->pushString(createElement(elementID)->toJSONString());
    1565 
    1566     RefPtr<JSON::Object> parameters = JSON::Object::create();
    1567     parameters->setString("browsingContextHandle"_s, m_toplevelBrowsingContext.value());
    1568     if (m_currentBrowsingContext)
    1569         parameters->setString("frameHandle"_s, m_currentBrowsingContext.value());
    1570     parameters->setString("function"_s, FormElementClearJavaScript);
    1571     parameters->setArray("arguments"_s, WTFMove(arguments));
    1572     m_host->sendCommandToBackend("evaluateJavaScriptFunction"_s, WTFMove(parameters), [protectedThis = makeRef(*this), completionHandler = WTFMove(completionHandler)](SessionHost::CommandResponse&& response) {
    1573         if (response.isError) {
    1574             completionHandler(CommandResult::fail(WTFMove(response.responseObject)));
    1575             return;
    1576         }
    1577         completionHandler(CommandResult::success());
     1563    handleUserPrompts([this, elementID, completionHandler = WTFMove(completionHandler)](CommandResult&& result) mutable {
     1564        if (result.isError()) {
     1565            completionHandler(WTFMove(result));
     1566            return;
     1567        }
     1568
     1569        RefPtr<JSON::Array> arguments = JSON::Array::create();
     1570        arguments->pushString(createElement(elementID)->toJSONString());
     1571
     1572        RefPtr<JSON::Object> parameters = JSON::Object::create();
     1573        parameters->setString("browsingContextHandle"_s, m_toplevelBrowsingContext.value());
     1574        if (m_currentBrowsingContext)
     1575            parameters->setString("frameHandle"_s, m_currentBrowsingContext.value());
     1576        parameters->setString("function"_s, FormElementClearJavaScript);
     1577        parameters->setArray("arguments"_s, WTFMove(arguments));
     1578        m_host->sendCommandToBackend("evaluateJavaScriptFunction"_s, WTFMove(parameters), [protectedThis = makeRef(*this), completionHandler = WTFMove(completionHandler)](SessionHost::CommandResponse&& response) {
     1579            if (response.isError) {
     1580                completionHandler(CommandResult::fail(WTFMove(response.responseObject)));
     1581                return;
     1582            }
     1583            completionHandler(CommandResult::success());
     1584        });
    15781585    });
    15791586}
  • trunk/Source/WebKit/ChangeLog

    r239442 r239444  
     12018-12-20  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        [GTK] WebDriver: tests in imported/w3c/webdriver/tests/element_clear/user_prompts.py are failing
     4        https://bugs.webkit.org/show_bug.cgi?id=192927
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        Give the focus back to the web view when a dialog is dismissed.
     9
     10        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
     11        (webkitWebViewBaseContainerRemove):
     12
    1132018-12-20  Tim Horton  <timothy_horton@apple.com>
    214
  • trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp

    r239427 r239444  
    461461    } else if (priv->dialog == widget) {
    462462        priv->dialog = nullptr;
     463        if (gtk_widget_get_visible(widgetContainer))
     464            gtk_widget_grab_focus(widgetContainer);
    463465    } else {
    464466        ASSERT(priv->children.contains(widget));
Note: See TracChangeset for help on using the changeset viewer.