Sometimes IPDL files have preprocessing directives in them for good reasons.  I understand.  But searchfox didn't, possibly because of a long-held grudge over the use of preprocessor directives in JS and even HTML.  Or maybe searchfox is just a pile of deterministic code and it turns out parsers for languages that don't involve preprocessors can break when you feed them something with preprocessor directives in them all of a sudden?  Who's to say?

Either way, searchfox now just pretends that preprocessor directives in IPDL don't exist and the result is that searchfox now understands https://searchfox.org/mozilla-central/source/dom/ipc/PContent.ipdl. While this is very exciting on its own, what's ever very-er exciting is that searchfox's pre-alpha diagramming functionality can then understand and follow functions calls through Send/Recv pairs on PContent.  For example, who calls nsIIOService::SetOffline?  The diagram at https://searchfox.org/mozilla-central/query/default?q=calls-to%3A%27nsIIOService%3A%3ASetOffline%27%20depth%3A4 knows[0], traversing 2 pairs of IPC calls!  And the even pre-alpha-er diagram at https://asuth.searchfox.org/mozilla-central/query/default?q=calls-to%3A%27nsIIOService%3A%3ASetOffline%27%20depth%3A4 knows the same thing with more panache[1][2]!

Andrew

0: If you would like to see the option to use diagrams in your searchfox context menu, go to https://searchfox.org/mozilla-central/pages/settings.html and change either the "default feature gate" to "alpha" or the "diagramming feature gate" to "alpha".

1: More important than panache, as described at https://mozilla.social/@asutherland/111165928602692176 the changes on that branch include fundamental improvements to the data model that should allow for the diagrams to be made accessible to screen-readers.  Also, if you would like even more panache and for your system fans to potentially spin up as your system is brought to its knees due to ill-conceived and excessive use of SVG filters, open up devtools and run `blurrifyDiagram()`!

2: But they both seem to be experiencing some weird asymmetry between graphviz's font sizing on the server when generating the SVG layout and the font I'm using in Firefox.  It seems like graphviz is using a font for sizing that involves a ligature on "ff" which is not being used in the browser, causing text to run out the side of their containing nodes.  The current best workaround is to avoid looking at code that involves the word "offline".  If you're interested in seeing the underlying dot because you would like to help debug such things, it's possible to add `graph-format:raw-dot` to queries like so: https://asuth.searchfox.org/mozilla-central/query/default?q=calls-to%3A%27nsIIOService%3A%3ASetOffline%27+depth%3A4+graph-format%3Araw-dot

--
You received this message because you are subscribed to the Google Groups 
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/2d84c106-7424-44ce-8c9e-85d140a368b9%40asutherland.org.

Reply via email to