Add initial implementation of WebDriver process to run the HTTP server
authorcarlosgc@webkit.org <carlosgc@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 18 Jul 2017 07:20:33 +0000 (07:20 +0000)
committercarlosgc@webkit.org <carlosgc@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 18 Jul 2017 07:20:33 +0000 (07:20 +0000)
commitb7b1341d4036a01dbd0a2bab4667dc09fa18626f
treed7ff82678591aea1075e1a36a42279dcb5ad5eee
parente4063040cc8a30f3b7a9511997cb7be7505e577f
Add initial implementation of WebDriver process to run the HTTP server
https://bugs.webkit.org/show_bug.cgi?id=166682

Reviewed by Brian Burg.

.:

Enable WebDriver in the GTK port by default.

* Source/CMakeLists.txt:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/WebKitFS.cmake:
* Source/cmake/WebKitFeatures.cmake:

Source/WebDriver:

Add WebDriver process that runs the HTTP server and implements an initial set of commands. Most of the code is
cross-platform, only the HTTP server implementation, the code to launch the browser and the communication with
the remote inspector requires platform specific code. This patch includes the GTK port implementation, using
libsoup for the HTTP server, and GLib for launching the browser and communicating with the remote
inspector. This implementation follows the w3c spec (https://www.w3.org/TR/webdriver) as close as possible, but
using the official selenium python tests as reference.

* CMakeLists.txt: Added.
* Capabilities.h: Added.
* CommandResult.cpp: Added.
* CommandResult.h: Added.
* HTTPServer.cpp: Added.
* HTTPServer.h: Added.
* PlatformGTK.cmake: Added.
* Session.cpp: Added.
* Session.h: Added.
* SessionHost.cpp: Added.
* SessionHost.h: Added.
* WebDriverMain.cpp: Added.
* WebDriverService.cpp: Added.
* WebDriverService.h: Added.
* config.h: Added.
* glib/SessionHostGlib.cpp: Added.
* gtk/WebDriverServiceGtk.cpp: Added.
* soup/HTTPServerSoup.cpp: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
24 files changed:
ChangeLog
Source/CMakeLists.txt
Source/WebDriver/CMakeLists.txt [new file with mode: 0644]
Source/WebDriver/Capabilities.h [new file with mode: 0644]
Source/WebDriver/ChangeLog [new file with mode: 0644]
Source/WebDriver/CommandResult.cpp [new file with mode: 0644]
Source/WebDriver/CommandResult.h [new file with mode: 0644]
Source/WebDriver/HTTPServer.cpp [new file with mode: 0644]
Source/WebDriver/HTTPServer.h [new file with mode: 0644]
Source/WebDriver/PlatformGTK.cmake [new file with mode: 0644]
Source/WebDriver/Session.cpp [new file with mode: 0644]
Source/WebDriver/Session.h [new file with mode: 0644]
Source/WebDriver/SessionHost.cpp [new file with mode: 0644]
Source/WebDriver/SessionHost.h [new file with mode: 0644]
Source/WebDriver/WebDriverMain.cpp [new file with mode: 0644]
Source/WebDriver/WebDriverService.cpp [new file with mode: 0644]
Source/WebDriver/WebDriverService.h [new file with mode: 0644]
Source/WebDriver/config.h [new file with mode: 0644]
Source/WebDriver/glib/SessionHostGlib.cpp [new file with mode: 0644]
Source/WebDriver/gtk/WebDriverServiceGtk.cpp [new file with mode: 0644]
Source/WebDriver/soup/HTTPServerSoup.cpp [new file with mode: 0644]
Source/cmake/OptionsGTK.cmake
Source/cmake/WebKitFS.cmake
Source/cmake/WebKitFeatures.cmake