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

IRC Nick Time (GMT-7) Message
Manfred 07:03 Hi,
I have question about firebreath, can anyone answer?
have a BHO in C++ which do the following:
I communicate with the bho over shared memory and Sendmessage via a window inside my bho
the bho execute the script from shared memory via execScript
Now, is it possible to do the same with firebreath
will call a new site from my application via Navigate and then I will execute a script with execScript that makes a call to the my firebreath plugin. I will not call a html site. The firebreath plugin then get via Shared memory some script. This script should then be executed inside the plugin.
Is this possible
Mak_ 08:03 How is it possible to get the event OnDocumentComplete inside a plugIn?
Can anyone help?
neilg_away 08:03 Yes
neilg_ 08:03 The most straightforward way I can think of is to expose a function from your plugin. Then in your HTML do something like <body onload="myPluginFunction()">
Mak_ 08:03 I know this way but I what is if I call execScript from my plugin with a jscript 'navigate("");
I will get the control of the completion to this navigation.
I have written a bho with c++ and there I get ONDOCUMENT complete
Mak_ 08:03 Can anyone help how it is possible to get OndocumentComplete inside the plugIn? Onload is not the way for my case.
Inside my plugin I will call several navigate cmds via execscript and I must control the completion of the site
neilg_ 08:03 If you navigate away your plugin is going to unload
OnDocumentComplete is an IE thing in any case
Mak_ 08:03 Is it possible to suppress the unload if I navigate?
neilg_ 08:03 No
You could always use a frame or something of that nature
Mak_ 08:03 ok
neilg_ 08:03 And make that frame navigate to where you want to go. Then I suppose you could inject something like window.addEventListener('load', function (e) { myPluginFunction(); }, false);
Where window is the frame
The plugin object exists within the browser's DOM. When you navigate away the DOM is replaced by the contents of the new document and that's why your plugin goes away. So either you want to use an extension rather than a plugin or you have to use something like a frame to make sure that activity happens within the same DOM
taxilian 08:03 Mak_: what you're trying to do might be possible with an extension; like neilg_ said though a plugin exists in the DOM
Manfred: are you and Mak_ the same person? your questions look the same =]
does anyone here have experience setting up JIRA?
neilg_ 09:03 Sadly not though JIRA looks very cool
taxilian 09:03 neilg_:
but it's not really set up yet
neilg_ 09:03 Though, in my experience, most bug tracking software appears very cool but usability tends to be lacking :(
taxilian 09:03 also
neilg_ 09:03 Oh wow, that's pretty cool. I like the source browser!
taxilian 09:03 theoretically I should be able to integrate them
so that commit messages get mapped to JIRA issues
and vise versa
but I can't get it to work at the moment
which annoys me
neilg_ 09:03 Sure, I definitely understand that feeling. I've had it too many times to mention where something SHOULD work pretty easily but doesn't. :)
taxilian 09:03 also the usernames are linked across all three systems
so if you have an account with JIRA you can use it to log into the wiki
and vise versa
tony__ 09:03 hi guys.. I have added a tif file to the xcode project via cmake .. but I cannot load that image using this call [NSImage imageNamed:@"latest_toolbar_pindown"]
taxilian 09:03 tony__: that's really more of a mac dev question; don't know if there is anyone here who can help you on that one
tony__ 09:03 :)
I was able to load the files using same code in a cocoa application
I am wondering.. is there any tric hiding in the NPAPI plugin..!
taxilian 09:03 well, it's a dylib
but other than that, not that I know of
neilg_ 10:03 Well, it's a dylib inside of a plugin bundle
taxilian 10:03 true
neilg_ 10:03 Does it get copies into the bundle?
My guess is not - but if so then I'd like to know how because I need to do that too. ;)
But assuming it did then you'd need to reference it adjacent to the dylib... That's my guess.
taxilian 10:03 dunno
neilg_ 10:03 It's amazing that I can answer Mac questions when just a few months ago I had no real clue. :)
Arguably I still don't but... lol
taxilian 10:03 actually, it probably would make the most sense to put the .tif file into the bundle
and then access them relative to the dylib
that would be the easiest I wouldthink
neilg_ 11:03 I think so too, it's certainly the most straightforward way in any case
stuartmorgan 11:03 tony__: imageNamed: won't work in a plugin
tony__: Your plugin isn't the main bundle, the application hosting the plugin is
What you want to do is get a reference to your plugin's bundle using, e.g., bundleForClass: and some class you implement, then use one of then NSBundle methods for getting resources to get the image path from your bundle
Then feed that to NSImage
(and of course you'll need to make sure the image actually is being built into YourPlugin.plugin/Contents/Resources, so that it's there for NSBundle to find)
taxilian 11:03 amackera: any idea when you'll have time to finish the plugin windows?
neilg_: are you able to log into using your login?
neilg_ 12:03 Honestly I haven't tried. I'll give that a go though!
taxilian 12:03 let me know; you should be able to log in, but I would like to verify that =]
neilg_ 12:03 No, it tells me I don't have permission
I thought I'd forgotten my password so I just reset it. No dice though!
I like the "You don't have a permission" message :)
Or do I need a separate account to do that?
I can login to
taxilian 12:03 let me dig
hang on
neilg_: try now
taxilian 12:03 grr. nobody here have experience setting up Jira?
neilg_ 12:03 Aha! Yes, that works
taxilian 12:03 that's good
the question is, if someone creates an account for confluence, how do I make it automatically work for jira?
I had to go add everyone to the jira grou
neilg_ 12:03 Hmm. Is there some kind of custom trigger interface you can use? Or a shared database?
taxilian 12:03 it is a shared database
just not a shared group
I'll figure something out; first, I need to figure out how to add custom fields
you'd think it would be the "custom fields" button, but I haven't figured out how to make anything I add there be useful
tony__ 12:03 How can I force to kill the plugin , just after the plugin window is closed in mac browsers..?
taxilian 12:03 tony__: you mean always?
or just once while developing?
tony__ 12:03 after deplyment maily..
taxilian 12:03 you can't
you have to write your plugin so that it doens't have to be force killed
just like any other app
tony__ 12:03 ok fine
thanks for the info
taxilian 12:03 yw
neilg_ 12:03 I'm having fantastically weird issue with rendering OpenGL. I don't think it's a FB issue but I wanted to mention it in case somebody had some insight. Using a CAOpenGLLayer, I find drawInCGLContext gets called a few times and then stops being called. This is in Chrome. Now, in Safari rather than not being called, it makes everything go black and responds to no input. It's rather... special.
taxilian 12:03 aweseome
no idea
neilg_ 12:03 I'm surprised that the behaviour is different between Safari and Chrome. Frustratingly I actually do see the first few frames with Safari - but not Chrome! But at least I know I'm close... :)
taxilian 13:03 We're now officially using Jira for issue tracking:
nirvdrum! Kevin! didn't you say you had some experience with Jira?
nirvdrum 13:03 Yo.
What's up?
taxilian 13:03
nirvdrum 13:03 Oh, sweet.
taxilian 13:03 suggestions?
offers to fix everything I did wrong?
nirvdrum 13:03 GitHub issues is terrible.
taxilian 13:03 google code issues not much better
both are deprecated in favor of this now
nirvdrum 13:03 Well, first up, I should be able to view issues when not logged in. It's open source after all :_)
taxilian 13:03 if I make you an admin can you help me fix that?
nirvdrum 13:03 Sure.
taxilian 13:03
can you not view that?
you are now an admin
nirvdrum 13:03 I can see the second link.
Not the first.
taxilian 13:03 hmm
nirvdrum 13:03 IssueNavigator is good.
Direct link to issue doesn't work though.
taxilian 13:03 just tell me what to fix =] if I need to install plugins, tell me which ones :-P
nirvdrum 13:03 Heh.
Did you unify the logins with Confluence?
Or do I need to create an account?
taxilian 13:03 yes
I did
rather, I migrated the confluence logins to crowd
amackera 13:03 taxilian: I don't see an option to assign a bug to a person in the issue creation form
taxilian 13:03 and I set them all up to use crowd
amackera: you didn't have that permission
you should now
amackera 13:03 ah ok thx
is there a way to edit an issue after it's been created?
taxilian 13:03 yes
there is an edit button
amackera 13:03 hmm
maybe i need to logout / login or something
taxilian 13:03 maybe you don't have that permission
I'm looking for it
try now
nirvdrum 13:03 taxilian: Happy to help. I probably can't give it a good look until this evening though.
taxilian 13:03 fair enough
amackera 13:03 Maybe I'm looking in the wrong spot? is the edit button on the issue page?
like with the comment / attach files / etc.
taxilian 13:03
when I go to the top of the page there is an "edit" button
right above "details"
amackera 13:03 hmmm i don't have one
just "Comment", "Attach Files", "Attach Screenshot" and "More Actions" (and there's no edit under more actions)
nirvdrum 13:03 taxilian: I did just fix the anonymous permission for viewing issues though.
taxilian 13:03 nirvdrum: awesome =] any idea why amackera can't find the edit button?
is there a permission I need to change?
nirvdrum 13:03 taxilian: He's not in the developers role.
He's only in the jira-users group.
amackera 13:03 ahh
i see, i think i can fix that for myself
taxilian 13:03 ahh, I see it
al confluence_administrators should be developers
and he's in that group
I'll add the group to the developer role
amackera: try now
nirvdrum: I hadn't found the "roles" yet =]
amackera 13:03 perfect! thanks
taxilian 13:03 also check out, btw
amackera 13:03 oo cool
nirvdrum 13:03 Ahh. You're going all in with Atlassian, eh? :-)
May as well set up Bamboo for builds, too.
taxilian 13:03 nirvdrum: I requested a license for bamboo but haven't set it up yet
builds are currently on my home machine
using hudson
but I may change things to actually use prebuilt binaries for parts of FireBreath
nirvdrum 13:03 I didn't know Crucible supported git yet.
That's nice.
taxilian 13:03 Crucible doesn't, but Fisheye does
and they are tied together in this instance
nirvdrum 13:03 Ahh. Gotcha.
taxilian 13:03 Jira doesn't support git decently either
whcih is why I set up Fisheye
however, I can't get the applications to link
nirvdrum 13:03 I actually like what GitHub has done for code review.
taxilian 13:03 yeah; not really thinking we'll use Crucible much; might even disable it
if I can figure out how
amackera 13:03 oo cool
nirvdrum 13:03 I can't help out with Crowd though. I never bothered shelling out for that license.
taxilian 13:03 I think I have crowd working right
it took me a few tries
now I just need to get Jira tied into Fisheye
I opened up a support ticket wtih Atlassian to try to figure it out
stuartmorgan 14:03 neilg_: do you see errors in the console when it happens?
neilg_ 14:03 stuartmorgna: Sadly not, there's nothing obviously wrong
stuartmorgan 14:03 neilg_: don't be surprised when you see different behavior in Safari vs Chrome when something goes wrong, btw; the implementations of the hosting are totally different
Because Safari uses SPI to share layers directly, instead of involving CARenderer like the unwashed masses are forced to :P
neilg_ 14:03 I have a very simple example which works in the same way (CAOpenGLLayer as a sublayer of CALayer) which works perfectly so I'm sure it's something in my code. Not sure what though! Certainly the scene is a lot more complicated that a rotating triangle. ;)
Hmm. Well, that would explain why Safari takes down the whole machine then! Or, most likely, it brings down the display driver...
Also, your name is stuartmorgan, not stuartmorgna. Stupid fingers!
taxilian 14:03 neilg_: I believe you are correct
taxilian 14:03 stuartmorgan: has there been a decision to stop honoring NPN_SetException that I haven't heard about yet?
stuartmorgan 14:03 Not that I know of, but I haven't really done any work on the bindings side
Oh, that bug report
taxilian 14:03 I just found out that Firefox 3.6.15 is doing the same thing
don't know yet if it's always or just sometimes
stuartmorgan 14:03 Interesting; the bug report in Chromium says 3.x works
taxilian 14:03 "Error calling method on NPObject!"
yeah, I know
but it is universal on Safari and Chrome currently and now Firefox as well, it seems
stuartmorgan 14:03 taxilian:
Could be everyone is having the same bug Chromium did before
As part of moving to OOP
taxilian 14:03 guess so
didn't realize firefox was going to move everything OOP before ff4
stuartmorgan 14:03 Windows, and maybe Linux, shipped OOP in 3.6 I believe
taxilian 14:03 the initial versions didn't use it; it's a fairly recent switch
but this report was 3.6.15 on mac
taxilian 15:03 c10426f4ddfeb
FireBreathBot 15:03 [FireBreath c10426f4d]: [object]
taxilian 15:03 lol. hmm. well, that sorta but not really worked
taxilian 15:03 c10426f4ddfeb
FireBreathBot 15:03 [FireBreath c10426f4d]: [object]
taxilian 15:03 c10426f4ddfeb
amackera 15:03 Hiraghm: Change your run configuration to manual, if you're using Eclipse
oops, srry
wrong channel
taxilian 15:03 .py print 5
FireBreathBot 15:03 5
taxilian 15:03 .py print 5*34
FireBreathBot 15:03 170
taxilian 15:03 huh. that's weird
FireBreathBot 15:03 taxilian: FireBreath Home - FireBreath - FireBreath Home Page
nitrogenycs 15:03 .py 5**2
FireBreathBot 15:03 25
taxilian 15:03 not sure I like that; seems dangerous
nitrogenycs 15:03 .py import sys; print sys.path
FireBreathBot 15:03 ['/base/python_runtime/python_dist/lib/', '/base/python_runtime/python_lib/versions/third_party/django-0.96', '/base/python_runtime/python_dist/lib/python2.5/', '/base/python_runtime/python_dist/lib/python2.5/plat-linux2', '/base/python_runtime/python_dist/lib/python2.5/lib-tk', '/base/python_runtime/python_dist/lib/python2.5/lib-dynload', '/base/python_runtime/python_lib/versions/1', '/base/data/home/apps/tumbolia/1.3490003326247711
nitrogenycs 15:03 lmao
kylehuff 15:03 lol
nitrogenycs 15:03 .py "xxsxformat c:\"
FireBreathBot 15:03 SyntaxError: EOL while scanning single-quoted string (<string>, line 1)
taxilian 15:03 yeah; like I was saying =]
it's a mac, nitro… =]
the correct term would have been "system('rm -Rf /')"...
nitrogenycs 15:03 I already entered, but I thought it'd be a bit gross :)
taxilian 15:03 lol
yeah, I think I better figure out how to blacklist all by default and only allow what I want… =]
I really just want it to have some search features for the wiki and notify us of jira activity
.py print "Turns out this is using a web service, not running on my machine"
FireBreathBot 15:03 Turns out this is using a web service, not running on my machine
nitrogenycs 16:03 lol really?
taxilian 16:03 yep
so it just looks really scary :-P
.py 'system('pwd')'
nitrogenycs 16:03 :) it does
FireBreathBot 16:03 SyntaxError: invalid syntax (<string>, line 1)
nitrogenycs 16:03 .py import os; os.system('pwd')
FireBreathBot 16:03 AttributeError: 'module' object has no attribute 'system'
taxilian 16:03 .py system('pwd')
FireBreathBot 16:03 NameError: name 'system' is not defined
taxilian 16:03 ahh, ye
nitrogenycs 16:03 .py import sys; print sys.os.system
FireBreathBot 16:03 AttributeError: 'module' object has no attribute 'os'
taxilian 16:03 my python is decent, but still slow (lots of breaks to look things up)
amackera 16:03 .py len([1, 2, 3])
FireBreathBot 16:03 3
amackera 16:03 haha awesome!
nitrogenycs 16:03 .py import site; site.os.system
FireBreathBot 16:03 AttributeError: 'module' object has no attribute 'system'
amackera 16:03 let's install an irc server lib on that bot
nitrogenycs 16:03 lol
amackera 16:03 "yo dawg... i heard you like irc..."
nitrogenycs 16:03 .py print globals()
taxilian 16:03 sorry, restarting the bot
amackera 16:03 crash?
nitrogenycs 16:03 does the .py thing also work if I talk to the bot in private?
taxilian 16:03 yes =]
nitrogenycs 16:03 ok :)
taxilian 16:03 .py print globals()
I'm curious too...
nitrogenycs 16:03 yay it works
FireBreathBot 16:03 {'load': <function load at 0xda7858bbc32a12e0>, 'text': <function text at 0xda7858bbc32a11f0>, 'codecs': <module 'codecs' from '/base/python_runtime/python_dist/lib/python2.5/codecs.pyc'>, 'datetime': <module 'datetime' (built-in)>, 'api': <module 'google.appengine.api' from '/base/python_runtime/python_lib/versions/1/google/appengine/api/'>, 'encodings': <module 'encodings' from '/base/python_runtime/python_dist/lib/python2.5/encodin
nitrogenycs 16:03 interesting
I wonder if this bot will automatically cancel all requests taking longer than x seconds
taxilian 16:03 dunno
there is probably timeout in the http request
the bot is written in python
nitrogenycs 16:03 yeah
taxilian 16:03 hoping I can get it to do what I want it to do
nitrogenycs 16:03 and it seems it runs on google's appengine
taxilian 16:03 huh
that could be cool
amackera 16:03 .py print '\n'.join(os.environ['PATH'].split(os.pathsep))
FireBreathBot 16:03 KeyError: 'PATH'
amackera 16:03 heh, no PATH in appengine?
taxilian 16:03 .py print '\n'.join(os.environ['path'].split(os.pathsep))
FireBreathBot 16:03 KeyError: 'path'
taxilian 16:03 .py print '\n'.join(os.environ.keys)
FireBreathBot 16:03 TypeError
taxilian 16:03 .py print '\n'.join(os.environ.keys())
FireBreathBot 16:03 REQUEST_ID_HASH
nitrogenycs 16:03 .py import os; print os.environ.keys()
taxilian 16:03 lol
nitrogenycs 16:03 .py import os; print os.environ['USER_ID']
.py import os; print os.environ['DATACENTER']
FireBreathBot 16:03 na7
nitrogenycs 16:03 .py import os; print os.environ['SERVER_NAME']
FireBreathBot 16:03
taxilian 16:03 yeah, I could have told you that part
nitrogenycs 16:03 .py import os; print os.environ['USER_IS_ADMIN']
FireBreathBot 16:03 0
taxilian 16:03 just a sec, gotta bounce the bot
nitrogenycs 16:03 :
.py import os; print os.environ['USER_EMAIL']
.py import os; print type(os.environ['USER_EMAIL'])
FireBreathBot 16:03 <type 'str'>
taxilian 16:03 make me a sandwhich
nitrogenycs 16:03 .py import os; print len(os.environ['USER_EMAIL'])
FireBreathBot 16:03 0
nitrogenycs 16:03 enjoy your meal
taxilian 16:03 huh, didn't work
FireBreathBot: make me a sandwich
nitrogenycs 16:03 haha
kylehuff 16:03 taxilian: you need 'sudo make me a sandwich'
nitrogenycs 16:03 lol
taxilian 16:03 make me a sandwich
kylehuff: it's a sample plugin; it's supposed to tell me off if I don't sudo
not working, though
FireBreathBot make me a sandwich
kylehuff 16:03 lol.. okay, I see.
taxilian 16:03 ooh....
just a sec
FireBreathBot 16:03 AttributeError: 'module' object has no attribute 'jira_channels' (file "/Users/richard/code/phenny/", line 186, in call)
taxilian 16:03 lol
nitrogenycs 16:03 .py import base64; print 'Yummy ', base64.decodestring('aHR0cDovL2V4dHJlbWUucGNnYW1lc2hhcmR3YXJlLmRlL2F0dGFjaG1lbnRzLzQ0NjY5ZDEyMjY1\nMTY2MDQtZW50a29wcGx1bmdzLXNhbmR3aWNoLWJpbGRlci10aHJlYWQtNDM1X3NhbmR3aWNoLmpw\nZw==\n')
taxilian 16:03 lol
nitrogenycs 16:03 .py import base64; print 'Yummy ', base64.decodestring('aHR0cDovL2V4dHJlbWUucGNnYW1lc2hhcmR3YXJlLmRlL2F0dGFjaG1lbnRzLzQ0NjY5ZDEyMjY1\nMTY2MDQtZW50a29wcGx1bmdzLXNhbmR3aWNoLWJpbGRlci10aHJlYWQtNDM1X3NhbmR3aWNoLmpw\nZw==\n')
FireBreathBot 16:03 Yummy
taxilian 16:03 my timing as always is perfect
nitrogenycs 16:03 no 4 lives
taxilian 16:03 FIREBREATH-2
XMLRPC ERROR: <ProtocolError for 404 Not Found>
nitrogenycs 16:03 FIREBREATH-666
you bound make coffee and sandwhich to -1 ?
taxilian 16:03 lol
I'm just trying to make the jira plugin work
:-( so far it doesn't like me
hmm. 'course, that might be because after I went through a lot of trouble to make sure I knew what URL to use, I then used the wrong one anyway
nitrogenycs 16:03 the sandwichmaker is not very cooperative today :)
taxilian 16:03 aparently not
.g something
… odd. the bot ahs been shut down and it is still here
nitrogenycs 16:03 maybe it needs to time out or something
.py hello
taxilian 16:03 it's not running
.py "hello"
FireBreathBot 16:03 hello
taxilian 16:03 hi FireBreathBot
FireBreathBot 16:03 Hello taxilian
nitrogenycs 16:03 bye FireBreathBot
help FireBreathBot
taxilian 16:03 make me a sandwich
FireBreathBot 16:03 FIREBREATH-1: Summary: Cross-platform timer abstraction.
FIREBREATH-1: Assigned To: richard
FIREBREATH-1: Priority: Minor
FIREBREATH-1: Status: Open
nitrogenycs 16:03 wooo
taxilian 16:03 FIREBREATH-2
FireBreathBot 16:03 FIREBREATH-2: Summary: add upload support for DefaultBrowserStreamHandler
FIREBREATH-2: Assigned To: richard
FIREBREATH-2: Priority: Minor
FIREBREATH-2: Status: Open
nitrogenycs 16:03 FIREBREATH-5
FireBreathBot 16:03 FIREBREATH-5: Summary: Reserved JSAPIAuto names (dom element)
FIREBREATH-5: Assigned To: richard
FIREBREATH-5: Priority: Major
FIREBREATH-5: Status: Open
taxilian 16:03 not bad
what else should it do?
nitrogenycs 16:03 hmm
maybe be able to search the docs
or faq or something
or give a class declaration when asked :) but this might all spam the channel too much
taxilian 16:03 a class declaration when asked might be a little tricky; then again, if you can get the info with python it can be done
I like the idea of searching the docs, though
let me see what XML-RPC apis there are that woudl work for that
nitrogenycs: any interest in helping me write some things for the bot? I don't have a problem with the bot being used to help find things
i don't think it would spam the channel at all, as long as we're wise
nitrogenycs 16:03 taxilian: right now I don't have time, I need to finish firebreath-x
taxilian 16:03 fair enough
kylehuff 16:03 but I'm sure nitro will find time once you get it making sandwiches - and rightly so!
taxilian 16:03 I really don't know why it isn't making sandwiches already, to be honest
taxilian 17:03 !wiki Mac Plugins
FireBreathBot 17:03 8 results found. Note: Results limited to 8
"Mac Plugins":
"Building on Mac OS X":
"Mac Video Tutorial":
"Debugging Plugins":
"Building FireBreath Plugins":
"Deploying and updating your plugin":
"Creating a New Plugin Project":
"Helpful Links":
taxilian 17:03 eh? eh? =]
kylehuff 17:03 cool
taxilian 17:03 !wiki FB JSAPI
FireBreathBot 17:03 8 results found. Note: Results limited to 8
"class FB JSAPI ~JSAPI":
"class FB JSAPI":
"JSAPI Properties":
"JSAPI Methods":
"JSAPI Attributes":
"class FB JSAPI GetMethodObject":
"class FB JSAPI pushZone":
taxilian 17:03 see if that startup script works
.py 5+4
FireBreathBot 17:03 9
taxilian 17:03 be back later, ya'll
nitrogenycs 17:03 the !wiki thing is cool
!wiki sandwich
FireBreathBot 17:03 0 results found. Note: Results limited to 8
amackera 18:03 !wiki Awful Hack
FireBreathBot 18:03 0 results found. Note: Results limited to 8
amackera 18:03 nice :D
no awful hacks
nitrogenycs 18:03 :D ehehe
amackera 18:03 it's be cool to have a source code browser
like !src PluginAuto/Factory.h:20
would print some lines around there or something
taxilian 20:03 I added another nice feature in case you happen to mention a commit (like a486d8e43efa1) while conversing