IRC Log Viewer » #firebreath » 2011-07-30

IRC Nick Time (GMT-7) Message
danhigham 01:07 Hey all, anyone know if there should be any issues running plugins in Safari on OS X?
mine works fine in FF and Chrome
but in Safari and attempt to talk to the plugin results in a JS error - TypeError: 'undefined' is not a function
*any attempt
taxilian 09:07 Sajty: you here?
Sajty 09:07 Yeah, I'm just testing it on linux
taxilian 09:07 cool
Sajty 09:07 Console works now!
taxilian 09:07 there was a missing break statement :-P
Sajty 09:07 but ~/ is still not working
taxilian 09:07 in log4cplus
Sajty 09:07 :D
taxilian 09:07 ~/?
FireBreathBot 09:07 JIRA issue issue commented by sajty "Thanks! Console logging works now, but ~/test.log crashes.
kalev 09:07 Sajty: you should use getenv("HOME") instead of ~/
Sajty 09:07 ok, will try
taxilian 09:07 let me know how that works
the plan is to release rc1 today
Sajty 09:07 Yes, That works! Thanks kalev.
We could check first character of the path for ~ and then replace it with getenv("HOME").
or just document the behavior :D
taxilian: thanks for looking into it! :)
taxilian 09:07 documenting it sounds cheaper ;-)
honestly I hadnt' gotten to checking it yet; I just found it while I was doing something else :-P
Sajty 09:07 It would be nice, if the plugin would check write access and prevent crashing.
There is a small typo, in NpapiTypes.h #ifdef(FB_MACOSX) needs to be changed to #ifdef FB_MACOSX
or I get "error: macro names must be identifiers"
taxilian 10:07 Sajty: update
I forgot to push :-P
FireBreathBot 10:07 Commit 04e1c44 on master by Richard Bateman: "Fixed bad macro name on macosx"
taxilian 10:07 I fixed that, like, an hour ago :-P
but forgot to push
Sajty 10:07 Thanks :)
FireBreathBot 10:07 JIRA issue issue resolved by richard "Reported that this is fixed now."
taxilian 10:07 kylehuff: you around?
FireBreathBot 10:07 Commit 295ae35 on master by Richard Bateman: "FIREBREATH-92: add shutdown method to JSAPI class to notify ..."
JIRA issue issue resolved by richard "Cocoa events have been fleshed out a lot; more to come."
JIRA issue issue resolved by richard "Added buildconfig flag to disable autolinking"
taxilian 10:07 git pull request
FireBreathBot 10:07 1 open pull request:
sajty: FIREBREATH-112: Add Keyboard support on linux.
taxilian 10:07 I thought I'd already merged that
guess I haven't
better look at it
FireBreathBot 10:07 Commit f88227d on master by Richard Bateman: "Merge pull request #26 from sajty/master
taxilian 10:07 git pull request
FireBreathBot 10:07 There are no open pull requests in firebreath/FireBreath
JIRA issue issue resolved by richard "Thanks for the pull request!"
JIRA issue issue resolved by richard "Added, experiemental"
FireBreathBot 10:07 JIRA issue issue commented by richard "Could you submit a sample project that reproduces this issue? I'm not seeing it."
taxilian 11:07 yardwork time… be back later today
taxilian 12:07 dougma: any idea where one would find the updated IE9 COM header files?
kylehuff 12:07 I am in-between coffee dumps, but I am here now taxilian
taxilian 12:07 lol. there was something I was going to see if you wanted to tackle, but I can't remember now
maybe the changelog? didn't you do that for me once before?
kylehuff 12:07 yeah, I can hash out the changelog. I just need to figure out to get jira to show me the bugs fixed in this release
taxilian 12:07
there are a few
it would probably be worthwhile to go through the github commits just to be sure we didn't miss anything as well :-/
but the most important thigns should be on that list
kylehuff 12:07 cool, I will cobble something together. so this is release 1.6.0?
taxilian 12:07 yes; we'll be calling it RC1 to start out with
but yes
kylehuff 12:07 does the jira issue indicate Core vs. Windows etc? or do I need to derive that from the patch/merge?
taxilian 12:07 no, you have to derive that from what the problem is
kylehuff 12:07 ok, np. last question for right now then, any breaking changes?
taxilian 12:07 nope
kylehuff 12:07 cool
taxilian 12:07 which is, IMO, very cool
kylehuff 12:07 I would agree with that...
kylehuff 13:07 okay taxilian, there is a start:
taxilian 13:07 call it 1.6.0 RC1 for now
kylehuff 13:07 I tried to model the same format you had before, and I'm not sure if you noticed, but the description being added after the {jira} macro is kind of redundant.. what do you think?
taxilian 13:07 yeah; so the format I was actually using was slightly less redundant, but not obvious
I was actually using the commit messages as the text
and the issue text goes in the issue itself
kylehuff 13:07 oh, okay, easy enough to fix... not sure how I missed that though..
I blame it on this really weak coffee
taxilian 13:07 lol
someone-noone 13:07 !bothelp
FireBreathBot 13:07 Bot help -- most used commands:
!findfile <regex> - Search for files in the project tree on github
!find <symbol> - use ctags to search for a symbol in the source tree
!wiki <search string> - search the wiki for the given string
git pull requests - list all open pull requests for the project
.pb - remind users about pastebin services
.ask - remind users to ask their question rather than waiting for someone to come
.g <search string> - search google for <search string> and return the url of the first response
.lmgt <search string> - display 'Let me Google that for you' link for <search string>
.extensions - Display a summary of the difference between a plugin and an extension.
taxilian 13:07 you're talking to someone who doesn't drink coffee and doesn't use caffine… sorry, no sympathy here ;-)
someone-noone 13:07 !find invalidate
FireBreathBot 13:07 Found 8 possible matches. Displaying 5
/^ NPInvalidateFunctionPtr invalidate;$/ (m) found in src/3rdParty/gecko-sdk/includes/npruntime.h:
/^ void invalidate() { m_obj.reset(); }$/ (f) found in src/ActiveXCore/IDispatchAPI.h:
/^ void invalidate() { inner.reset(); }$/ (f) found in src/NpapiCore/NPObjectAPI.h:
/^void JSAPIImpl::invalidate()$/ (f) found in src/ScriptingCore/JSAPIImpl.cpp:
/^void FB::JSAPIProxy::invalidate()$/ (f) found in src/ScriptingCore/JSAPIProxy.cpp:
someone-noone 13:07 can bot reply me to private ?
taxilian 13:07 probably
looks like it
message it privately
and it will respond
I use it that way sometimes too =]
it's useful
someone-noone 13:07 yeah, it works :)
FireBreathBot 13:07 Commit 1be884d on master by Richard Bateman: "FIREBREATH-93: added predefined DISPIDs from new winsdk"
Commit 39f2935 on firebreath-1.6 by Richard Bateman: "Added a timed wait to SafeQueue"
Commit 311398e on firebreath-1.6 by Richard Bateman: "FIREBREATH-114, FIREBREATH-94 Change UTF8 libs"
Commit d343f81 on firebreath-1.6 by Richard Bateman: "Fixed build w/ 10.7 sdk"
Commit 8f51e9b on firebreath-1.6 by Richard Bateman: "FIREBREATH-111 - missing break in case statement"
Commit 450aea4 on firebreath-1.6 by Richard Bateman: "FIREBREATH-110: Safari 5.1 requires drawing/event model"
Commit 52f08fd on firebreath-1.6 by Richard Bateman: "Fixed misc minor windows build errors"
Commit 13cc3d5 on firebreath-1.6 by Richard Bateman: "Fixed potential bug when firing simple event"
Commit b9b1542 on firebreath-1.6 by Richard Bateman: "Fixed problem with windows prep scripts examples"
Commit ae634a7 on firebreath-1.6 by Richard Bateman: "Fixed failed tests in FBTestPlugin"
Commit 04e1c44 on firebreath-1.6 by Richard Bateman: "Fixed bad macro name on macosx"
Commit f88227d on firebreath-1.6 by Richard Bateman: "Merge pull request #26 from sajty/master
Commit 1be884d on firebreath-1.6 by Richard Bateman: "FIREBREATH-93: added predefined DISPIDs from new winsdk"
Commit 295ae35 on firebreath-1.6 by Richard Bateman: "FIREBREATH-92: add shutdown method to JSAPI class to notify ..."
JIRA issue issue commented by richard "okay, I have a theory, but I can't reproduce your issue well enough to test it reliably in the ti..."
kylehuff 13:07 stupid client crashed.. no idea why.. so if you said/asked anything, I missed it
taxilian 13:07 oh, I just made fun of you for blaming things on coffee since I don't drink it
kylehuff 13:07 ah.. lol.. I actually don't drink much of it. 1 cup on weekdays, 1.5 on the weekends
taxilian 13:07 hehe. well, the 1.6 release is building
(the google code version)
kylehuff 13:07 cool, I'm nearly done adding the commit messages
taxilian 13:07 awesome. thanks for that
let me know when you're done and I'll go add the finishing touches
kylehuff 13:07 will do
FireBreathBot 14:07 JIRA issue issue commented by donaldlsmithjr "I will try get that put together for you. We haven't had a chance to really troubleshoot this ye..."
kylehuff 14:07 done
taxilian 14:07 awesome
now to finish it up
FireBreathBot 14:07 JIRA issue issue commented by richard "My current theory is that the DISPIDs of those names are "well known" and so instead of asking fo..."
taxilian 14:07 !findfile BrowserHost.cpp
FireBreathBot 14:07 Found 4 matching file(s) in the master branch. First 4 are:
taxilian 14:07 *sigh*. I forgot to document DetectProxySettings
FireBreathBot 14:07 Commit 6f47d46 on firebreath-1.6 by Richard Bateman: "Documented DetectProxySettings"
Commit 6f47d46 on master by Richard Bateman: "Documented DetectProxySettings"
taxilian 14:07 FireBreath 1.6.0rc1 released! thanks everyone who helped, particularly kylehuff
see ya'll later.
taxilian 15:07 welcome
new "face"
danhigham 15:07 me?
taxilian 15:07 yep
danhigham 15:07 heh
I have been here before
I have been using Firebreath for while
taxilian 15:07 really? wow. my memory is even worse than suspected, then
danhigham 15:07 only once or twice :-)
have a small problem with a plugin I wrote
taxilian 15:07 better than a big problem, I suppose
danhigham 15:07 ha ha
my plugin works fine on FF and Chrome
but not Safari
very bizarre
taxilian 15:07 it's a scripting only plugin, right?
doesn't draw?
danhigham 15:07 correct
taxilian 15:07 update to 1.6
it's fixed
danhigham 15:07 woah
taxilian 15:07 yes
and there went 6 hours of my life
danhigham 15:07 :-) happy days
taxilian 15:07 I am really ticked off at Apple for that one
tracked it down yesterday
danhigham 15:07 what was the issue?
taxilian 15:07 turns out that as of Safari 5.1 you have to select a drawing and event model
even if you aren't going to draw
danhigham 15:07 well that sucks
taxilian 15:07 so you could also just turn on cocoa and coregraphics, but it'll be cleaner to update
and there are other fixes you want in 1.6 anyway
it doesn't actually cause any real issues, except that figuring out what it was was a bear
and required as much luck as anything else
danhigham 15:07 oh ok
so what version is on Github
I did a pull this morning and rebuilt my plugin with that
taxilian 15:07 the github master branch is currently the same as the firebreath-1.6 branch
are you on master?
danhigham 15:07 oh ok
err, think so
will check now
taxilian 15:07 double check
actually, it's unlikely
because this morning there was a build error on mac
danhigham 15:07 hmm, I am on master
let me just check what I would need to do
taxilian 15:07 well, try pulling again
danhigham 15:07 pull from git
taxilian 15:07 then I'd delete your build dir entirely
and reprep
danhigham 15:07 no you mentions there was a build error
which I managed to get around
taxilian 15:07 ahh
danhigham 15:07 something to do with macro names
taxilian 15:07 okay, that makes sense then
yeah, it was simple
hmm. that should have fixed your issue, then
update anyway, though
danhigham 15:07 will try again...
taxilian 15:07 and then delete your build dir
this is Safari 5.1?
danhigham 15:07 yup
taxilian 15:07 it's gotta be the same issue
danhigham 15:07 retrying...
danhigham 15:07 still going.. :-)
taxilian 15:07 nothing outlasts the build process
danhigham 16:07 great project btw
loving it
taxilian 16:07 I tried turning on Mac OS X PCH, didn't seem to help
danhigham 16:07 pch?
taxilian 16:07 glad you like it. please contribute back in whatever way you are able
Precompiled Headers
windows build on 1.6 is something like 200% faster now wtih PCH enabled
danhigham 16:07 wow, cool
taxilian 16:07 it actually compares favorably with mac's build now
danhigham 16:07 I do plan to open source the plugin I am building
taxilian 16:07 cool
when you do, make sure to add a link from the "examples" page on
danhigham 16:07 will do
so I re-cloned firebreath and recompiled
and am getting a linking issue I originally had when I first started development with a referenced library that only supports x86
i386 sorry
no x64
whats the best way of making sure the project only compiles for i386
I think last time I had to make some changes to CMakefile
taxilian 16:07 !wiki prep scripts
FireBreathBot 16:07 8 results found. Note: Results limited to 8
"Prep Scripts":
"Using CMake With FireBreath":
"Creating a Plugin Project without fbgen":
"Working with bundles":
"Best Practices":
"Using Libraries":
"Frequently Asked Questions":
taxilian 16:07 look under "Mac Params
danhigham 16:07 think I got it, it's been ages since I have had to do this as it was all working fine and then Apple release a new version of Safari
taxilian 16:07 yep =]
there are very, very few times when you'll actually need to modify the cmake files, though
what I do is I create my own file in the project directory
that passes in any needed cmake params
that way it'll always be there when I need it
danhigham 16:07 cool, good idea
taxilian 16:07 you shouldn't ever need to modify actual FireBreath files
that way when you update it isn't an issue
danhigham 16:07 ah crap
still the same
taxilian 16:07 are you using logging?
danhigham 16:07 every time I try and call a method in the plugin I just get TypeError: 'undefined' is not a function (evaluating '<function name>')
taxilian 16:07 does it show up in about:plugins?
danhigham 16:07 yup
taxilian 16:07 send me your PluginConfig.cmake file?
FireBreathBot 16:07 When you need to share code, logs, or anything else longer than a couple of lines, use a pastebin.,, and are all good options
danhigham 16:07 yeah, I use gists most of the time
taxilian 16:07 works
I do too, actually
danhigham 16:07 hmm, although saying that, my about:plugins page in Safari is blank!
taxilian 16:07 are you using multiple mimetypes?
danhigham 16:07 no, just one
taxilian 16:07 you know how to build the examples?
danhigham 16:07 yeah, did that earlier today
that works fine
taxilian 16:07 FBTestPlugin works fine?
danhigham 16:07 must be my plugin I guess
yeah, it works fine
taxilian 16:07 FBTestPlugin was not working correctly the day before yesterday
so it's something (more) unique to your plugin
send me your pluginconfig?
danhigham 16:07
oh hold up
do I need to enable the gui

