|IRC Nick||Time (GMT-7)||Message|
|dutchy_||06:08||hiho, can you guys tell me if there's a way to detect with JS if a plugin is running(not active or installed, running) ?|
|dutchmeat||06:08||hiho, can you guys tell me if there's a way to detect with JS if a plugin is running(not active or installed, running) ?
to get the instance of the running plugin when you switch pages
|dougma||06:08||there can be more than one running plugin
is it your webpage?
easier to remember the plugin you instantiate.
|dutchmeat||06:08||well I don't want to make a ajax'ed website right now
lets assume there's only one instance
is it possible ?
|dougma||06:08||not sure i understand you...
what is the difference between "active" and "running"?\
|dutchmeat||07:08||you can deactivate plugins in about:plugins, so it's installed, but inactive. When it's running, there's an instance of pluginContainer for example
so the plugin is loaded/running
|dougma||07:08||ok... now i get you
no you can't.
you could make a plugin to help you determine whether a plugin is running. :)
|taxilian||08:08||dougma: he could search the DOM for object or embed tags, I suppose|
|joel||11:08||Hi, I need to implement Security Zones in my plugin. I need some assistance on getting started with this. Can I get linked to an example etc... thanks!|
|taxilian||11:08||I don't think there is an actual example
but if you look at JSAPIAuto you can see some partial examples
|joel||11:08||looking that up|
|taxilian||11:08||it's in ScriptingCore
basically you just need to define the APIs int he zone you want them to be in
then you set the zone you should be in when you instantiate the object
|joel||11:08||ok, thanks. I should be able to get started...
ill take a run at it, thanks
|taxilian||11:08||let me know if you have questions|
|Binbo||19:08||taxillian : hi, where should I put my sockets code and its threads in order to keep it isolated for each plugin instances when opening multiple tabs ? Currently one tab affecting others ( i.e closing a tab causing other instances to crash).
|dougma||19:08||you either make your
socket code and threads per-plugin-instance
or share it between instances
it sounds like you are sharing it
or at least trying to
|Binbo||19:08||dougma : yup. what do you mean by per-plugin-instance? does it mean define it locally?|
your class deriving that class is the plugin instance
notice the shutdown method?
|dougma||19:08||"This is called when the plugin needs to shut down to give it a chance to stop all threads; the destructor would be too late for thread shutdown. "|
|Binbo||19:08||so basically I should implement it within plugincore?|
|dougma||19:08||your class should implement it, yes.|
|taxilian||19:08||Your myplugin class extends plugin core|
|dougma||19:08||you don't modify plugincore.|
|Binbo||19:08||sorry for my dumbness. But I want to understand it clearly. Currently I just put the codes in myplugin class. My head is a bit messed up =.=|
|dougma||19:08||ok. so are you shutting down your socket thread?|
|Binbo||19:08||I called interrupt and join in shutdown() of myplugin
|dougma||19:08||good. so now you need to debug your crash.|
|kirrukirru||19:08||Firebreath looks like great plugin framework..I wish I had found it earlier..|
|Binbo||19:08||the thing is one tab crashing other tabs. So obviously there are something shared|
|taxilian||19:08||Binbo: actually if any of the instances crash, the whole plugin crashes
kirrukirru: sorry, we're not very good at marketting around here, I'm afraid
|kirrukirru||19:08||I have a technical question..|
|Binbo||19:08||I debug it first|
|kirrukirru||19:08||I would like to embed my Firebreath ActiveX into a Windows application..|
|taxilian||19:08||theoretically possible; I have never done it. others have, but nobody here, I don't think
but ask and we'll help if we can
|kirrukirru||19:08||I vaguely understand that FBControl class is what needs to be changed to support the embedment..
but not sure how to proceed..
|dougma||19:08||why does it need to change?|
|kirrukirru||19:08||in terms of the implemented ATL interfaces ?|
|dougma||19:08||yeah, but what's it missing?|
|kirrukirru||19:08||to support the embedding into Windows application..|
|taxilian||19:08||there are others already using it that way; I don't know of any reason anything would need to be changed|
I saw the axwrapper sample..
but, I don't want to use the wrapper..
|taxilian||19:08||that's almost totally different; that's to put an activex control inside firebreath|
|kirrukirru||19:08||you think it is possible to embed with out having a wrapper too ?
|taxilian||19:08||to put firebreath inside a windows app you'd basically just embed it the same way you would any other COM object
for example, the msie control
|kirrukirru||19:08||I tried that, but there is an assertion as the site is null..|
|taxilian||19:08||you'll have to create a site|
|dougma||19:08||or modify firebreath. :)|
|taxilian||19:08||https://github.com/firebreath/FireBreath/blob/master/src/libs/WebView/Win/WebViewWin.cpp is a reasonably decent example of this|
|taxilian||19:08||trust me, it's easier to create a couple of dummy COM objects than it is to try dinking around with the firebreath activex magic
I mean code
|dougma||19:08||ja, assuming you can modify the host|
|taxilian||19:08||dougma: take a look at the webview stuff sometimes; it creates dummy objects for all of that in order to embed the ie control inside firebreath
the host can basically be a dumb object
sounds fun. :)
|taxilian||19:08||fun… well, that's one way to put it, I suppose
this is my project today: http://test.hamstudy.org/browse/E2_2010/T1 trying to make the "flip card" alternate state line up
I hate CSS
it's almost as bad as if I didn't have CSS, except that at least things are possible
|dougma||19:08||hah! i did a card flipping thing one time. :)|
|kirrukirru||19:08||I just now tried a quick debug of embedding of the player..
the host is null..
i suppose it is, because it goes looking for an IWebBrowser
but does that cause a problem?
|taxilian||19:08||kirrukirru: you need to call some APIs that FireBreath is expecting to see
things like InPlaceActivate and possibly InitNew from IPropertyBag
|dougma||19:08||the plugin shouldn't assume it can get a browser host ptr|
|taxilian||19:08||the browserhostptr *has* to be there; it doesn't neccesarily have to connect to an actual browser, though|
|taxilian||20:08||that's one of those things that could possibly be named better
if anyone has any ideas =]
'xept now that would confuse everyone...
|kirrukirru||20:08||setAPI of JSAPI_IDispatchExBase is not being called..getHost of the same returns null..
@taxilian: Could you tell where to call InPlaceActivate ?
|taxilian||20:08||when you're ready for it to start displaying
actually maybe you don't call that yourself
take a look at https://github.com/firebreath/FireBreath/blob/master/src/libs/WebView/Win/WebViewWin.cpp#L127
a lot of it will be the same
InPlaceActivate should get called sometime around when DoVerb(OLEIVERB_SHOW…) gets called
|kirrukirru||20:08||neither onPluginReady nor onWindowAttached attached were called before the assertion..|
|taxilian||20:08||just means you're not calling something that you need to call|