mirror of
https://github.com/RGBCube/serenity
synced 2025-06-01 12:08:14 +00:00
LibWeb: Re-implement WebDriver endpoint handling within Web::WebDriver
This moves communication and route matching for WebDriver endpoints into LibWeb. This is to reduce the amount of duplication required to create a WebDriver implementation for Ladybird. In doing so, this introduces some cleanup of WebDriver handling. Routes are now a compile-time array, and matching a route is nearly free of allocations (we still allocate a Vector for parsed parameters). This implementation also makes heavier use of TRY semantics to propagate errors into one handler.
This commit is contained in:
parent
47493b5734
commit
4eefa292df
3 changed files with 421 additions and 1 deletions
|
@ -438,6 +438,7 @@ set(SOURCES
|
|||
WebAssembly/WebAssemblyTableConstructor.cpp
|
||||
WebAssembly/WebAssemblyTableObject.cpp
|
||||
WebAssembly/WebAssemblyTablePrototype.cpp
|
||||
WebDriver/Client.cpp
|
||||
WebDriver/ElementLocationStrategies.cpp
|
||||
WebDriver/Error.cpp
|
||||
WebDriver/ExecuteScript.cpp
|
||||
|
@ -476,7 +477,7 @@ set(GENERATED_SOURCES
|
|||
serenity_lib(LibWeb web)
|
||||
|
||||
# NOTE: We link with LibSoftGPU here instead of lazy loading it via dlopen() so that we do not have to unveil the library and pledge prot_exec.
|
||||
target_link_libraries(LibWeb PRIVATE LibCore LibCrypto LibJS LibMarkdown LibGemini LibGL LibGUI LibGfx LibIPC LibLocale LibRegex LibSoftGPU LibSyntax LibTextCodec LibUnicode LibWasm LibXML LibIDL)
|
||||
target_link_libraries(LibWeb PRIVATE LibCore LibCrypto LibJS LibMarkdown LibHTTP LibGemini LibGL LibGUI LibGfx LibIPC LibLocale LibRegex LibSoftGPU LibSyntax LibTextCodec LibUnicode LibWasm LibXML LibIDL)
|
||||
link_with_locale_data(LibWeb)
|
||||
|
||||
generate_js_bindings(LibWeb)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue