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

IRC Nick Time (GMT-7) Message
paul___ 01:08 hello everybody
how can I use m_host->htmlLog in my own c++ object?
I using the header BrowerHost.h but my plugin fails
reichi 01:08 don't pass the browserhost around
it got at least me, into big trouble ;)
paul___ 01:08 its a FB "problem"?
excuse my ignorance
I can't use this in my own objects for debug ? :
reichi 01:08 you can
don't worry
paul___ 01:08 wow! perfect, which headers i need for integrate it?
for now, only have errors
reichi 01:08 I can't tell you why exactly, but i ran into problems when passing the host around
i guess that's due to the browser taking ownership of all the objects passed to JS
it seemed to me that indivdual objects still existed while the plugin was actually gone
which crashes
as the browser-host still has "living" references on the browser side
paul___: I gues you whould wait for taxillian to wake up
which will take another 7-8 hours usually
hmm make it 6-7
paul___ 01:08 Ok, I live in Spain is very i try stay here :d
reichi 01:08 I'm from germany
paul___ 01:08 thx for ur help, i try other methods while wait taxilian
Nice country :D
reichi 01:08 well
for pure debugging
paul___ 01:08 yes
reichi 01:08 you want to use the firebreath logging
et cetera
paul___ 01:08 Ok, I will read again this documentation page. Really I don't need print in console (it isn't vital) with my object, but if I can, will be very useful
A very nice and power full project
I love it :d
reichi 01:08 yeah
i really like it, too
it saved me a lot of time :)
paul___ 01:08 A lot. And is well thought out
edwin 02:08 Hi
hongde 02:08 Hello
I know the custom plugin is registered by regesvr32 command
but if I want to custom a chrome extension
how should I do?
Gordon_LN 08:08 In chrome I have a plugin on a "tab" when its hidden my control is destructed and when displayed it is re created. I suspect this is correct (but a pain). before I work around this, does any of this change in 1.7
Gordon_LN 09:08 Is testing 1.7 just a matter of switching to that branch, or did virtual methods change etc.?
-Zm160 is not large enough for debug build of 1.7 (omm)
redvz 09:08 plan to develop a simple graphical user interface for my voip plugin is there any tool or framework available to make my work easy?
taxilian 09:08 redvz: certainly; they call it html5 and javascript ;-)
(that's how I'd do it, anyway)
Gordon_LN: if you call display:none on the container of a plugin it will destruct the plugin
the best way to solve this is to simply never do that
instead, absolute position the containing div and resize it to 1x1 pixels when you want it "hidden"
Gordon_LN: Just pushed a fix for the Zm160 not big enough issue
FireBreathBot 09:08 Commit 7d5864b on master by Richard Bateman: "Fix for pch memory buffer size"
Gordon_LN 10:08 "display:none" yes that is exactly what is happening...
Its bit of a pain as I have one instance of the dll, but 3 instances of the control...
taxilian 10:08 like I said; be careful with the CSS of the plugin's containers
use an absolute positioned div; you can use jquery to calculate the size and position of another div so that you can still place it in your normal flow when it's visible
Gordon_LN 10:08 I think if I assign a unique ID as a param and then persist my rendering class in a global map with that ID I will be ok.
I am using dojo + tabcontainer
BTW The mouse positions are off for windowless drawing + chrome also...
taxilian 10:08 I don't know of any reason that would be; if they're off on Chrome it's because Chrome is giving you bad positions
we don't change those at all
Gordon_LN 10:08 I think the positions may be relative to the web page origin not the plugin position within the web page?
taxilian 10:08 that's possible; I'm not sure I've ever used mouse events on windowless in NPAPI, and I don't rightly remember how they work, but it wouldn't surprise me if they were relative to the page
Gordon_LN 10:08 (I found a better solution in javascript anyway so am not chasing the windowless drawing - but in general it was "nearly" working)
taxilian 10:08 I have drawing working just fine, I just don't need events =]
Gordon_LN 10:08 It displayed fine but my hit detection was off by an inch<g>
Gordon_LN 10:08 Rebased my branch onto 1.7 and all seems to just work (on windows), will test with X11 and OSX next week.
taxilian 10:08 there are no breaking changes in 1.7
however if you're testing I recommend you go to master and get the newest boost
that way if there are any issues we can make sure they are resolved before I release 1.7
Gordon_LN 10:08 In my plugin I can read a param:
FB::VariantMap::iterator itr = m_params.find("instance");
Is it possible to do the oposite? IOW Write a value to the domNode?
(I have the fun position where I need to support "old" web sites with new control)
taxilian 10:08 !wiki getDOMDocument
FireBreathBot 10:08 5 results found. Note: Results limited to 8
"class FB BrowserHost getDOMDocument":
"class FB Npapi NpapiBrowserHost getDOMDocument":
"class FB ActiveX ActiveXBrowserHost getDOMDocument":
"Plugin Lifecycle": Error
"Version History":
taxilian 10:08 there is also getDOMWindowa
and getDOMElement
Gordon_LN 10:08 Can I get "my" instance DOM element if I don
t have an ID?
taxilian 10:08 yes
Gordon_LN 11:08 Perfect, so I can stuff data there and if chrome kills my instance and recreates me I can just pull it back out from there, sounds like a plan for next week - all help appreciated and 1.7 if just working so far.
*is just working
taxilian 11:08 I would not recomend that, personally
but you've already ignored me when I told you three times how to fix your issue so it doesn't hide you, so I guess whatever you prefer
however, keep in mind that all plugins share the same memory space, so all you actually need to have is some form of identification for that object tag; then you can store all the data you need in a global map keyed on that id
and retrieve it when the new instance is created
Gordon_LN 11:08 The "data" will just be a unique ID. I don't think I can easily workaround the way dojo hides/shows its tabs...
taxilian 11:08 if that's how you want to do it
I already told you how to do that too =] you don't put the plugin in the tab
Gordon_LN 11:08 global map - yes thats the plan
taxilian 11:08 you put it in an absolute positioned floating div
then you still have a "plugin div" in the tab, and when it shows the tab you calculate the position of that div and move the real floating div over the top of it
if you're using jquery I could probably even dig up some code on how to do it
Gordon_LN 11:08 (Its dojo not jquery). I understand what your saying about the absolute thing now (I thought you meant change _how_ the dojo tab is hiding and unhiding). I need to add a "push/pop" paradigm to my internal data/render anyway, so having it external to class instance isn't a big deal.
taxilian 11:08 that's okay; dojo can almost certainly do the same thing
up to you; there are usually performance problems with creating and destroying plugin instances too often, though
just FYI
it's your plugin, though =] I can only share what has been best practice in my experience
Gordon_LN 11:08 (and your advise has saved me much time in the past!!!)Part of this exercise is to also get an example framework for "how" a web page like this should work and I really want the JS side to "just work" so no
workarounds and kludges if possible.
taxilian 11:08 I wish you luck with that =]
Gordon_LN 11:08 To be honest I have never done real html/js work before and have been really pleased with how clean the web app is coming out with dojo so far.
taxilian 11:08 good
Gordon_LN 11:08 (well its clean now, yes the learning curve is steep, but paying off now)
Anyhoo, thx again have a good weekend.
taxilian 11:08 and you