RESOLVED FIXED 204503
[GTK][WPE] RemoteInspector: use sockets instead of DBus
https://bugs.webkit.org/show_bug.cgi?id=204503
Summary [GTK][WPE] RemoteInspector: use sockets instead of DBus
Carlos Garcia Campos
Reported 2019-11-22 03:34:51 PST
It turns out DBus is event slower than expected. Using GSockets API we can simplify the code and make it a lot more efficient. This will drastically reduce the time to run WebDriver tests in the bots.
Attachments
Patch (108.75 KB, patch)
2019-11-22 03:42 PST, Carlos Garcia Campos
zan: review+
Carlos Garcia Campos
Comment 1 2019-11-22 03:42:35 PST
Konstantin Tokarev
Comment 2 2019-11-22 05:45:31 PST
Will it be protocol-compatible with generic implementation in inspector/remote/socket?
Zan Dobersek
Comment 3 2019-11-22 06:06:03 PST
Comment on attachment 384141 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=384141&action=review > Source/WTF/wtf/glib/SocketConnection.cpp:125 > + memmove(m_readBuffer.data(), m_readBuffer.data() + messageSize, m_readBuffer.size() - messageSize); This could be std::memmove(). > Source/WTF/wtf/glib/SocketConnection.cpp:175 > + memmove(m_writeBuffer.data(), m_writeBuffer.data() + bytesWritten, m_writeBuffer.size() - bytesWritten); And this too.
Carlos Garcia Campos
Comment 4 2019-11-22 06:16:15 PST
(In reply to Konstantin Tokarev from comment #2) > Will it be protocol-compatible with generic implementation in > inspector/remote/socket? No, the message format is different.
Carlos Garcia Campos
Comment 5 2019-11-22 06:22:47 PST
Ross Kirsling
Comment 6 2019-11-26 11:33:50 PST
(In reply to Carlos Garcia Campos from comment #4) > (In reply to Konstantin Tokarev from comment #2) > > Will it be protocol-compatible with generic implementation in > > inspector/remote/socket? > > No, the message format is different. How can we address this? It's really wasteful and unfortunate to have GTK/WPE move from DBus to sockets only to use a different implementation from the one that's meant for generic use. Basuke has had the socket-based inspector working downstream on GTK port for a long time, it just was higher-priority for us to get the WinCairo / PlayStation parts upstreamed first. Hopefully we can work together to realize a common solution.
Carlos Garcia Campos
Comment 7 2019-11-27 00:41:00 PST
We want to keep using GVariant for the message parameters, it's a lot more convenient when sending complex data, and probably more efficient too.
Note You need to log in before you can comment on or make changes to this bug.