This is a meta bug to track all the changes needed to add a WebDriver implementation for WebKitGTK+. To reuse as much as possible what WebKit already implements, we first need to switch our remote web inspector to use ENABLE_REMOTE_INSPECTOR instead of ENABLE_INSPECTOR_SERVER. Then we need to add web driver process and some API for the parts browsers need to implement.
Is this eventually going to obsolete Metrological's WebDriver implementation for WPE (https://github.com/Metrological/webdriver), or are we only implementing this for GTK and not WPE for now?
The WebDriver implementation is 95% cross-platform. For the GTK+ port we have a few bits of libsoup for the HTTP server implementation and GTK part (GTK as in GTK port, not that GTK+ is used at all) just to launch the browser and handle some specific capabilities like enabling/disabling overlay scrollbars in tests. So, only that part would be needed in WPE in the WebDriver implementation itself. However, it uses the remote inspector mechanism for the communication with the browser, so WPE would need to switch to use remote inspector, but they prefer to stay with the legacy web sockets approach. Maybe it's possible to use both at the same time, and use the remote inspector only for automation.
We are also working on another implementation of WebDriver in WPE, using ENABLE_INSPECTOR_SERVER and WebAutomation APIs.
This is based on Metrological's WebDriver, reworked to remove an extra IPC layer and use WebAutomation.
Remote inspector is not suitable for most WPE end-users and set-top box web developers, since it requires a very similar WebKit browser to run the inspector frontend.
Would it really be possible to enable both remote/server inspectors at the same time?