My original post in this thread was because jsMath was behaving differently on
different OSes, using the same QtWebkit. Posts since then have been about
creating a minimal compilable example of the behavior, which is not yet done,
but other investigations I've done tell me much more specifically how jsMath is
behaving differently.
By modifying some of the internal jsMath code, I've (had my program) spit out
debugging information at key points. Here is the difference. When I call
jsMath.Process( a div in my document ), it does
jsMath.Autoload.Script.Push( 'Process', that div );
This works the same on both platforms. However, on Mac and Linux, subsequent
jsMath magic brings about calls to these jsMath.Autoload.Script functions.
jsMath.Autoload.Script.xmlLoad (of plugins/tex2math.js)
jsMath.Autoload.Script.endLoad
jsMath.Autoload.Script.AfterLoad
jsMath.Autoload.Script.RunStack
jsMath.Autoload.Script.RunStack
(in here, all pushed functions get called)
They happen in this order, with indentation showing what calls what. But on
Windows, the only result of the Push() call (besides having the item put onto
the internal queue) is that later a jsMath.Autoload.Script.setURL() call
happens, but the RunStack calls never happen, and thus routines I've asked
jsMath to Synchronize() do not ever get called.
How jsMath gets the xmlLoad call started based simply on adding something to
the end of an array, I have not yet discovered. (The array doesn't have any
special setters/handlers that I know of, not that I know what the heck I'm
talking about in that regard.) But setTimeout() is used internally a lot to
propagate some of these calls to others; I've done very primitive testing of
setTimeout() and clearTimeout() through the QtWebkit web inspector on the
Windows machine I'm using and it seems to work fine.
I'm boggled, and will keep digging. Any tips are welcome.
Nathan
_______________________________________________
webkit-qt mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-qt