IRC Log Viewer » #firebreath » 2012-08-22

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. :)
dutchmeat 07:08 hehe
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).
taxilian* =p
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?
dougma 19:08 http://firebreath.org/display/documentation/class%20FB%20PluginCore
your class deriving that class is the plugin instance
notice the shutdown method?
Binbo 19:08 ya?
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
boost threads
dougma 19:08 good. so now you need to debug your crash.
kirrukirru 19:08 Hi everyone,
dougma 19:08 hi
taxilian 19:08 good morning
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
Binbo 19:08 got it
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
kirrukirru 19:08 I see
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 ?
Ah ok..
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
kirrukirru 19:08 OK, Thanks!!!
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
kirrukirru 19:08 ok..
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
dougma 19:08 cool.
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..
dougma 19:08 m_host?
in CFBControl?
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
dougma 20:08 oh ok...
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
hmm
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