taxilian 16:07 hmm. you shouldn't but you might
someone-noone 16:07 may be someone faced with smth similar;
taxilian 16:07 I was about to suggest that
someone-noone 16:07 After creating second instance of CAOpenGLLayer, the first one stop to draw with drawInCGLContext. (it never called) But setNeedsDisplay is called regularly. What can it be?
taxilian 16:07 danhigham: FBTestPlugin should have had that set as well, but it seems it didn't
I'm betting that's it
danhigham 16:07 ok, will play with those settings now
taxilian 16:07 I need to fix that; this is why it's a RC and not a full release ;-)
someone-noone: no idea
danhigham: you shouldn't need to delete the build dir for that change
just reprep
danhigham 16:07 okey doke
taxilian 16:07 !findfile NpapiPluginMac
FireBreathBot 16:07 Found 2 matching file(s) in the master branch. First 2 are:
taxilian 16:07 !find createPluginEventMac
FireBreathBot 16:07 Found 5 possible matches. Displaying 5
/^FB::PluginEventMac* PluginEventMac::createPluginEventMac(NPEventModel eventModel) {$/ (f) found in src/PluginAuto/Mac/PluginEventMac.cpp:
/^FB::PluginEventMacCarbon* FB::createPluginEventMacCarbon()$/ (f) found in src/PluginAuto/Mac/PluginEventMac.cpp:
/^FB::PluginEventMacCarbon* FB::FactoryBase::createPluginEventMacCarbon()$/ (f) found in src/PluginCore/FactoryBase.cpp:
/^FB::PluginEventMacCocoa* FB::createPluginEventMacCocoa()$/ (f) found in src/PluginAuto/Mac/PluginEventMac.cpp:
/^FB::PluginEventMacCocoa* FB::FactoryBase::createPluginEventMacCocoa()$/ (f) found in src/PluginCore/FactoryBase.cpp:
taxilian 16:07 I'll be back later
danhigham 16:07 works!
that was it
taxilian 16:07 excelent; now I need to fix it in the code so that you don't have to do that next time
!find initPluginWindowMac
FireBreathBot 16:07 Could not find any tags matching initPluginWindowMac
Commit dd004fe on firebreath-1.6 by Richard Bateman: "FIREBREATH-110: Fixed bug where FB_GUI_DISABLED breaks thing..."
Commit dd004fe on master by Richard Bateman: "FIREBREATH-110: Fixed bug where FB_GUI_DISABLED breaks thing..."
JIRA issue issue commented by richard "FireBreath 1.6 has been updated now to always enable CoreGraphics / Cocoa if GUI is disabled. Blah."
frankbro 20:07 Just a quick question. Would firebreath be a good project to look at to create a browser plugin for a game engine in C++ using the SFML library?
dougma 20:07 frankbro: firebreath is c++ so that would work well
would = should :)
frankbro 20:07 dougma, and since its a media library which implements window and all, clicks should work ?
Well, capturing events such as click but also keys and such
dougma 20:07 in my experience (on windows platforms) that works best when you do a 'windowed' plugin
frankbro 20:07 so exterior to the browser, good to know it's possible
dougma 20:07 well... it still gets rendered into the browser
frankbro 20:07 oh
dougma 20:07 it seems to work mostly. :)
i've been working on a window-less plugins which has been much more of a struggle
frankbro 20:07 I'm on linux personally
dougma 20:07 ok...!
well, there has been some activity on linux keyboard events recently
frankbro 20:07 Of course supporting windows would probably be the main concern but I'd hate myself for not doing something cross-platform ;)
dougma 20:07 but you'd have to review github
firebreath is great for taking care of the javascript x-platform aspects
but drawing and keyboard/mouse events are not really in its domain imho
frankbro 20:07 The engine worked pretty much like flash except it doesnt suck and wont take a whole core :P I'd love to see it running in a browser
dougma 20:07 there are people here doing stuff with sdl i think
frankbro 20:07 Alright I'll try to build some basics hello world SFML with firebreath and see where it goes.
Yea SDL is CPU drawing tho
dougma 20:07 but same kind of library?
frankbro 20:07 SFML uses GPU without tweaking like SDL does
Yea mostly the same
this page has SFML stuff
dougma 20:07 oh well, brilliant!
then you are not the first
frankbro 20:07 And what about asset loading ?
I should compile them in the executables ?
dougma 20:07 don't know. whatever is easiest i'd say. :)
my needs were just for cursors
taxilian_away: this looks like what you want:
haven't looked at it myself
taxilian 20:07 back, reading history
dougma 21:07 mshtmdid.h defines a shedload of dispids, but i have no idea how they are used!
taxilian 21:07 dougma: yeah, I imported all of the DISPID_ON???? thigns that I could
dougma 21:07 will have a play with 1.6 rc soon
ie: this week.
have you seen IE request those dispids from the control?
taxilian 21:07 I haven't
I haven't been able to repro the issue
but I figured it wouldn't hurt
dougma 21:07 there's more now: DISPID_IE9EVENTS_????
taxilian 21:07 ...
didnt' see those
dougma 21:07 in the new ie9 headers
taxilian 21:07 I pulled the windows 7 sdk, I thought it had those headers, but I guess not
dougma 21:07 oh... but they seem to line up with DISPID_ON
taxilian 21:07 lol
downloading the headers you found now =]
dougma 21:07 lots of stuff in there!
taxilian 21:07 I believe that
taxilian 21:07 these do indeed line up, but there are more of them
taxilian 21:07 of course, they couldn't just put this in in a useable way
FireBreathBot 22:07 Commit d7226ac on master by Richard Bateman: "FIREBREATH-93: Further updated events DISPIDs, may or may no..."