IRC Log Viewer » #firebreath » 2011-03-28

IRC Nick Time (GMT-7) Message
rav_nan 04:03 any plugin developer in the chat room
please i need help
i am using firebreath framework
nitrogenycs 04:03 rav_nan: what's your question?
rav_nan 04:03 i am new to firebreath and trying to render a dockable window when firefox starts, how can i acheive it?
hello anybody there who can help me out
in firebreath
hi anybody in the chatroom to help me out
nitrogenycs 04:03 Are you sure what you need is FireBreath?
FireBreath can do things like a flash or video player embedded in a page
it can't change things when firefox is just about to start
rav_nan 04:03 we can create plugins in firebreath which get invoked on the start of the browser
nitrogenycs 04:03 that's not a plugin
rav_nan 04:03 plugins can be registered
nitrogenycs 04:03 that's an extension (need to lookup the proper name)
rav_nan 04:03 is it a extension then
nitrogenycs 04:03 ok, firebreath is not for extensions
it's for plugins
rav_nan: you probably mean:
things like that?
rav_nan 04:03 say for example if u have used firebug which gets installed along with mozilla firefox and on click of it u can c the window and do some event in it, i am looking out for similar functionality
how can i achieve it
nitrogenycs 04:03 ok, firebreath is not for you in this case. lists #extdev , maybe they can help you over there.
rav_nan 04:03 yes i need to develop a add-on, thats what i want
how can that be achieved?
nitrogenycs 04:03 I don't know this is the wrong channel, check out one of the channels referenced in the page above
rav_nan 04:03 thank you very much
i think i was going in the wrong direction
zEh- 07:03 'lo.
can't find a tickfunction, can someone tell me what to override for that?
and is there an update about the opera mimetype problem?
_neilg_ 07:03 Morning all!
I'm fairly sure the Opera mimetype problem was solved a while ago?
What version of FB are you on if you're still seeing that problem?
zEh- 07:03 just find a tree hash, no version number :D
new to it
well ill just port it to the newst and check it :\
zEh- 07:03 okay, opera is fixed
_neilg_ 08:03 Cool :)
zEh- 08:03 do you know what fuction could be used for logic?
draw couldnt even be used for that
_neilg_ 08:03 I don't understand your question, what are you trying to do?
zEh- 08:03 need to do something all the time, not just event related
like a mainloop
i hope i dont have to open another thread
already got too much of em
_neilg_ 08:03 Unfortunately that's about the only way you could do it
I mean, you could set something up in JavaScript to poll a function you expose in your plugin - but that's probably not a good way to do it
zEh- 08:03 true, it isnt
gomoov 08:03
LuX_ 09:03 hi
kylehuff 09:03 hello
Guest84949 09:03 anyone knows how to send headers with the DefaultBrowserStreamHandler ?
nitrogenycs 09:03 you cannot
npapi doesn't allow you to pass arbitrary headers along
Guest84949 09:03 oh
then how do i get my session info across :)
nitrogenycs 09:03 internally fb uses to get the url's data
and it doesn't have a field for headers
session info = cookies?
I suppose there are multiple ways. 1) Doesn't the current request include cookies by defualt? I'd think the browser would sense those along automatically
2) If it doesn't, you can always do something like
Guest84949 09:03 hm, maybe
nitrogenycs 09:03 then you have your session info in the url
Guest84949 09:03 yeah, or use the postdata
nitrogenycs 09:03 postdata?
Guest84949 09:03 yes
like so:
host->createPostStream(uri.toString(), ptr, postdata, cache, false, bufferSize)
nitrogenycs 09:03 you mean with POST requests?
ok, I thought you wanted to have a GET request
Guest84949 09:03 weird tho, that its not possible to send headers
i mean, i'd like to send no-cache, accept: */*
pragma: no-cache
nitrogenycs 09:03 yes, it sucks, I could've used it as well, e.g. for range headers. However, it's not possible. If you only care about IE, then you can send headers.
might also be worth pursuing the people behind NPAPI to add this feature. if even they do, it will take a long while till most browser implementations catch up
Guest84949 09:03 fyi: it does send the session info :)
just tested it
nitrogenycs 09:03 cool
taxilian 09:03 Guest84949: If you needed to you could also use the HttpClient class with curl and openssl; that can be a bit of a pain to get going, though, and it's not documented at all
zEh- 09:03 anyone did/or seen an example of how to use the dllmain entry to be able to seperate an own injection. using the fact that firebreath generates an dll already, i wouldnt need to do a seperate dll for that then
Guest84949 09:03 @tax, thx
taxilian 09:03 zEh-: I don't understand what you're trying to do; you want to provide your own dllmain?
zEh- 09:03 yes
taxilian 09:03 what for?
nitrogenycs 09:03 taxilian: I've tested the solution to FIREBREATH-4 and there are a lot more files right now :) just the global folder is not openable, it appears as a regular file
FireBreathBot 09:03 FIREBREATH-4: Summary: Put all generated files into the visual studio solution
FIREBREATH-4: Assigned To: richard
zEh- 09:03 my plugin starts a process and injects a dll to it, i would like that dll to be the same as the plugin itseld
FireBreathBot 09:03 FIREBREATH-4: Priority: Major, Status: Resolved,
taxilian 09:03 nitrogenycs: most likely the "global" folder got caught as a regular file, but everything is still in it
zEh-: okay… but why do you need to override dllmain?
zEh- 09:03 im not sure what its for
the current one
taxilian 09:03 the current one is a generic dllmain
what do you need yours to do that this one doesn't?
zEh- 09:03 mine would use detours..
if the generic one would have a function call i could adjust
would be the best, dont like editing nonregular files
doesnt seem it's meant to be changed
taxilian 09:03 zEh-: but what do you need to *do* in your dllmain?
you really want to be very careful doing anything in dllmain
it's not a good place for initialization stuff
and it's a terrible place for deinitialization stuff
nitrogenycs 09:03 taxilian: yes you are right
zEh- 09:03 actually it's the only one for suspended createprocess
_neilg_ 09:03 Then do that inside StaticInitialize()
zEh- 09:03 actually
_neilg_ 09:03 Or, actually, you probably want one process per plugin so that would be a bad place too
taxilian 09:03 zEh-: well, if you're certain you know what you're doing (and I'd try to do whatever you need in StaticInitialize, if I were you), you can copy the dllmain.cpp file from src/PluginAuto/Win/dllmain.cpp into your plugin project directory and include it in your project; if you provide a dllmain it won't link in the one from PluginAuto
!findfile dllmain.cpp
Guest84949 09:03 i'm off, thx nitro and tax for the help
_neilg_ 09:03 I know I create one when our plugin is created
FireBreathBot 09:03 Found 1 matching file(s) in the master branch. First 1 are:
zEh- 09:03 ah ok
can add one to project folder, fine then
thx already
taxilian 09:03 zEh-: just remember that this isn't supported, so if it causes you weird issues I'm not going to spend a lot of time figuring out how to fix it =]
zEh- 09:03 haha
i'll just get back to the external dll then
but have to try it
gomoov 09:03 o
nitrogenycs 09:03 gomoov is in his circle period today :)
taxilian 09:03 very artistic
zEh- 09:03 i can make out between the browser embedding the dll and my injection due to _get_pgmptr <3
you mean his cool "o"s?
taxilian 09:03 I have no idea what you're talking about, zEh-, but alright
oh, absolutely. it was a very artistic circle
zEh- 09:03 typed freehand
zEh- 10:03 is there an example about fb and another boost thread?
taxilian 10:03 look on
asynchronous javascript calls or something like that
zEh- 10:03 thx
gomoov 12:03 o
taxilian 12:03 gomoov: I couldn't agree more
gomoov 12:03 on what?
taxilian 12:03 "o"
gomoov 12:03 yes, it is a masterpiece of my art sense
btw, taxilian.
If I create a stream, how do I get the data? (function or a member variable)
taxilian 12:03 SimpleStreamHelper is probably the best example I could point you to
scJohn1 12:03 taxilian: (How are thing going) I am working on getting an installer working (VS 2010 Express) and I am getting the ICE38 error
I have tried the Delay Loading DLL per the Wiki
but the set_target_properties seems to mess up atlthunk.lib's inclusion
LINK : fatal error LNK1104: cannot open file 'atlthunk.lib'
any pointers?
taxilian 12:03 scJohn1: what is the line you're using for set_target_properties?
scJohn1 12:03 set_target_properties(${PLUGIN_NAME} PROPERTIES LINK_FLAGS "/DELAYLOAD:MyExtraLibrary.lib")
taxilian 12:03 change to set_target_properties(${PLUGIN_NAME} PROPERTIES LINK_FLAGS "${LINK_FLAGS} /DELAYLOAD:MyExtraLibrary.lib")
scJohn1 12:03 should the first param be ${PROJECT_NAME} (per the wiki) or ${PLUGIN_NAME}?
taxilian 12:03 it actually probably doesn't matter, as they are the same
scJohn1 12:03 ok
taxilian 12:03 ${PROJECT_NAME) is set when you do project(${PLUGIN_NAME})
scJohn1 12:03 ok I had PLUGIN_NAME in my cmake and the wiki has project.. compiling that change now.
seems to have gotten me past the first problem.. Is that something everyone should need or just those of us with Express? I will update the wiki
taxilian 12:03 it's always a good idea
but it's only really needed with express, currently
so update the wiki, please
scJohn1 12:03 k
gomoov 12:03 Taxilian, how do you initialize SimpleStreamHelper class? (what is the initial values for the parameters of the constructor)
Also, is it possible to convert the incoming data into IStream interface?
taxilian 12:03 !findfile FBTestPluginAPI
FireBreathBot 12:03 Found 2 matching file(s) in the master branch. First 2 are:
gomoov 12:03 btw, I am referring to SimpleStreamHelper class.
taxilian 12:03 gomoov: I'm pretty sure I've told you to look at the example in FBTestPlugin at least twice… did you not find it?
gomoov 13:03 If you are not using any C++ functions from Javascript, would you still need the callback?
(No usage of API)
taxilian 13:03 no, the callback is just a javascript callback
it's passed along so that the stream callback can call back into javascript
you still need the getURLCallback (or similar), but you don't need the JSObject callback
FireBreathBot 13:03 JIRA issue issue updated by richard
nick 16:03 quick question: can we build plugins (using FB) that can be used on linux?
zEh- 16:03 yes
and mac aswell
nick 16:03 cool, you guys have any instuructions/tutorial?
yup saw that on the starting page!
taxilian 16:03 nick: yeah, all the info is on the website
zEh- 16:03
taxilian 16:03 and if any of it is confusing, please ask and then update the docs =]
!wiki Video
FireBreathBot 16:03 8 results found. Note: Results limited to 8
"Video Tutorials":
"Windows Video Tutorial":
"Mac Video Tutorial":
"Getting Started":
"FireBreath Home":
"Creating a New Plugin Project":
"Web Browser Plugins in the Age of Web Applications.pdf":
"Mac Plugins":
nick 16:03 excuse me, im apprently getting blind
zEh- 16:03 u r
taxilian 16:03 those are useful too; most of the info is the same cross platform
sabotaged|wk 17:03 so what's the timeline for 1.5 release? any ideas?
zEh- 17:03 major changes?
taxilian 18:03 sabotaged|wk: as soon as we finish the new PluginWindowMac classes we'll do 1.5
zEh-: there are some semi-siginifcant performance improvements to the way JSAPI objects are sent to the DOM and a few other things; the main change is a completely new set of PluginWindow objects for Mac
FireBreathBot 18:03 JIRA issue issue created by zaltar
taxilian 19:03 4ece0f178908b754d178
FireBreathBot 19:03 4ece0f1 by Richard Bateman: Fixed xslt problem with new WiX stuff
taxilian 19:03 hmm. is zaltar one of you guys?
sabotaged|wk 21:03 okay, cool
taxilian 22:03 hmm. recursive vim macros are not very useful