IRC Log Viewer » #firebreath » 2012-05-05

IRC Nick Time (GMT-7) Message
jshanab_wcw 11:05 Is there an xpt file generated for the plugin? or is that no longer needed?
taxilian 11:05 only needed for XPCOM
which was deprecated in ff2.0 or 3.0 and disabled in 3.6
FireBreath uses (and always has used) NPRuntime, which doesn't require one
and you, my friend, need to take some time off of work =]
jshanab_wcw 11:05 ah. I am trying to use xulrunner to make a minimal load of the plugin so I can run a memory leak detector tool. (runing against firefox is too heavy) I cannot figure out how to load the plugin and old examples mentioned the xpt file.
taxilian 11:05 never tried it :-/
jshanab_wcw 11:05 I promise. as soon as I get this plugin working again! My build is broken
taxilian 11:05 =]
my currently employer is really good about not asking us to work weekends… so instead I'm working on a software project that is more of a service project :-P
ahh, well
jshanab_wcw 11:05 I am actually using XULrunner right now. I run chatzilla as a desktop app for this irc That way I can crash the browser and still bitch about it ;-)
taxilian 11:05 lol
I use adium or pidgin for my IRC client generally
jshanab_wcw 11:05 They have not once asked me. I just have felt it necessaary for the past few.
I have not found a chat client better than chatzilla in, well 10 years.
(few years)
taxilian 11:05 never even used it =]
jshanab_wcw 11:05 I have commented out everything I did before the failure and before the firefox 12 upgrade and I just cannot destruct the plugin without crashing the browser. I do think it is me takeing a walk in a section of the heap I shouldn't, I am just stuck
taxilian 11:05 hmm. most times I've had that happen it turned out I had mismatched function definitions or something
have you double checked everything?
jshanab_wcw 11:05 What us good about the weekends is I just crank the internet radio station and plow thru. No interruptions every 10 min.
taxilian 11:05 hehe
jshanab_wcw 11:05 I am running out of ideas of what to check. last time i had this problem the heap that created memory was not the one that destroyed it
Great song right now
taxilian 11:05 which is why I'm working on this program at my office instead of at "home" (I put "home" like that because I'm actually living with my parents 'til the end of the month when I can move into my new house)
jshanab_wcw 11:05 Congrats on new house. I had to move out of mine and rent it. Now I rent, it sucks
taxilian 11:05 I can imagine
I own the new house, but the previous owners have kids in highschool and we let them rent it for a month until school is out
jshanab_wcw 11:05 I was hoping to figure out a way to make a automatic regression testing tool for the plugin. looks like XULrunner is not going to be the ticket.
That was very nice of you and a good thing for the kids
taxilian 11:05 well, we also wanted to give them incentive to sell the house =] we really like the house, and we offered a bit low
jshanab_wcw 11:05 Sounds like a win-win.
I think my XUL issue now is that it does not trigger off the mimetype and load the plugin. I must need to do that manaully.
taxilian 11:05 also I figured that it's not that much worse to live with my parents for 6 weeks than 2, and we were going to have to live with them for 2 either way… so if I can't move directly from one to the other, a month in the middle isn't going to really make things worse
It would be cool if you can get that to work; potentially very helpful
jshanab_wcw 11:05 Are you in the seattle area now?
taxilian 11:05 no, I'm in Utah
jshanab_wcw 11:05 Better weather :-)
taxilian 11:05 actually my new house is less than a mile from my old, ironically
hehe. it's pretty nice out right now… makes me want to take the motorcycle out for a nice long ride
jshanab_wcw 11:05 The other idea is to create an app that loads the dll. I looked at the npApi and was scared away
taxilian 11:05 hehe. I've been meaning to do that for a long time
I just haven't had time
jshanab_wcw 11:05 The weather here is schezo (chicago) 40-60 degree swings 80 and raining then 40 and sunny. all over the map
Yeah I was thinking it could be built as part of the prep process. Stub out a test framework
taxilian 11:05 that would be cool
honestly I don't think a windows version would be that hard to get to
have you looked at NPAPIHost in the source tree?
jshanab_wcw 11:05 I figured this is something you have knowlege of hehe
taxilian 11:05 oh, it's definitely something I more or less know how to do
!findfile NPAPIHost
FireBreathBot 11:05 Found 6 matching file(s) in the master branch. First 5 are:
taxilian 11:05 That was partially working at one time; it was used for unit tests
but it could (hypothetically) be expanded to do what you want
it gives you some of the basics, anyway
jshanab_wcw 11:05 I found out last night that my top level cmakelist file is poorly designed. It will take some rework to get to the linux and mac build
taxilian 11:05 brb
jshanab_wcw 11:05 I'll be here :-(
taxilian 11:05 well that's reassuring ;-)
jshanab_wcw 11:05 Does NPapihost expect the build directory in a particular spot?
taxilian 11:05 I don't think it matters, but it's been a long time since I used it
we had unit tests on the npapi stuff originally but they broke at some point and someone disabled them. it was 6 months before I noticed, and by then I didn't have time to fix them =]
jshanab_wcw 11:05 I just tried the cmakegui with discouraging results. maybe i should use prep?
taxilian 11:05 You'll probably have to adjust the build files
they are likely terribly out of date
but generally just run cmake from the command-line; change to the build directory you want to use (should be empty) and then run cmake path/to/dir
jshanab_wcw 11:05 ok. np
taxilian 11:05 a lot will need to be adjusted; it was last used to test a npapi plugin in the current module, not load a dll
but that shouldn't be that bad to tweak
it will require some work, but it's not a bad start
jshanab_wcw 11:05 sln created had only one include direcory the nptypes and stuff that are in core are not there (intellesense looks like a blood bath) That is why i was wondering if I missed something simple
It is obvious I need the cmake practice
taxilian 11:05 NPAPIHost probably doesn't need any of the other core stuff; not certain, though
I really dont' remember
it's been almost 2 years
jshanab_wcw 11:05 But am I correct in assuming it creates a host that can hold the plugin for testing? not needing the whole browser?
taxilian 11:05 it is unfinished, but that was the intent, yes
basically most of the structure is there -- the NPN_ functions, etc. you'll have to make the scaffolding around it, create a window, call the methods, etc
some of the NPN_ methods are just layed out but not implemented
jshanab_wcw 11:05 Then That is exactly what I need! If I just load my plugin and close the browser I get a crash on exit. I don't even have to do anything
ok. XULrunner would have been to heavy
taxilian 11:05 worth a try
you can add in more functionality until you finally get the crash =]
jshanab_wcw 11:05 Once it is in a lightweight container. I shold be able to run the high $ analysis tool.
taxilian 11:05 yeah, but it's possible that whatever is wrong doesn't happen until the window is attached, for example
jshanab_wcw 11:05 Well just loading the plugin executes quite a bit a code in my case.
taxilian 11:05 definitely worth a shot =]
jshanab_wcw 12:05 So.... Variables like FB_PLUGINCORE_SOURCE_DIR need to be set. ie this CmaeList is expected to be called from a parent that did that already?
taxilian 12:05 it originally was, anyway
jshanab_wcw 12:05 ok cool
taxilian 12:05 it was originally used from within the firebreath project
to do unit tests
jshanab_wcw 12:05 cool, that explains what I am seeing
taxilian 12:05 (the tests are still there in tests/Npapi or some such)
might make sense to pull this out into a seperate process
jshanab_wcw 12:05 These were tests against the FB core and not a specific plugin build?
taxilian 12:05 correct
jshanab_wcw 12:05 I am looking for where FB_CONFIG_DIR is set. I cannot see how this recieves a value
taxilian 12:05 cmake/options.cmake
jshanab_wcw 12:05 thanks
taxilian 12:05 yw
git grep =]
jshanab_wcw 12:05 I am "grepping" I guess windows find is brain dead
taxilian 12:05 that's why I use "git grep"
jshanab_wcw 12:05 I have been stuck in windows to long, bad habits are developing :-)
taxilian 12:05 hehe
jshanab_wcw 12:05 So does that mean that it will be pulled in automagically as part of the cmake process?
taxilian 12:05 if options.cmake is included and FB_ROOT is set, then yes
jshanab_wcw 12:05 cool
jshanab_wcw 13:05 I do not know what I just did.
I grafted the top level make onto the NPAPihost cmake,tweaked and generated a project that built and ran 25 tests succesfully. I will see what I did after lunch. I'll be back
taxilian 13:05 hehe. sounds fun
jshanab_wcw 13:05 ok. So it looks like i build a lib and didn't use it. The other items in the solution are unit tests that ran without it. ??? Sound correct?
taxilian 13:05 seems plausible, anyway, not sure
jshanab_wcw 13:05 ok, I am gonna try yo use the lib in simple project
jshanab_wcw 14:05 ok, pretty sad when I have a 150GB and a 1TB drive and more space left on my USB key
taxilian 14:05 lol
but not uncommon if you're dealing with video
jshanab_wcw 14:05 yeah, but no video on C: that is all on the TB drive. Windows makes it so fun to "discover" where the space is used, it is like an easter egg hunt
taxilian 14:05 hehe
just open the properties on a folder, it'll tell you the recursive size of the tree from that point
though I'll grant you it's a bit slow
jshanab_wcw 14:05 Yeah, one at a time hundreds of folders. I am using Sequia3 now. Kinda like fileLight for *nix.
As a matter of fact my grad project was a pay it forward modification to EXT3 that maintained directory sizes on select directories
taxilian 14:05 hehe
perhaps someday I'll go back for a masters
jshanab_wcw 14:05 I should of started the scan before I left for lunch.
taxilian 14:05 but it took me so long to get my B.S. that I'm not really excited about it
jshanab_wcw 14:05 I got screwed on that one. No chance for me to finish.
taxilian 14:05 that stinks
jshanab_wcw 14:05 They have a time limit and I had to move across country and start new job. No way to finish as things roll off and would need to be re-taken. (but I still owe the money) I did EVERYTHING except turn in the project. Stupid, bang my head against the wall at times
taxilian 14:05 ouch
jshanab_wcw 14:05 But I got the education, even if i didn't get the paper.
taxilian 14:05 hehe
yeah; there are times when that paper is pretty important, though
jshanab_wcw 14:05 here is another stupid item. The app that shows me the drive graphically so I can find the stuff to delete sees all the video on E because I have a symlink in C to the drive. I just indexed over a TB of files
taxilian 14:05 lol
jshanab_wcw 14:05 I keep wanting to finish the project and just post it online
taxilian 14:05 well, I gotta run
good luck
jshanab_wcw 14:05 Have fun., Thanks for alkl your help and support today
taxilian 14:05 yw
johannes 15:05 hi, is there way to do a POST request (actually a file upload) from a FireBreath based plugin? - FB::BrowserHost::createStream () doesn't seem to allow that
johannes 15:05 rtfm helps ... AsyncPost ...
taxilian 16:05 johannes: actually AsyncPost doesn't allow file uploads
it expects things to be UTF8
johannes 16:05 taxilian: if there's no better option I can fake the upload by doing bse64 encoding or such of the file and send it as post data by hand :-p
I control the server, too
taxilian 16:05 johannes: that's how I often do it. the other option is to link in curl or write something using wininet or winhttp
johannes 16:05 which won't use the browsers proxy etc.
taxilian 16:05 right; well, as of ff3.6 (or so) you can get the browser's proxy info
and there is a firebreath method for doign that
but while it will *usually* work, it won't work 100% of the time
and it won't support authenticated proxies
johannes 16:05 base64 should be simple enough ;-)
taxilian 16:05 yea
I think there is even a base64 encoder in firebreath somewhere
!findfile base64
FireBreathBot 16:05 Found 2 matching file(s) in the master branch. First 2 are:
taxilian 16:05 there, in fact
johannes 16:05 :-)
jpteasdale 17:05 Hey all, here's my problem. When I register a new version of my plugin with IE, and then try to instantiate it from javascript, the object I get is still the old version of the plugin.
Are there any steps I can take to remedy this?
taxilian 17:05 how are you instantiating it?
jpteasdale 17:05 as an ActiveX control
taxilian 17:05 *how*
jpteasdale 17:05 I'll get the code for you
taxilian 17:05 .pb
FireBreathBot 17:05 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:05 also what version of IE?
and how are you installing it? per-machine or per-user?
jpteasdale 17:05 all excellent questions, this will take a minute
First noticed the problem on IE 9, the code that gets the plugin is this: iePlugin = new ActiveXObject(ACTIVEX_NAME), and it is being installed per machine, but the test machine has 1 user
taxilian 18:05 hmm. have you ever installed it per-user on that machine?
and what kind of installer?
jpteasdale 18:05 not that I know of, and the installer calls regsvr32 /s "$INSTDIR\${APP_PLUGIN_NAME} after deregistering the old one, and then renames the old file if it can't be deleted
taxilian 18:05 hmm. and you've definitely installed it per-machine? you set the per-machine flag in the PluginConfig.cmake file?
jpteasdale 18:05 ahh, no we don't install per machine
my mistake
taxilian 18:05 okay; that shouldn't matter, though. it should still work
but I have heard reports from others that haven't been able to make it work of late
so it is possible that something has changed since I last did it successfully
or that IE9 no longer supports it or something
jpteasdale 18:05 closing the browser and re-opening it fixes the problem
taxilian 18:05 I honestly recommend that you make people restart the browser; that's what we do. it's a pain, but it's a lot less fragile
otherwise, though, everything you're doing sounds like it should work
I have occasionally seen issues with that because of a rogue registry key
but it's hard to say
jpteasdale 18:05 I did run into this page:
but the odd thing is the pluign updates in the manage add-ons window
Anyways, thanks for your help
taxilian 18:05 sorry I can't help more
good luck
jpteasdale 18:05 thanks
taxilian 18:05 if you figure it out please come back and tell me what it was
jpteasdale 18:05 will do