IRC Log Viewer » #firebreath » 2012-05-31

IRC Nick Time (GMT-7) Message
dougma 01:05 i will try to repro that FIREBREATH-176 one later this evening
FireBreathBot 01:05 FIREBREATH-176: Summary: Memory leak: Multiple references to one JSAPIAuto
FIREBREATH-176: Assigned To: richard
FIREBREATH-176: Priority: Minor, Status: Open,
FireBreathBot 07:05 JIRA issue issue created by ronhab
dougma 07:05 wow, async drawing!
once again confirming my suspicion that the npapi specification is "what flash does"
taxilian 07:05 lol
yeah, I've been watching that one and am a little surprised it's already up
need to figure out how best to work that into FireBreath; I really want to redo how the drawing models all work :-/
dougma 07:05 yeah it's tricky.
if i really cared about firefox i might be interested. :/
do you know what webkit thinks of this async drawing?
webkit people.
taxilian 07:05 let me look
I have the convo history
adobe approves of it, which probably means everyone will eventually adopt it
apple isn't terribly concerned about it; they consider it redundant on mac
dougma 07:05 my draw perf on firefox is especially laggy so this would be the way to fix it.
taxilian 07:05 yeah. if you have any time you could look at any of the jira issues, btw, I would really appreciate it. there are relatively few anymore who understand any of the inner workings of firebreath
and I just don't have time right now to do much
dougma 07:05 yeah i just sat down to look at 176. can't say i've noticed it myself but will try harder. :)
taxilian 07:05 I have never seen it either, but if you can try to see if you can figure out what is going on that would be fantastic
"From the Chrome team, we have concerns about this API. Primarily, we are concerned that it will not be possible to sandbox the DirectX usage. While it obviously true that ordinary windowed plugins cannot be sandboxed either, due to their usage of HWNDs, we would prefer to see improvements that enable sandboxing."
hard to say if they will do it or not given that
FireBreathBot 07:05 JIRA issue issue commented by richard "Hmm. We're going to have to think about how best to support this. It would be nice to add an ab..."
dougma 07:05 now to play with this wacky "github for windows" thing :)
taxilian 07:05 hehe. let me know how it works
reichi 07:05 somehow i don't trust that thingy
(github for win)
dougma 07:05 i'm suspicious!
taxilian 07:05 lol. I use git extensions on windows, but github for win only recently came out. github for mac is not bad
reichi 07:05 well i don't trust any git guy :/
taxilian 07:05 though I usually use GitX otherwise
reichi: lol. why is that?
reichi 07:05 egit (eclipse git) did too much bad things to me
and my git stuff
some day i dropped it
and decided to stick to the original console git
dougma 07:05 perhaps git guis need tooltips showing the git command line behind the button. :)
reichi 07:05 that would be nice
taxilian 07:05 egit is terrible. there are a few decent ones, though
usually I just use it to help me commit more easily
reichi 07:05 well
like dougma said
one of my most basic problems is
that i sometimes just want to know what that gui thing will when i click that little button
(git command wise)
taxilian 07:05 fair enough
reichi 07:05 but well
it's not much of an issue anymore ;)
taxilian 07:05 I would never use a gui instead of command line
just as a supplement sometimes =]
reichi 07:05 since my old hobby is my "new" job now
i am developing almost only on linux
dougma 07:05 nice. i am now spreading myself thinner: onto iOS!
reichi 07:05 i guess developing ON an iOS device is very inconvenient ;)
dougma 07:05 heh! luckily not that!
taxilian 07:05 heh. I just made a little app w/ a UIWebView that looks like it has a plugin running in it
even though it doesn't
it floats the video over the div in question from behind the uiwebview
reichi 07:05 cheater!
taxilian 07:05 pretty cool, actually
reichi 07:05 :)
dougma 07:05 considered similar things. :)
taxilian 07:05 the method for communicating from the uiwebview to obj c is definitely less clean than JSAPI, but it's not worth the trouble to add JSAPI support to the hack
reichi 07:05 hack the hack to be less hackish?
taxilian 08:05 well, hacks are sometimes less annoying if they are a) consistent and b) have a non-hackish interface
reichi 08:05 i am still fighting qt embedded
taxilian 08:05 it's kinda like putting a velvet cover on an old grungy chair, I think
if you don't look real close the chair looks nice
dougma 08:05 after hacking around browser plugins, I think anything is fair game these days
all hacks considered
taxilian 08:05 lol
do you know what the common practice (phonegap) is to communicate from a uiwebview to objective c?
dougma 08:05 i did investigate how that would work
changing the url right?
taxilian 08:05 most do it in an iframe, but yeah
dougma 08:05 madness
taxilian 08:05 you set a url to notify it "hey, there are commands in the buffer, read them!"
I updated our javascript sdk until our website (which uses a plugin on desktop) worked on ipad in the app as well
it was pretty cool, actually
dougma 08:05 i did read also that you can get to the webkit objects, but of course that will prevent entry into the app store
taxilian 08:05 likely so, yes
dougma 08:05 shame
taxilian 08:05 likelyi that you can get tot he objects, definite that it would keep you from the store
Valo 08:05 I'm facing a problem regarding threading inside firebreath
I'm using boost thread
in my thread, theres winsock that transmit udp packet every 2.5 sec
when I reload the web page the plugin crashed
in safari.
firefox no problem
I use thread.interrupt and thread.join in API destructor
any idea?
dougma 08:05 was the api destructor invoked?
where was the crash?
Dyblast: about fb-176
Dyblast 08:05 ?
dougma 08:05 i've been playing with DUplicateTest
Dyblast 08:05 yes
dougma 08:05 so i created TestAPI objects and they all get cleaned up when i navigate away from the page
so all is good?
Dyblast 08:05 yes there is no problem with that
the problem is
if you create 100 000 objects (for example)
you return multiple times these objects to JS side
even if after there is no references in js to these objects
they are stucks
dougma 08:05 mmm
Dyblast 08:05 if you return it one time... no problem
dougma 08:05 yeah i see if i remove the object from the dom they go with it.
so plugin host holding onto them
Dyblast 08:05
this a video showing the issue
and the "fix"
you click one time on unique .. no problem after GC the object is free
you click multiple time on unique .. after the GC the object is not free
I was a "bit" quick on the video.
dougma 08:05 one moment while i telecharge
reichi 08:05 lol
Dyblast 08:05 use pause :)
dougma 09:05 ok, so i can reproduce :)
taxilian 09:05 dougma: the weird thing is that it shouldn't be happening because it shouldn't be creating a new NPObject for each instance
dougma 09:05 yeah i'm just trying to understand how it goes from jsobject to npobject
taxilian 09:05 !findfile npvariantutil
FireBreathBot 09:05 Found 1 matching file(s) in the master branch. First 1 are:
dougma 09:05 well that's exactly the problem taxilian
FireBreathBot 09:05 src/NpapiCore/NPVariantUtil.h
taxilian 09:05
right there
Dyblast 09:05 at the second return .. the makeNPVariant should not be called?
taxilian 09:05 makeNPVariant should always be called
however, host->getJSAPIWrapper should always return the same object for a given JSAPI object
Dyblast 09:05 so retain is always called
taxilian 09:05 hmm. good point. let me look at this again
that might be the problem right there; why did that call not show up in my grep?
grep! You have failed me!
reichi 09:05 maybe you failed the grep?
taxilian 09:05 blasphemy
reichi 09:05 oh wait no, I'm sorry!
taxilian 09:05 ;-)
Dyblast 09:05 so i'm not crazy finally ?
taxilian 09:05 well, you're not wrong about the leak
that doesn't mean you aren't crazy, though
reichi 09:05 lol
taxilian 09:05 I think it's still too early to judge on that one
reichi, for example, usually has good points, but he's still crazy as a loon
reichi 09:05 me?
taxilian 09:05 I mean, he just suggested that *I* might have made a mistake
'can you believe that?
reichi 09:05 you gotta be kidding
Dyblast 09:05 taxilian: good point
reichi 09:05 i am a uncrazy as human kind can possibly ever be!
taxilian 09:05 hmm. it's starting to come back to me
this might be a little tricky. dougma, do you understand the flow of what is going on at this point?
reichi 09:05 you have written a cross-plat-browser-form-npapi framework
dougma 09:05 no. stepping through.
reichi 09:05 and call me crazy?
is just made it work without x11 ;)
taxilian 09:05 reichi: nice work
reichi 09:05 (yet no graphics though)
it's more a hack
for my platform
taxilian 09:05 dougma: if you have questions let me know. I think I see what is going on, but I'm having a hard time thinking through how to fix it
reichi 09:05 "my"
dougma 09:05 there's a lot of retention going on!
taxilian 09:05 heh. it's a little odd
but I think I see the issue
I don't suppose you ahve skype and want to talk this over with me?
I want to make sure I've thought through this change
dougma 09:05 actually i'm going to bed soon
reichi 09:05 bed?
taxilian 09:05 *sigh*. fair enough. I'll talk it through with someone else
dougma 09:05 however, this is relevant to my interest so will pursue tomorrow
reichi 09:05 timezones are something really crazy
dougma 09:05 or... catch up tomorrow
taxilian 09:05 reichi: tell me about it
dougma: hopefully I'll have it fixed by then
I think I know how to fix it, I'm just trying to make sure that I've thought through all the cases
reichi 09:05 well there's earth, and sun and....
dougma 09:05 i can certainly test tomorrow
taxilian 09:05 g'night
dougma 09:05 still here... my midnight fix: delete
tell me i'm not thinking straight and i'll go to bed
taxilian 09:05 that's 1/2 of the fix, yes
dougma 09:05 but only on returned things...?
taxilian 09:05 then we also need to retain in the constructor of npjavascriptobject *if* the autorelease flag was passed
that way it only retains when it creates
dougma 09:05 this will be a good thing to fix. :)
really crashing now though. g'night
taxilian 09:05 lol
Dyblast 10:05 Re
taxilian 10:05 howdy
so I need to fix something else first, but I should have a fix pretty soon for you
for you to test
emicastro1 12:05 hi
jshanab 12:05 Is there a cross platform way to change the cursor when over the plugin in FireBreath?
emicastro1 12:05 any link or information about compiling the plugin to 64-bit browsers?
taxilian 13:05 jshanab: no there isnt'
emicastro1: on which platform?
emicastro1 13:05 windows 7
taxilian 13:05 just use prep2010x64 and it'll build for 64 bit instead of 32
wix may not work correctly
but the rest should just work
emicastro1 13:05 ok, what is wix?
taxilian 13:05 if you don't know you probably don't care =] its' the tool firebreath supports by default to generate an msi installer
emicastro1 13:05 :) oh! Next step in that I have to work! :)
thank you taxilian
Alex_I_ 16:05 my plugin doesn't receive even NPP_GotFocus() :)
taxilian 16:05 firebreath plugin or npapi plguin?
I dont' think NPP_GotFocus has been implemented by anything yet
Alex_I_ 16:05 npapi; just funny
taxilian 16:05 that's a very new API
very very new
Alex_I_ 16:05 ah
taxilian 16:05 Firefox 13 *might* have support for it
Alex_I_ 16:05 I have now but no keyboard events I could get
oops that's what I have
taxilian 16:05 read
your plugin is (unless you've changed this and I'm not seeing it) a windowed plugin
oh, n/m
I see your winproc now
did you click on the plugin before trying to type?
Alex_I_ 16:05 with less crap posted
no idea even where to click; I clicked on the black window, that's for sure
taxilian 16:05 I don't know, then; I'd have to play with it
Alex_I_ 16:05 and held Tab key for while it skipped all items on the window also
"I" - you must mean - I :) ; otherwise