IRC Log Viewer » #firebreath » 2010-09-08

IRC Nick Time (GMT-7) Message
kalev 04:09 any plans to do a new Firebreath release?
I guess I should instead ask if you are planning to merge amackera's mac branch.
taxilian 07:09 Kalev: Im waiting kinda for amackeras branch to be ready, and it will be the major component of 1.2
Or thus is the plan
taxilian 09:09 kalev, nirvdrum: either of you planning to use the wstring support when I get it in?
nirvdrum 09:09 Yeah, I just haven't had time to look into it.
taxilian 09:09 that's okay, I just wanted to run this by someone
what I'm doing is keeping all the maps still using std::string
nirvdrum 09:09 I think I ened up using WBCSTR macros or some such to get by.
taxilian 09:09 but I have a library that will convert from wstring to UTF8 string and back
so I'm just writing wrappers so that all JSAPI functions that expect a string
if you give it a wstring, it will convert it
to a string in UTF-8
my tests so far indicate that this should wokr
do you see any problems with it?
kalev 09:09 I wrote these two functions to convert between UTF-8 and wstring:
nirvdrum 09:09 I think that's fine, so long as the library actually handles UTF-8 <=> wchar appropriately.
taxilian 09:09 that's pretty much what I'm using, except it works cross platform
it was written by Facebook
a guy named Dan Weatherford
and I've got some unit tests around it; seems to work fine
nirvdrum 10:09 If I get some time, I'll try to take a look over this weekend.
This would definitely be a welcomed addition though.
taxilian 10:09 I'm just finishing up the JSAPI support now
do you have a small code snippet for converting a CComVariant (or VARIANT) to a std::wstring correctly?
rather, from a BSTR, I suppose
kalev 10:09 by the way, I vaguely remember that there was some charset difference between NPAPI browsers and ActiveX. When using JSAPI and returning std::string, NPAPI browsers expected UTF-8 and ActiveX browsers expected some 1-byte charset.
I didn't look into it as it wasn't important for me
taxilian 10:09 right
ActiveX expects a BSTR
which is not UTF-8
which is why I need to make sure I convert the BSTR to a wstring
and then convert that to UTF-8
kalev 10:09 ah, now it all makes sense :-)
taxilian 10:09 so this should be really quite slick
but I just need to make sure I do it right =]
amackera: any kind of ETA on when you think we'll be ready to do 1.2? I think I'll put the UNICODE support in at the same time
nirvdrum 10:09 Heh, I cheaped out. Since I knew my UTF-8 was always ASCII, I just str.assign() from the wstr to str.
taxilian 10:09 lol
nirvdrum 10:09 I know the Chrome driver for Selenium has something and that's all ASLv2.
taxilian 10:09 well, I think I found it; just need to do some testing
nirvdrum 10:09 Ahh, but theirs is Win32 only.
taxilian 10:09 I have the conversion functions
it's just making sure I'm converting from CComBSTR to std::wstring and back correctly
nirvdrum 10:09 I guess I'm useless.
taxilian 10:09 lol
no problem, I think I found it
just hoped you might have already done it
nirvdrum 10:09 I was just screwing around with a bunch of this, too. Doesn't CComBSTR have a constructor that can handle wstr?
taxilian 10:09 not certain
pretty sure it can handle the wstring.c_str() though
nirvdrum 10:09 If not, I think there's on that can handle LPCSTR, which IIRC is basically the same thing as wstr.
taxilian 10:09 which returns const wchar_t* or some such
I'll just have to tinker with it and test it a bit
I don't think it'll be hard
and it looks like you can pretty much just assign the bstr to a std::wstring
I hope =]
amackera 10:09 taxilian: I'm ready to go for 1.2, the only thing I haven't done is InvalidatingCoreAnimation
I also need to write some wiki pages with a little documentation
taxilian 10:09 amackera: cool. Why don't we aim to release 1.2 the end of this week, then? I think we have plenty of significant features to justify a new minor release
amackera 10:09 Sounds good to me
nirvdrum 10:09 Just watch the reference count stuff. I recall that if a method had a BSTR* as [out,retval], just assigning the contents wouldn't work. There was some sort of .Assign method on the CComBSTR class to allocate the copy.
taxilian 10:09 cool
kalev and nirvdrum, any help you guys can be on testing would be very handy
nirvdrum: yeah, but I'm already dealing with that, so it shouldn't be an issue
nirvdrum 10:09 Cool.
taxilian 10:09 the conversion stuff in ActiveXBrowserHost.cpp is actually pretty solid, I think
excelent… seems to be working okay on Mac
now to finish up the windows side...
it feels good to put some new features into FireBreath
I haven't done that in a long time
amackera 10:09 :D
taxilian 10:09 I suspect the community will also be happy that I'm adding new features into FireBreath again =]
since I've been making everyone else do all the real work for the last 6 months
kalev 10:09 I think it's a great addition
taxilian 10:09 I have several more good additions planned =]
most of them thanks to Facebook
The impression I got from the list is that pretty much everyone either prefers github or doesn't care; is that more or less what you guys got from it as well?
amackera 10:09 Yeah, seems to be so
taxilian 10:09 I'll probably move it over, then. not certain when; it'll have to be when I have time
amackera 10:09 Now you've got to decide if it's worth moving the project
taxilian 10:09 yeah; it will be a lot of work
and more problematic, it will require a lot of work for others to move their clones over
taxilian 12:09 >> plugin().скажи("ты -- дурак!")
вот, я говорю "ты -- дурак!"
successful test in firefox / windows — it successfully enumerated the russian method name, and it successfully passed in the wstring, added stuff to it, and returned it to the browser
kalev 12:09 cool
taxilian 12:09 hmm. however, in IE it is not yet working
at least, unicode method names aren't
passing stuff in and out seems to work fine
ahh… and I think I know why
actually, this is great; it breaks us one step futher away from ATL
well, I can call the method on IE now; just doesn't show up in the enumeration
hmm. and I'm about out of time
amackera 12:09 taxilian: that is totally badass :D
taxilian 12:09 I think it's pretty cool
the best part is, it's all completely transparent
you can convert between wstring and string using the variant and it will just work
though you could get odd results if it has utf8 stuff in and you use it as a string
kalev 12:09 not really our fault that C++ still doesn't have proper UTF-8 support
taxilian 12:09 hehe
hmm. turns out this was a bug already that it doesn't enumerate properly
not related to unicode
taxilian 14:09 we now have full unicode support, at least as far as I can tell
unless I'm missing something
feel free to let me know if I am =]
also, a bug in the enumeration of members on IE is fixed
and I am pushing my branch to trunk
kalev 14:09 I'll give it a spin tomorrow
taxilian 16:09 amackera: could you merge my new changes into your branch? I want to get your stuff into my branch so that I can do some testing for you (while I'm developing on mac anyway), but there are some non-trivial changes (files changed, etc)
amackera 16:09 Sure
I'll try to do it tonight before I leave
taxilian 17:09 amackera: awesome. thanks. send me an email as soon as the merge is done
I may even push it to trunk to give it some "live" time before we release
taxilian 18:09 pushed some documentation up (I've started adding README.txt to most directories to provide some guidance where to start)
amackera 19:09 taxilian: I'm not going to get to merge the changes tonight, sorry
I am confused as hell about Wix stuff
taxilian 19:09 lol
ok; anything I can help with?
amackera 19:09 The error i'm getting from light is that my components don't belong to any features
I'm just trying to add a bunch of images to the auto generated WiX installer
the images get put into a directory under INSTALLDIR
taxilian 19:09 hmm
it has been so long...
have you added those components to a feature?