WebKit Bugzilla
Attachment 357807 Details for
Bug 192927
: [GTK] WebDriver: tests in imported/w3c/webdriver/tests/element_clear/user_prompts.py are failing
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
wd-gtk-clear-prompts.diff (text/plain), 4.62 KB, created by
Carlos Garcia Campos
on 2018-12-20 05:46:47 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Carlos Garcia Campos
Created:
2018-12-20 05:46:47 PST
Size:
4.62 KB
patch
obsolete
>diff --git a/Source/WebDriver/ChangeLog b/Source/WebDriver/ChangeLog >index 0f81c161a07..7b2f25a8e0f 100644 >--- a/Source/WebDriver/ChangeLog >+++ b/Source/WebDriver/ChangeLog >@@ -1,3 +1,15 @@ >+2018-12-20 Carlos Garcia Campos <cgarcia@igalia.com> >+ >+ [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 NOBODY (OOPS!). >+ >+ Handle user prompts in element clear command. >+ >+ * Session.cpp: >+ (WebDriver::Session::elementClear): >+ > 2018-12-19 Chris Dumez <cdumez@apple.com> > > wtf/Optional.h: move-constructor and move-assignment operator should disengage the value being moved from >diff --git a/Source/WebDriver/Session.cpp b/Source/WebDriver/Session.cpp >index 0c63a20aa12..af2bb7a7cf5 100644 >--- a/Source/WebDriver/Session.cpp >+++ b/Source/WebDriver/Session.cpp >@@ -1560,21 +1560,28 @@ void Session::elementClear(const String& elementID, Function<void (CommandResult > 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()); >+ }); > }); > } > >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 3f27a965cc6..9c918b78350 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,15 @@ >+2018-12-20 Carlos Garcia Campos <cgarcia@igalia.com> >+ >+ [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 NOBODY (OOPS!). >+ >+ Give the focus back to the web view when a dialog is dismissed. >+ >+ * UIProcess/API/gtk/WebKitWebViewBase.cpp: >+ (webkitWebViewBaseContainerRemove): >+ > 2018-12-19 Chris Dumez <cdumez@apple.com> > > wtf/Optional.h: move-constructor and move-assignment operator should disengage the value being moved from >diff --git a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp >index d7d0a6d4984..4b26b108aac 100644 >--- a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp >+++ b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp >@@ -460,6 +460,8 @@ static void webkitWebViewBaseContainerRemove(GtkContainer* container, GtkWidget* > 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);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 192927
: 357807