Babele Dunnit wrote:
And yes, I saw the two static functions, but I
was able to use directly only the Start one, because the Stop has some
external-linkage stuff (nsIFrame, nsIObjectFrame etc...)

Yeah, I just meant those as starting points.

It might be good to have a saner API for this (say on
nsIObjectLoadingContent).  File a bug?

well, in fact is quite complex, not for the plugins itself - sure it
should be stated somewhere that those two calls are enough for the
plugin itself to stop properly - but the real mess is all the code one
cannot replicate because is external linkage. All nsIFrames etc...

Right, hence it might be a good idea to have an API on nsIObjectLoadingContent or similar that lets you do this.

BTW: while digging, I found something I cannot understand: there is
the concept of "delayed stop", which you apply only ifdef WIN_XP and
with Real audio.

No, it's also used in nsObjectFrame::Destroy for all plugins.

See http://mxr.mozilla.org/firefox/source/layout/generic/nsObjectFrame.cpp#1904
... but then some funcs are called, BOOL delayedStop seems not to be
altered, and then I find 
http://mxr.mozilla.org/firefox/source/layout/generic/nsObjectFrame.cpp#1773
is called... how this could even return TRUE? delayedStop can be true
only if the plugin is Real, and if so, it cannot be QuickTime or
Flip4Mac.. Or I am missing something?

Yes, the second caller of StopPluginInternal (the one in Destroy).

-Boris
_______________________________________________
dev-embedding mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-embedding

Reply via email to