IRC Log Viewer » #firebreath » 2011-11-02

IRC Nick Time (GMT-7) Message
mkoch 08:11 hi
i've just realized that I'm getting this error when closing the browser:
log4cplus:ERROR No appenders could be found for logger (FireBreath).
log4cplus:ERROR Please initialize the log4cplus system properly.
the logging works fine btw
anyone knows what am I missing or not doing properly?
dan__ 09:11 Is it possible to develop a plugin with FireBreath that can provide images to the browser to be used just like an image file off the web? Say there's a Sample_Picture.png on the local filesystem in the appdata folder for that plugin (aka, the plugin has read access to this location), and I want to be able to show that picture on the page.
JSHANAB_ 10:11 I do not see why not. but what is the purpose of a plugin per picture, or are you gonna do something special
linearray 10:11 yes you can
dan__ 10:11 I'm working on a plugin to provide rich application functionality... Example scenario: You're on a page, uploading photos; Instead of sending the photo directly to the server, the plugin will take the photo, and upload it at some point in the background. It will still be able to show that uploaded picture on the page though. So, you can invoke a method on the plugin to have the user select a file off their local machine. Then the pl
storage; then it will let you display that image on the webpage, from the local filesystem where the plugin stored it. At some point, the plugin will take care of uploading that to the server, but that's beyond the scope of this question I think. I'm just looking for a way to be able to access locally stored images that the plugin has access to
linearray 10:11 you can do the same thing with javascript
which is about 100x easier and simpler
dan__ 10:11 If you close the browse and come back though, it wouldn't be on the local machine anymore, you'd lose it :)
the plugin is storing other local data to do with the session, so it makes sense to 'cache' the images locally since they're also going to be used by another process running on the machine
linearray 10:11 ok
JSHANAB_ 10:11 dan__ I think I see I have a video player and I do have an image I use for displaying when the connection is broken, but it was installed with the plugin. Accessing the file system is i think a problem in some cases and you are asking to intercept the browsers normal upload. This I do not know about.
dan__ 10:11 The upload can be initiated via the plugin, so I don't see a problem there
linearray 10:11 have it your way; I'd still do large parts in javascript though
in particular displaying the image
dan__ 10:11 I still want to display the photo with javascript/regular html, it just needs to be able to read that image through the plugin somehow
linearray 10:11 ok, that's simple
well, I would probably go via the filesystem... e.g. just copy the file to your plugin dir and display it from there. Meanwhile read it from the plugin and send it to your server.
Sudi 10:11 good morning guys!!
linearray 10:11 hi
JSHANAB_ 10:11 morning
plaes 11:11 hey!
has there been a tarball release for firebreath 1.6?
Sudi 11:11 Bertl.. I have a question.. I was able to retain the object values between pages but when I am trying to call javascript method from different page bworser is crashing ,, it is happening in this like : FB::DOM::WindowPtr windowObjPtr = m_host->getDOMWindow(); any idea ??
*this line i mean
when creating windowPtr
Richard told me yesterday not to return from global object and I did who he said
any idea ???
linearray 11:11 sorry, no idea
did you try to attach a debugger?
Sudi 11:11 yes.. but it crashes in the line that I printed
dan__ 11:11 linearray: sorry - I had to step out. I saw what you said above about going via the filesystem. would you actually link to local files on the filesystem then, like <img src="file://<plugindir>/<filename>" /> ?
dan__ 11:11 I had hoped to be able to have a custom type like... danplugin://a_file.png ... and when the browser goes to load the file with that prefix a plugin could handle it
I guess another option would be to just use http://localhost:<port>/ and have the plugin process handle those requests, but then a systems firewall might block that?
Sudi 11:11 !find globalPluginInitialize
FireBreathBot 11:11 Found 1 possible matches. Displaying 1
/^void FB::FactoryBase::globalPluginInitialize()$/ (f) found in src/PluginCore/FactoryBase.cpp:
taxilian 12:11 dan__: system firewalls dont' seem to block localhost ports; there is a web server in HTTPService that has been used for that in the past
keep in mind that you could have issues when your webpage is SSL because the localhost web server won't be
Sudi 12:11 Richard.. I know you told me yesterday to dont call javascript from global object .. but it is still not working for me.... this is what I am doing: I have a class myProjectAPI.m and there I am creating a obj of my classA ... if page is refreshed I am storing the obj at first time and re assigning it back if obj has been already created in previous page.. that is working for me and plugin works fine but when I am calling method on
the method but it crashes when m_host->getDOMWindow() is called
d oI need to do something to m_host in this case ???
because if page is refreshed m_host is also new instance pointing to same page .. it should not be a problem right ?
taxilian 12:11 I don't understand what you're doing
Sudi 12:11 ok.. let me explain it again.. fb created a class called myProjectAPI.cpp.. I changed it to because I am using obj-c as well.. now I have my class with business logic called ClassA. I created a global object for that class and checking everytime that if obj is created for first time or not if not I am storing the obj created at first time and assigning it back with every page refresh. So doind that I am able to main
want to call javascript I need to call the method that is created in C++ in called callJS(methodName, arg).. within that method I have FB::DOM::Window windiwObjPtr = m_host->getDOMWindow(); as soon as this line is executed plugin is crashing
but what I am not understanding here is this m_host is created in every page and is not a global object so shouldnt it work ??
I am only creating the global object of the classA and maintaining that ...
dan__ 12:11 taxilian: HTTPService is undocumented? SSL won't be used for this, but thanks for pointing that out :)
taxilian 12:11 naturally =]
dan__ 13:11 I can't find any mention of HTTPService in any of the firebreath source... Is it not included in the main download of it?
emicastro 13:11 hello
could someone help me with one question?
kylehuff 13:11 .ask
FireBreathBot 13:11 If you need help, just ask your question and wait for people to come back.
emicastro 13:11 I have to make a plugin for multiples browsers, and this plugin has to manage two differents content-type... Are Firebreath supporting that? For (IE, Firefox, Chrome) for example?
I have read about a issue suportting multiple MIMEtype in IE browser... but I don't know if this information is old...
taxilian 13:11 emicastro: yes, you can support multiple mimetypes
Sudi: sorry, I normally telecommute and I'm in the office this week, so I don't have a lot of time. I'm still not following exactly what your'e doing. If there is a crash, most likely you're trying to call something on a NULL pointer; check each object in a debugger and find out which one is null
other than that I'd have to look at the code
emicastro 14:11 ok, thank for your answer taxilian... I will try to manage multiples mime and test it in this browsers...
taxilian 14:11 I think there are docs on the wiki somewhere for multiple mimetypes
FBTestPlugin is an example of it, at any rate
!wiki multiple mime
FireBreathBot 14:11 0 results found. Note: Results limited to 8
taxilian 14:11 !wiki multimime
FireBreathBot 14:11 0 results found. Note: Results limited to 8
taxilian 14:11 !wiki mime
emicastro 14:11 oh... you're right.... I didn't see the multimime in the FBTestPlugin....
FireBreathBot 14:11 1 results found. Note: Results limited to 8
emicastro 14:11 set(FBSTRING_MIMEType
FireBreathBot 14:11 "Creating a New Plugin Project":
taxilian 14:11 it's in there
!findfile mime
FireBreathBot 14:11 Found 1 matching file(s) in the master branch. First 1 are:
taxilian 14:11 ha
emicastro 14:11 ;)
u rock! :)
dan__ 14:11 too bad theres not an HTTP server example in FBTestPlugin (hint hint)
taxilian 14:11 lol. you're welcome to contribute one ;-)
the only example I have I can't release because it belongs to a client
dan__ 14:11 lol, no worries. I should be able to figure it out.
taxilian 14:11 let me know what questions you have, I'll help as I'm able. I'm in meetings all day, so I may be slow
dan__ 14:11 no problem - I won't have time to do it today, but I plan on tackling it tomorrow.
taxilian 14:11 cool
I'll be in meetings all day tomorrow, but I'll help as I'm able ;-P
dan__ 14:11 nice. question for you - I'm new to browser plugins and firebreath, this is more of a general question than firebreath, but i'm sure you know the answer. Are there any permission limitations with plugins that I should be aware of, or do they essentially have the same level of operating system permission as the browser that it's running under?
my plugin is going to be using third-party libraries that are not cross-platform compatible to accomplish stuff like disk burning (which on windows uses a system API that does not require admin priviledge), accessing system api's to talk with WIA/TWAIN image sources, stuff like that. Nothing that requires admin priviledge, but more than a browser is doing typically
taxilian 14:11 they have the same level of OS permission as the browser; however, in IE on vista/7 w/ uac enabled that's low integrity mode
Alyoshak 17:11 Howdy. Not sure what proper form is here, but I'm having a technical problem with Do I just, er, blurt out my question?
taxilian 17:11 .ask
FireBreathBot 17:11 If you need help, just ask your question and wait for people to come back.
Alyoshak 17:11 Thx. I'm trying to build my first plugin with Firebreath. Have followed the Mac tutorial closely but am getting the following results when attempting to use to generate the Xcode project. Using projects in: /Users/charlesjohnson/fbprojects Generating build files in: /Users/charlesjohnson/build NOTE: The build files in /Users/charlesjohnson/build should *NEVER* be modified directly. Make changes in cmake and re-r
taxilian 17:11 .pb
FireBreathBot 17:11 When you need to share code, logs, or anything else longer than a couple of lines, use a pastebin.,, and are all good options
Alyoshak 17:11 Ok. Be right back.
Hello. I'm trying to build my first plugin with Firebreath. Have followed the Mac tutorial closely but am getting the following results when attempting to use to generate the Xcode project. Using projects in: /Users/charlesjohnson/fbprojects Generating build files in: /Users/charlesjohnson/build NOTE: The build files in /Users/charlesjohnson/build should *NEVER* be modified directly. Make changes in cmake and re
That doesn't look that much better.
linearray 17:11 indeed
taxilian 17:11 .pb
FireBreathBot 17:11 When you need to share code, logs, or anything else longer than a couple of lines, use a pastebin.,, and are all good options
taxilian 17:11 as in, go to one of those sites and paste your text there
rather than pasting it here
and paste the url here
Alyoshak 17:11 Ah! Duh. Thx.
taxilian 17:11 Alyoshak: you have aparently failed to install cmake
or perhaps you didn't install the command line tools for it
please install cmake and try again
Alyoshak 17:11 Ok. Will verify that cmake is available, and if not will install it. I saw a "cmake" folder in the Firebreath dir and figured that was cmake.
taxilian 17:11 no
you need to install cmake
Alyoshak 17:11 Where would I obtain the install for it?
taxilian 17:11 .s cmake
.lmgt cmake
FireBreathBot 17:11 Let me google that for you:
taxilian 17:11 (I'm not usually this rude; just busy =])
Alyoshak 17:11 Think I've got it.
Thx. No, sorry for asking before using Google.
taxilian 17:11 =]
Alyoshak 17:11 Just laziness. Thx a million. Downloading now, will probably fix me up. Adios.
taxilian 17:11 good luck
come back if you have problems that google can't solve ;-)
Alyoshak 17:11 I'm making a donation just bc you were so patient and helpful. Should've already made one.
taxilian 17:11 remember the pastebin thing; it's good etiquette for any chatroom.
why thanks; I appreciate that. server costs are coming up again =]
Alyoshak 17:11 Well, $50 should add a drop to the bucket.
taxilian 17:11 every bit helps; you'd be surprised how few people bother.
I'm particularly happy to help people who are willing to do a bit to help in return, so be sure to drop in when you have questions
Alyoshak 17:11 I believe you. I often wonder how so many open source projects continue to go.
Will do.
taxilian 17:11 this one primarily because I keep getting jobs with companies that use FireBreath =]
but the server is still paid for by me… so far it's broken even, but only just
Alyoshak 17:11 Well, we're going to attempt a plugin across Windows and Mac, and it'll be a crucial component, so I bet I can swing a donation from the company piggy bank later on also. These guys are not stingy.
taxilian 17:11 well, let them know that I tend to go to much more elaborate lengths to help people when I know they have donated in some way; doesn't have to just be money, many in here have helped in other ways and I am happy to help them as well. I just tend to get a little impatient with people who expect a lot of help and don't give back =]
for the most part, though, you'll find that the FireBreath community is really great
Alyoshak 17:11 Np. First thing I noticed, and was quite impressed with, is the quality of the online docs. Video tutorials and all. It was clear someone was putting in some real effort.
Question: is PayPal the only way one can make a $$ contribution? Not letting me change my credit card address.
taxilian 17:11 I'm open to alternate suggestions
most of the docs have been contributed by users; the videos are me
if you make a meaningful contribution and have a request for a new video screencast let me know and I'll try to work it in
the more meaningful the contribution the more work I'm likely to be willing to do for the screencast tutorial =]
Alyoshak 17:11 just a sec ...
supervisor in here
What do mean by meaningful? Supervisor says absolutely, we want to support them (you).
taxilian 17:11 I leave that to your own judgement; (sorry, I'm in a meeting with my day job)
Alyoshak 17:11 I mean, is $200 "meaningful"? Ok.
taxilian 17:11 I consider it meaningful
Alyoshak 17:11 Excellent. He says will do.
taxilian 17:11 thank you
let me know what kinds of screencasts would be helpful
or if there is something else I can do as a thanks
Alyoshak 17:11 Actually, my main concern is not that kind of thing right now, but simply getting whatever kind of support we need to actually ship a product. I've never done a plug-in before.
taxilian 17:11 (all amounts are meaningful; the level of my motivation to help is in direct proportion to how meaningful the donation; that's what I was trying to get across =] )
well, I will help as I can
Alyoshak 17:11 Great.
taxilian 17:11 that amount might even motivate me to provide you with a phone call at some point if that would be helpful =]
Alyoshak 17:11 As you probably know at early stages of dev, the issues are usually not time-critical. But my experience has been that when the bright, shiny product ships out for the first time, there could be an issue or two that has the higher-ups banging on my door. Might just give you a call.
taxilian 17:11 fair enough; I'm usually easy to find
Alyoshak 17:11 Dang. That was tougher than usual. Or maybe I'm just tired. Contribution made. Really appreciate the high quality work.
taxilian 17:11 and received; thank you
Sudi 18:11 Richard.. one question.. If I have global object and if I have page in between that does not have plugin .. will object be destroyed ???
taxilian 18:11 it might be
and it might not be
often not
but not guaranteed
Sudi 18:11 so do we have any control over that ???
taxilian 18:11 nope
as far as the browser is concerned, if there is no active plugin it can unload your module whenever
Sudi 18:11 :( thats bad.. I am able to call JS as well but when I am in a page with no plugin it is getting destroyed
dbrecht 19:11 afternoon.. i think it's been a long day and i'm now feeling dense as my problem *should* be relatively easy to solve..
easy question first
is the plugin API *guaranteed* to exist once it's been added to the dom and the content type has been appended?
in other words, is there any need for me to handle "onload" events programmatically in js?
dougma 19:11 first question: no
dbrecht 19:11 mk.. so..
i'm trying to use FireEvent for "onload"
best place i figure to stick it is in the API's c'tor after registerEvent("onload")
(couldn't find any virtual functions available that led me to believe that they would be called once all construction took place)
(i also need to get better with gdb so i can walk through the initialization chain)
but.. i seemingly never get the event in js
dougma 19:11 !wiki setReady
FireBreathBot 19:11 4 results found. Note: Results limited to 8
"class FB PluginCore setReady":
"FireBreath 1.5.2 Released!":
"Version History":
"Old Versions":
dbrecht 19:11 that makes me all warm and fuzzy
dougma 19:11 so it seems it's already looking for, and firing an onload
dbrecht 19:11 hrm
dougma 19:11 !wiki onload
FireBreathBot 19:11 7 results found. Note: Results limited to 8
"Firing Events from JSAPI":
"Interacting with Javascript":
"Tips and Tricks":
"Old Versions":
"Web Browser Plugins in the Age of Web Applications.pdf":
dbrecht 19:11 oh wait.. it's iterating over the params by default
not firing events
dougma 19:11 yes... not a regular kind of event
dbrecht 19:11 so i'll just override it and call up
dougma 19:11 sounds plausible. :)
dbrecht 19:11 yeah, so i'll just add 'er in my API class.. should do the trick
thx again :)
dougma 19:11 but you may have problems attaching an event if it's not ready...
dbrecht 19:11 yeah.. maybe a better way to go about it would be to dispatch an event through the DOM (im assuming it's possible to get a DOM reference through the plugin?)
dougma 19:11 you can do that.
i have dispatched click events via the dom. :)
dbrecht 19:11 good to know..
any docs available on it, or just dig through the DOM headers?
dougma 19:11 well there's the class docs
!wiki browserhost
FireBreathBot 19:11 8 results found. Note: Results limited to 8
"class FB BrowserHost BrowserHost":
"class FB BrowserHost ~BrowserHost":
"class FB BrowserHost":
"class FB BrowserHost ScheduleOnMainThread":
"class FB BrowserHost releaseJSAPIPtr":
"class FB BrowserHost Navigate":
"class FB BrowserHost DoDeferredRelease":
"class FB BrowserHost getDOMDocument":
dougma 19:11 call getDOMWindow and go from there
or getDOMDocument or whatever works for you. :)
dbrecht 19:11 you sir, are a scholar and a gentleman. thx again :)
dougma 19:11 just don't forget to test for null pointers along the way
dbrecht 19:11 of course :)
dougma 19:11 alright then, the dom is your oyster or something
dbrecht 19:11 seems that way thus far :)
Hrishikesh 21:11 hi i tried to compile the sample project using firebreath and added one my function but its giving me this error Error 2 error LNK2001: unresolved external symbol "public: class FB::variant __thiscall SaveFileAPI::saveFile(void)" ([email protected]@@[email protected]@@XZ) SaveFileAPI.obj SaveFile
FireBreathBot 21:11 Hrishikesh: 31 Jul 21:31Z <taxilian> tell Hrishikesh no, NPAPI does not support file upload (except possibly to ftp sites). FireBreath has a HttpService library with HttpClient and UploadQueue that do support uploads with libcurl and openssl, however. Unfortunately, they are totally undocumented.
Hrishikesh 21:11 no i am not tring to upload the file
i just want to save it to disk
is there any open source project for this purpose?
dougma 21:11 Hrishikesh: have you implemented SaveFileAPI::saveFile ?
Hrishikesh 21:11 oops
i forgot to do that
thanks alot
dougma 21:11 that's what the linker is asking you. :)
taxilian 21:11 Hrishikesh: that note was from a long time ago :-P
dougma 22:11 FireBreathBot never forgets
roshan 23:11 hello i'm having a problem with installation
git clone git:// firebreath-dev cmand does not work
dougma 23:11 ok.
how do you know it doesn't work?
roshan 23:11 can u pls tel me how to install this
dougma 23:11 you need to help me
roshan 23:11 according to the video tutorial i typed it in cmd prompt
dougma 23:11 what is the error message?
roshan 23:11 'git' is not recognized as an internal or external command, operable program or batch file.
dougma 23:11 ok.
see here:
roshan 23:11 i downloaded git must i run this cmd from git
dougma 23:11 ummm