IRC Log Viewer » #firebreath » 2011-09-22

IRC Nick Time (GMT-7) Message
dougma 02:09 taxilian_away: re casting to JSAPIPtr, i figured there was nothing that could be done if the browser decided to wrap up my object (for whatever reason (maybe out-of-process reasons?))
so i had to work-around
...id-numbers instead of JSAPIPtrs. ugly.
vmk_ 10:09 I want to access local filesystem through a plugin which be used on IE, Firefox, Safari & Chrome
Does firebreath provide any special interface for file I/O or I shall use the standard fstream lib?
taxilian 10:09 if he'd stay for longer than 15 minutes I could have helped him
kylehuff 10:09 or longer than 2 minutes at least...
taxilian 10:09 yeah
Sajty 11:09 hi! Is it possible to run the shut down event in background?
taxilian 11:09 what do you mean?
Sajty 11:09 on shutdown, I'm joining the threads.
which takes time
and the browser freezes until it completes
taxilian 11:09 no, you really need to stop all threads before it finishes shutting down your plugin
VJ 11:09 If I develop a firebreath plugin to access the local file system, I can use it on all the major browsers without modifications right?
Sajty 11:09 basically I start shut down in background on the detach event, but shut down is called immediatelly.
taxilian 11:09 one caveat; IE w/ protected mode (Win Vista/7 w/ UAC enabled) will restrict where you can write to
VJ: other than that, yes
VJ 11:09 Thanks
In case the user is logged in as an admisitrator s/he shall not face this problem right?
taxilian 11:09 if UAC is on, you will face that problem in Win7/Vista
I dont' care what the user is
VJ 11:09 ok
Google cliams that Peeper C API is more efficient and platform independent than NPAPI
What is the difference?
taxilian 11:09 well, for one thing Pepper C API doesn't actually exist
it's vaporware
and has been dropped in favor of NaCl
(Native Client)
VJ 11:09 Ok. What are the advantages of using NPAPI over NaCl?
taxilian 11:09 well, NaCl only works on Chrome, for one thing
though they may have a plugin that would make it function on other browsers
other than that, NaCl is in a sandbox, but I'm not clear on the extent of the sandbox; it isn't adequate for most of what I need, so I haven't looked into it much
NaCl doesn't allow direct driver access, for example
you'd have to look at it more
VJ 11:09 Ok. In case of my file access plugin which I want to reuse it on all the major browsers, which approach you recommend?
taxilian 11:09 FireBreath
NaCl is still pretty young
then again, they just did a major release; you could look into it
VJ 11:09 ok cool, thanks.
taxilian 11:09 I don't know enough to recommend it; I know what you want to do can be done with FireBreath
VJ 11:09 Cool. That's helpful. I will go for Firebreath!!
I mean opt for
taxilian 11:09 cool. good luck!
I'm headed to lunch; be back a bit later
Sajty 12:09 is it possible to let the plugin alive, until browser shutdown(and not until last instance closed)? Or is the shutdown event forced by the browser after last instance closed?
c2h 12:09 hi
you guys help about firebreath, I am new
okay, never mind.. bye bye
taxilian 13:09 Sajty: you can use staticinitialize and staticdeinitialize
as long as you aren't holding any references to the browser host
Sajty 13:09 yeah, that was my first approach, with weak pointers, but for some reasons on linux I get boost asserts when joining threads.
on windows it works there.
taxilian 13:09 your plugin object *must* shut down before the plugin instance is destroyed
Sajty 13:09 yeah, thats why I used weak pointers. They can shut down separated from the plugin.
taxilian 13:09 yes; but remember that the pointer itself is subject to cross-thread race conditions
Sajty 13:09 you mean the weak pointer?
taxilian 13:09 weak and shared both
the reference counting is atomic, so should be threadsafe, but destruction is not threadsafe
so if it is destroyed on one thread while a weak_ptr is being locked on another thread you get a race condition
http://www.boost.org/doc/libs/1_47_0/libs/smart_ptr/shared_ptr.htm#ThreadSafety
Sajty 13:09 so if I would make a lock around the weak pointers and the instance destroying it would work?
taxilian 13:09 I don't know; it might
Sajty 13:09 I will try that later
thanks
taxilian 13:09 I'm not familiar enough with your code to say for sure, but it sounds like a reasonable thing to try
Guest4003 13:09 does anyone know how you can force a particular plugin to be used, if more than one plugin registers that mime type?
taxilian 13:09 not really; the selection order varies by browser
Guest4003 13:09 i mean, without deleting/deactiving any plugins
darn it...
that's what I thought from all my googling
FireBreathBot 14:09 JIRA issue http://jira.firebreath.org/browse/FIREBREATH-128 issue commented by victorabrash "FYI, In my plugin (not FBTestPlugin) I notice that events from the main thread get to the browser..."
JIRA issue http://jira.firebreath.org/browse/FIREBREATH-128 issue commented by richard "... interesting. that's very useful to know. I hoped to look at it today, but I'm behind on a maj..."
Guest66827 15:09 your videos page, ironically, say a plugin is missing
but I have flash installed...
taxilian 15:09 I don't know
it works for me
it's all youtube content
Guest66827 15:09 <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" data="/download/attachments/2162830/FB Tutorial Mac Pt 1.swf" height="530" type="application/x-shockwave-flash2-preview" width="770"> <param name="play" value="false"> <param name="autostart" value="false"> <param n
seems to point to a cab - which is windows
works in a windows vm
taxilian 15:09 I don't have that probelm
it works fine for me
it's just a youtube embed tag, so I don't know
:-/
Guest66827 15:09 question about NSAPI - if it's something like Flash, does it output audio to a stream the browser provides?
taxilian 15:09 sorry, I'm on a call
be back in a bit
Guest66827 16:09 no worried