RESOLVED FIXED Bug 32314
[Chromium] Introduce a class for devtools message data
https://bugs.webkit.org/show_bug.cgi?id=32314
Summary [Chromium] Introduce a class for devtools message data
Yury Semikhatsky
Reported 2009-12-09 01:55:41 PST
Currently devtools message passing interface allows to send messages with exactly 3 params, class and method names. Having a class describing message payload would add more flexibility.
Attachments
patch (6.58 KB, patch)
2009-12-09 02:17 PST, Yury Semikhatsky
no flags
patch (7.55 KB, patch)
2009-12-09 02:57 PST, Yury Semikhatsky
pfeldman: review+
patch (2.02 KB, patch)
2009-12-09 06:56 PST, Yury Semikhatsky
pfeldman: review+
Yury Semikhatsky
Comment 1 2009-12-09 02:17:40 PST
WebKit Review Bot
Comment 2 2009-12-09 02:21:36 PST
style-queue ran check-webkit-style on attachment 44525 [details] without any errors.
Yury Semikhatsky
Comment 3 2009-12-09 02:57:23 PST
WebKit Review Bot
Comment 4 2009-12-09 03:02:36 PST
style-queue ran check-webkit-style on attachment 44528 [details] without any errors.
Pavel Feldman
Comment 5 2009-12-09 03:18:26 PST
Comment on attachment 44528 [details] patch > + virtual void sendMessageToFrontend(const WebDevToolsMessageData&) {} nit: { } here and everywhere else. > > +template <typename T> class WebVector; > + remove this.
Yury Semikhatsky
Comment 6 2009-12-09 05:21:30 PST
(In reply to comment #5) > (From update of attachment 44528 [details]) > > + virtual void sendMessageToFrontend(const WebDevToolsMessageData&) {} > > nit: { } here and everywhere else. > Done. > > > > +template <typename T> class WebVector; > > + > > remove this. Done. Committing to http://svn.webkit.org/repository/webkit/trunk ... C WebKit/chromium/public/WebDevToolsFrontendClient.h => WebKit/chromium/public/WebDevToolsMessageData.h M WebKit/chromium/ChangeLog M WebKit/chromium/WebKit.gyp M WebKit/chromium/public/WebDevToolsAgent.h M WebKit/chromium/public/WebDevToolsAgentClient.h M WebKit/chromium/public/WebDevToolsFrontend.h M WebKit/chromium/public/WebDevToolsFrontendClient.h Committed r51897
Yury Semikhatsky
Comment 7 2009-12-09 06:55:47 PST
Reopening the bug since we need to add methods for dispatching devtools messages on the IO thread that accept WebDevToolsMessageData parameter.
Yury Semikhatsky
Comment 8 2009-12-09 06:56:34 PST
Pavel Feldman
Comment 9 2009-12-09 06:57:51 PST
Comment on attachment 44534 [details] patch Add TODO to remove the original one.
Yury Semikhatsky
Comment 10 2009-12-09 07:05:43 PST
(In reply to comment #9) > (From update of attachment 44534 [details]) > Add TODO to remove the original one. Done. Committing to http://svn.webkit.org/repository/webkit/trunk ... M WebKit/chromium/ChangeLog M WebKit/chromium/public/WebDevToolsAgent.h M WebKit/chromium/public/WebDevToolsAgentClient.h Committed r51899
Darin Fisher (:fishd, Google)
Comment 11 2009-12-09 07:48:31 PST
Comment on attachment 44534 [details] patch > + WEBKIT_API static bool dispatchMessageFromFrontendOnIOThread(const WebDevToolsMessageData&); It seems unfortunate that we need to mention things like "IOThread" in WebKit. That's an implementation detail of Chromium. Is it possible to avoid specifying details like this that cannot be understood without understanding Chromium?
Pavel Feldman
Comment 12 2009-12-09 08:03:04 PST
(In reply to comment #11) > (From update of attachment 44534 [details]) > > + WEBKIT_API static bool dispatchMessageFromFrontendOnIOThread(const WebDevToolsMessageData&); > > It seems unfortunate that we need to mention things like "IOThread" in WebKit. > That's > an implementation detail of Chromium. Is it possible to avoid specifying > details like > this that cannot be understood without understanding Chromium? It is named so on purpose. We need to execute these commands asynchronously wrt render thread. In our case it is IO thread that handles async dev tools agent <-> frontend communication. I do value abstraction a lot, but in this case I think we should be more transparent. It is interesting that devtools is the only feature that talks to WebKit/chromium on non-render thread. Or is there any other?
Note You need to log in before you can comment on or make changes to this bug.