[Webkit-unassigned] [Bug 166682] Add initial implementation of WebDriver process to run the HTTP server
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Jul 12 11:48:42 PDT 2017
https://bugs.webkit.org/show_bug.cgi?id=166682
Michael Catanzaro <mcatanzaro at igalia.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mcatanzaro at igalia.com
--- Comment #7 from Michael Catanzaro <mcatanzaro at igalia.com> ---
Comment on attachment 315232
--> https://bugs.webkit.org/attachment.cgi?id=315232
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=315232&action=review
Um, wow.
> Source/WebDriver/CMakeLists.txt:1
> +set_property(DIRECTORY . PROPERTY FOLDER "WebDriver")
What is this for? Did you copy it from somewhere?
> Source/WebDriver/CMakeLists.txt:29
> +set(WebDriver_SCRIPTS
> + ${WEBKIT2_DIR}/UIProcess/Automation/atoms/ElementAttribute.js
> + ${WEBKIT2_DIR}/UIProcess/Automation/atoms/ElementDisplayed.js
> + ${WEBKIT2_DIR}/UIProcess/Automation/atoms/FindNodes.js
> + ${WEBKIT2_DIR}/UIProcess/Automation/atoms/FormElementClear.js
> + ${WEBKIT2_DIR}/UIProcess/Automation/atoms/FormSubmit.js
> +)
This is unusual layering...?
> Source/WebDriver/CMakeLists.txt:46
> +add_dependencies(WebDriver WTF)
Is this really needed to link? It should be inherited from JSC.
> Source/WebDriver/CommandResult.h:54
> + explicit CommandResult(Status, RefPtr<Inspector::InspectorValue>&& = nullptr);
Good use of explicit!
> Source/WebDriver/HTTPServer.h:51
> + HTTPServer(HTTPRequestClient&);
explicit. Don't want HTTPRequestClients magically turning into HTTPServers by mistake.
> Source/WebDriver/HTTPServer.h:52
> + ~HTTPServer() = default;
Why does this need to be declared?
> Source/WebDriver/Session.cpp:117
> +long Session::sendCommandToBackend(const String& command, RefPtr<InspectorObject>&& parameters, Function<void (CommandResponse&&)>&& responseHandler)
> +{
> + static long lastSequenceID = 0;
long, really? Why not int64_t? Or uint64_t?
>> Source/WebDriver/Session.cpp:1046
>> + case 0xE001U:
>
> How can String::operator[] return values greater than 0xFFFF? And what are these values?
Why do you think 0xE001 is greater than 0xFFFF? :)
A link to the spec would be helpful, though, yes.
> Source/WebDriver/Session.h:107
> + Session(Capabilities&&);
I'd use explicit here too.
>> Source/WebDriver/soup/HTTPServerSoup.cpp:40
>> + WTFLogAlways("Failed to start HTTPS server at port %u: %s", port, error->message);
>
> Is it really https?
Nope, that would require passing SOUP_SERVER_LISTEN_HTTPS for the third argument. Anyway, it's a local socket, so that would be pointless. The log message should be fixed.
> Source/cmake/OptionsGTK.cmake:140
> +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBDRIVER PUBLIC ON)
Does it depend on ENABLE_MINIBROWSER? That would require declaring a dependency between the options in OptionsGTK.cmake, and having a chat about whether to turn ENABLE_MINIBROWSER on by default or disable ENABLE_WEBDRIVER by default. I'm uncertain which would be more preferable.
Am I missing something here?
> Source/cmake/OptionsGTK.cmake:279
> + message(FATAL_ERROR "GLib 2.40 is required to enabled WebDriver support.")
"to enable"
> Source/cmake/OptionsGTK.cmake:282
> + message(FATAL_ERROR "libsoup 2.48 is required to enabled WebDriver support.")
Ditto.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20170712/63e7033a/attachment.html>
More information about the webkit-unassigned
mailing list