IRC Log Viewer » #firebreath » 2012-02-28

IRC Nick Time (GMT-7) Message
niftylettuce 05:02 taxilian_away: i'm looking for advice on how to do the equivalent that does with executing JS/jQuery on page load -- what would be the best approach for this? Practically a user script that I'd like to only get loaded on certain domain names
I'd much prefer to use something open source
im guessing they just do something like executeJavascript and then do ajax loading of a JS file, which in turn then loads other things and so on down the chain
can't be much more complicated than that?
reichi 05:02 you know, that you cannot exyctly to that with a npapi plugin, don't you?
niftylettuce 05:02 yeah i started reading more lol
reichi: how do you think they do it?
reichi 05:02 npapi plugins have to be loaded via <object> or <embed> tag
niftylettuce: firebreath is a npapi plugin framework
you might want to read taxilian's excellent blogpost:
browser extensions are very different to npapi plugins
niftylettuce 05:02 reichi: is there an open source extension development equivalent to the building of the npapi plugins in Firebreath that you know of?
im guessing ill need to develop per platform
BHO for IE, and then extensions for firefox/opera/safari/chrome
reichi 06:02 i never had the need for that, so i never looked
pkrumins 06:02 Hey guys. I just built an empty firebreath project on Windows with Visual Studio 2008, and in the projects\myprojname\debug, i only see the npmyprojname.lib file. It looks like it's only the Chrome plugin. How do I build IE, Firefox, Opera, and Safari plugins also?
niftylettuce 06:02 im guessing something like this and use WiX to create the installer
pkrumins: did u watch the videos?
pkrumins 06:02 Just the first one
niftylettuce 06:02 oh wait, maybe they dont detail that
reichi: thanks for the info on plugin vs extension and usage of <object> and <embed>
pkrumins 06:02 niftylettuce: trying!
didn't quite work
oh wait, mine plugin is just .lib, and i should have a .dll
it was in a different place than shown in the video.
now i'm gonna make it do what i need
niftylettuce 06:02 ooo yea
pkrumins 06:02 hey do i always have to have <object ...> in my page?
never mind about that
niftylettuce: thanks for the help
niftylettuce 06:02 pkrumins: np, the creator is taxilian_away -- but a lot of other folk here chime in too to help
pkrumins: i found out about this yesterday, but im going to have to use something else for my startup
pkrumins: b/c u know im doing extension not plugin
pkrumins 06:02 right
niftylettuce 06:02 so i was gonna look for equivalent without having to reinvent the wheel, but it looks like ill have to, because isnt open source
pkrumins 06:02 but this is awesome stuff, it may solve a problem we're having at testling
which is what i'm hacking on right now
niftylettuce 06:02 if anyone knows of any open source equivalent to please advise
taxilian 08:02 g'morning all
gargle 08:02 good morning taxilian :)
nirvdrum 08:02 Yo.
pkrumins 10:02 taxilian: I just started with FireBreath today. I have a question - when I compile the dll, is this dll like cross-browser that works as in any browser as a plugin?
taxilian: I have it working in Chrome, but I'm wondering how to get it in other browsers, such as IE6, IE9, and Firefox 3.5, Firefox 11, and opera 11, Safari 5, etc.
dreijer 10:02 don't you just regsvr32 it and it's auto installed for all of them?
pkrumins 10:02 dreijer: i am not sure
t1axilian: Another question I have is about boost, where did you get the nifty boost package that comes with firebreath. So far I have been downloading boost from boost, and then building it, which takes like 2 hours. But with FireBreath this boost package got compiled in like 10 minutes.
dreijer: holy crap, works in IE8!
trying Fireofx
dreijer 10:02 :P
taxilian 10:02 pkrumins: the DLL contains both an NPAPI plugin and also as an ActiveX control
which makes it work on essentially all browsers
pkrumins 10:02 oic.
taxilian 10:02 when you run regsvr32 (which is *not* the recommended way to install for production, use an MSI for that) it registers it as an NPAPI plugin and also registers the activex control
pkrumins 10:02 i'm not very familiar with NPAPI, so is it like an API that all the browsers implement to write cross-browser plugins?
taxilian 10:02 that makes it visible to all browsers
pkrumins 10:02 gotcha
taxilian 10:02 it's an API that firefox, chrome, safari, and opera implement
pkrumins 10:02 AWESOME
taxilian 10:02 IE used to, but they dropped support in IE4
dreijer 10:02 what's wrong with regsvr32 for production?
taxilian 10:02 it's better to register the keys directly using your installer, preferably with an MSI
pkrumins 10:02 taxilian: I run (together with SubStack), and it's gonna make our service super awesome!
taxilian 10:02 that way you know exactly what is happening and can make sure you remove it correctly
dreijer 10:02 taxilian: you mean for individual browsers? I thought the whole point of regsvr32 was that it was happening correctly automatically :)
pkrumins 10:02 would regsvr /u unregister it?
if i dont use msi for production
taxilian 10:02 pkrumins: it should, but it's not nearly as safe as an MSI
pkrumins 10:02 like i dont really want to run installer on each computer, i want to script updates
taxilian 10:02 also if you install a new version and anything has changed it may leave artifacts on the old one
actually MSI is much safer and easier for scripting updates as well
pkrumins 10:02 nasty!
oh really
dreijer 10:02 I don't think I'd ever consider MSI "easy scripting"
taxilian 10:02 msiexec /q <msi file>
pkrumins 10:02 hah
taxilian 10:02 and it will install silently
pkrumins 10:02 cool
oh snap, the test plugin fails in opera!
dreijer 10:02 this might be slightly off topic, but does anyone happen to know off the top of their heads how to access a firebreath plugin from a firefox extension (using the new Api SDK)?
pkrumins 10:02 taxilian:
taxilian 10:02 don't get me wrong -- MSI has it's faults and is annoying sometimes, but it's still safer than the others; many people embed the MSi inside another installer to take advantage of both
dreijer 10:02 taxilian: right
pkrumins 10:02 taxilian: this happens with a plain plugin in opera 10.10!
taxilian 10:02 I don't officially support opera because their implementation of npapi is often a bit weird and requires hacks
you're welcome to fix it and submit a patch; it's probably something minor
pkrumins 10:02 oh no
i'll look into it
taxilian 10:02 also hardly anyone ever actually uses opera, so I figure if nobody complains about it it must not be that big of a deal =]
there is just only so much I can do on my own time, if you know what I mean =]
pkrumins 10:02 yeah i am not sure why opera even exists
dreijer 10:02 oh snap :)
pkrumins 10:02 but we support all the browsers at browserling
so i'll have to get it working
taxilian 10:02 and isn't that the beauty of open source? =]
pkrumins 10:02 taxilian: yup, ikwym
it is!
taxilian: can you also share insight on that boost question I had?
taxilian: is that boost package that comes with firebreath just the boost components that FireBreath uses?
taxilian 10:02 I build the boost package myself
which is why it's still 1.45
I need to update it
pkrumins 10:02 oic.
taxilian 10:02 I used gcp
pkrumins 10:02 thought so!
alright, nice job on all this. i'll send patches soon!
taxilian 10:02 I then created cmake files for the libraries that need to be compiled and removed all non-essential files, such as docs and examples
use Jira:
if you want the patch (or pull request is even better) to be accepted quickly, create a jira ticket and reference the jira ticket number in the commit
tha'ts how I track changes between versions
pkrumins 10:02 it will be a pull request on github
i'll look into jira when i have it
not familiar with it atm
taxilian 10:02 a pull request with a jira ticket number in the commit message is the easiest to pull in; often I can just click merge
pkrumins 10:02 gotcha
taxilian 10:02 if it doesn't have the jira ticket I have to create one, cherry-pick in, and then rewrite the message
which means I have to wait 'til I have a few minutes to do it, even if it's a simple commit
pkrumins 10:02 right
looks like building msi's is straight forward
taxilian 10:02 FireBreath has msi support built in to get a basic one
pkrumins 10:02 roger
pkrumins 11:02 taxilian: what type would `window.document` be?
taxilian 11:02 what do you mean?
the best way to get window.document would be to do m_host->getDOMDocument()
pkrumins 11:02 aha
taxilian: two questions - how would I go about creating an <iframe src="">, and how would I return the new `window` object within the <iframe>? It looks like I have to use FB::DOM::Element::create(), and pass in Iframe object (not sure how to create it), and then return this Iframe object's getDOMWindow()
taxilian: could you share some insight on doing this?
taxilian 11:02 FB::DOM::Element::create() is not for creating dom elements, it's for creating an instances of the wrapper
and you'll very very rarely actually need to do that yourself
pkrumins 11:02 oh
taxilian 11:02 are you on the latest master?
pkrumins 11:02 no, i'm on the stable version
taxilian 11:02 then your best bet is to write javascript to do what you want for you
if you're on the latest stable there is a createElement method on the DOM::Window object that you can use
pkrumins 11:02 write javascript within firebreath?
i'll probably need to get on the latest stable then
taxilian 11:02 what I usually do if I need to so something like that is evaluate some javascript to add a method on window and then m_host->getDOMWindow()->getProperty<FB::JSObjectPtr>("functionName")
pkrumins 11:02 taxilian: the thing i need is to create an <iframe src="..."> and then get to this iframe's window object
taxilian: can't do that with plain javascript because of security restrictions
taxilian 11:02 then you can use ->Invoke("", FB::variant_list_of(1)(2)(3)) etc to call it with parameters
not sure if you'll be able to do it with just the plugin either,t hen
pkrumins 11:02 oh?
taxilian 11:02 I keep meaning to try it, but I haven't yet =]
pkrumins 11:02 another question - how do I get to m_host if I'm in the TestlingFrameAPI.cpp
TestlingFrame is the name of the project
it's like ScreenCastTutorialPlugin.cpp file
taxilian 11:02 When I create my JSAPI classes I usually pass the browserhostptr object in as a parameter to the constructor
that is the default with a fbgen-created project as well, I believe
pkrumins 11:02 oh yes
taxilian: it looks like if I call JS in the browser from the plugin, the same security measures will apply
taxilian 11:02 :-/
pkrumins 12:02 taxilian: and how would you go about creating a DOM element right in the C++ code, with the code in the master repository?
taxilian 12:02 !find createElement
FireBreathBot 12:02 Found 2 possible matches. Displaying 2
/^FB::DOM::ElementPtr Document::createElement(const std::string &name) const$/ (f) found in src/ActiveXCore/AXDOM/Document.cpp:
/^FB::DOM::ElementPtr Document::createElement(const std::string &name) const$/ (f) found in src/ScriptingCore/DOM/Document.cpp:
taxilian 12:02 I'd probably use that
pkrumins 12:02 aha!
taxilian: and how do you append an element after another element?
!find append
FireBreathBot 12:02 Found 24 possible matches. Displaying 5
/^ octet_iterator append(uint32_t cp, octet_iterator result)$/ (f) found in src/3rdParty/utf8/utf8/checked.h:
/^ octet_iterator append(uint32_t cp, octet_iterator result)$/ (f) found in src/3rdParty/utf8/utf8/unchecked.h:
/^Value::append( const Value &value )$/ (f) found in src/libs/jsoncpp/src/json_value.cpp:
/^log4cplus::ConsoleAppender::append(const spi::InternalLoggingEvent& event)$/ (f) found in src/libs/log4cplus/src/consoleappender.cxx:
/^DailyRollingFileAppender::append(const spi::InternalLoggingEvent& event)$/ (f) found in src/libs/log4cplus/src/fileappender.cxx:
pkrumins 12:02 nope.
taxilian 12:02 !find appendChild
FireBreathBot 12:02 Found 2 possible matches. Displaying 2
/^FB::DOM::NodePtr Node::appendChild(FB::DOM::NodePtr node) {$/ (f) found in src/ActiveXCore/AXDOM/Node.cpp:
/^FB::DOM::NodePtr FB::DOM::Node::appendChild(FB::DOM::NodePtr node)$/ (f) found in src/ScriptingCore/DOM/Node.cpp:
taxilian 12:02 nirvdrum: were you involved when selenium did google SOC?
nirvdrum 13:02 Not really. But I mentored three projects for the ASF.
Apache Cayenne, specifically.
taxilian 13:02 I've been talking with Georg and he thinks we should enter FireBreath as a SOC project
nirvdrum 13:02 Nice.
I didn't know Georg was involved again.
taxilian 13:02 oh, he's in and out =] he's been talking to Mozilla and they may be contracting him to work on their NPAPI stuff
nirvdrum 13:02 Nifty.
It was hit and miss.
taxilian 13:02 I've never done something like google SOC, so I'm not sure whether it'd be worth the potential work or not
nirvdrum 13:02 One student was really involved and eventually became a regular contributor, surpassing my contributions.
One did solid work, but disappeared after the summer.
The other was a bit of a disaster.
taxilian 13:02 lol
nirvdrum 13:02 You need to be diligent during the selection process. The money they offer is a pretty substantial sum to students in other parts of the world.
Well more than they might make even in industry.
So, the number of low quality applicants was quite high.
taxilian 13:02 question for not just you but the rest in the room, then; what projects would we recommend if we do this? what we have currently is:
that's good to know
nirvdrum 13:02 I'd estimate I spent about 10 hours / week mentoring the student, reviewing code, etc.
It was a pretty rewarding experience.
I don't have a strong idea of what they should work on. I'd just keep in mind it's a 3 month program and you have ramp-up time.
taxilian 13:02 right
nirvdrum 13:02 NPAPI is a hard thing to wrap your head around. So, unless the student is already familiar with it, there's probably 2 - 3 weeks of just trial-and-error stuff.
So, it should be well-defined and scoped appropriately.
taxilian 13:02 and that is definitely the trick
also the fact that Mar 9 is the deadline for applications
nirvdrum 13:02 I'd go for it, if you don't mind mentoring.
But, like I said, it was pretty rewarding.
And I'm happy to help out where I can.
gfritzsche 13:02 hi
bundy_ 13:02 Hello everybody
taxilian 13:02 hey, I haven't seen you in this room in ages =]
(gfritzsche, I mean)
and hi bundy_
bundy_ 13:02 i have a quick question about using firebreath as an interface to load other objects
gfritzsche 13:02 just thought why not check in here :)
taxilian 13:02 ok
bundy_ 13:02 i want to create a plugin which recives an ID of a com object, creates it, and return its IDispatch to the caller
even on firefox and chrome
meanning that it will wrap any com object with JSObject
taxilian 13:02 sounds potentially useful; there is a plugin out there that does a little bit of that, but not a firebreath plugin
gfritzsche 13:02 this may be useful:
bundy_ 13:02 will take a look 10x
taxilian 13:02 also make sure you take a look at the IDispatchAPI files
!findfile IDispatchAPI
FireBreathBot 13:02 Found 2 matching file(s) in the master branch. First 2 are:
bundy_ 13:02 10x!
i'll take a look
gfritzsche 13:02 nice bot feature
taxilian 13:02 heh. I forgot the bot is probably since you last came; there are some other really fun ones too
bundy_ 13:02 bot?
taxilian 13:02 !find evaluateJavascript
FireBreathBot 13:02 Could not find any tags matching evaluateJavascript
bundy_ 13:02 no no
taxilian 13:02 !find createElement
FireBreathBot 13:02 Found 2 possible matches. Displaying 2
/^FB::DOM::ElementPtr Document::createElement(const std::string &name) const$/ (f) found in src/ActiveXCore/AXDOM/Document.cpp:
/^FB::DOM::ElementPtr Document::createElement(const std::string &name) const$/ (f) found in src/ScriptingCore/DOM/Document.cpp:
taxilian 13:02 bundy_: he was talking to me
bundy_ 13:02 oh sorry
taxilian 13:02 np =]
gfritzsche 13:02 neat... next step, live hacking via the bot ;)
bundy_ 13:02 Thank you very much, will read the links
taxilian 13:02 bundy_: good luck. that sounds like a useful plugin
bundy_ 13:02 10x
taxilian 13:02 !fix all my bugs
yeah, I still need to write that features
haven't had time
gfritzsche 13:02 broken :(
taxilian 13:02 git pull request
FireBreathBot 13:02 There are no open pull requests in firebreath/FireBreath
gfritzsche 13:02 lol, ok
taxilian 13:02 I had fun for a week or so writing bot scripts =] another good one, paste a hash: cb17839d0c
FireBreathBot 13:02 cb17839 by Richard Bateman: Merge pull request #49 from dougma/boost-any
taxilian 13:02 hmm. I should make that also post a link to the commit on github
gfritzsche 13:02 fun -> i can imagine
pretty useful too
taxilian 13:02 yeah; it also notifies us here of any changes to JIRA issues or of any commits to the github repo
I made one for work as well, it's extremely helpful
gfritzsche_ 13:02 ah, got irc via trillian figured out now
taxilian 13:02 yeah, it's nicer to just have one program open. far nicer than using the web gateway =]
gfritzsche 13:02 oh yes - centrally stored accounts are especially great
no more carrying all that account data around
taxilian 13:02 yeah
I used to use trillian all the time
before I switched to mac
gfritzsche 13:02 well, i use it on mac and linux machines, it's just too convenient
+windows of course
taxilian 13:02 ? I didn't even know they had a mac client
guess I just haven't looked in a long time
gfritzsche 13:02 -linux
no idea if they even have a client for that
but mac for quite a while now
taxilian 13:02 makes sense; I use it on the iphone
pkrumins 13:02 taxilian: who might know about how the security model works with plugins?
taxilian 13:02 if neither I nor gfritzsche knows the answer to your question, I don't know who else to ask
and if you're still trying to find a way to access the window on a cross-domain iframe, my suspicion is that you can't
pkrumins 13:02 havent asked the question to gfritzsche yet!
taxilian: that's exactly what i'm trying to find
gfritzsche: so i thought i'd write this plugin to access the window on a cross-dromain iframe.
gfritzsche 13:02 hehe, but i'd guess taxilian is right - basically if you can't do DOM stuff in JS, you can't do it in the plugin
taxilian 13:02 there are no special APIs in NPAPI that might allow you to bypass that
so if doing through the DOM methods in FireBreath doesn't work, there aren't other ideas that I know of to try
pkrumins 13:02 i thought that plugins were like ring 0
gfritzsche 13:02 for native access to the system yes, but not for access to the browser itself
taxilian 13:02 in some things, yes, but the only way to access the page is through JS
pkrumins 13:02 ding it.
any other ideas how to do it?
taxilian 13:02 what is "it"?
what are you trying to accomplish?
pkrumins 13:02 i'm trying to get the window of a cross-domain iframe.
taxilian: it's for my startup -
we do javascript testing
taxilian 13:02 might be doable with some sort of extension
pkrumins 13:02 hmm? how would an extension bypass that security then?
it's pure javascript there
gfritzsche 13:02 extensions are usually the ring 1 or 2 for accessing/intercepting the browsers content
taxilian 13:02 extensions have more direct access ot the browser than plugins do; a plugin only knows about the current page, not about the browser itself
pkrumins 13:02 that's funny!
cuz i'd imagine raw C++ would give unimaginably more power over a JS extension!
gfritzsche 14:02 taxilian: we should synchronize better, might become fully synchronous :)
taxilian 14:02 lol
we'll have to work on it
gfritzsche 14:02 pkrumins: technically you could start to fiddle with the browser internals if you have the plugin in the browsers process...
pkrumins 14:02 o man
gfritzsche 14:02 but that would only be a major collection of browser- and version-specific hacks
pkrumins 14:02 gets complex too quickly
gfritzsche 14:02 so... don't even start on that please :)
pkrumins 14:02 yeah, i'd have to go through every single browser/version
such work is best left to interns
haha, yes.
well if there is no other way
and we have to get it done
taxilian 14:02 no; bad idea. if firefox catches you doing that they'll blacklist you
gfritzsche 14:02 so, unless there is an api for something you want, there is no clean/supportable way for it
pkrumins 14:02 taxilian: what do you mean blacklist?
gfritzsche: too bad!
gfritzsche 14:02 extensions + plugins are probably the way to go
taxilian 14:02 I mean they will add you tot he list of plugins that firefox will refuse to load
also, you're usually not in the same process as the browser anymore
so it usually woudln't work anyway
pkrumins 14:02 taxilian: those plugins will not be released to public anyway
if i wrote such.
gfritzsche 14:02 taxilian: yeah, just trying to distinguish it... hopefully no-one actually ever attempts that
taxilian 14:02 =]
pkrumins 14:02 i'll finish the plugin and see what happens
perhaps it works around the security
and we just dont know it!
taxilian 14:02 I thought you said you'd tried it?
pkrumins 14:02 i didn't finish the plugin yet
i was only talking through the ways to do it
taxilian: i only learned about firebreath about 10 hours ago!
taxilian 14:02 well, give it a shot and let us know how it goes
pkrumins 14:02 yup
taxilian 14:02 it might work
pkrumins 14:02 taxilian: i got stuck at using version 1.6 which didnt have the Document::createElement
taxilian 14:02 1.6.1 will, whenever I find time to release it
pkrumins 14:02 ok!
gfritzsche 14:02 hm, well as long as it's only the wix project failing you still have a usable plugin
just not the generated wix installer
tpaul 14:02 Yeah, but I'm quite interested in the WiX portion at the moment :)
gfritzsche 14:02 hopefully taxilian has some idea then :)
tpaul 14:02 thanks gfritzsche
taxilian 14:02 I seem to have been lost in a netsplit and I missed the question
tpaul 14:02 I just got fb from github, fbgen'd prep2010'd and compiled, but I'm getting an error when building the MSI for wix, I have never seen it before: npPluginTest_auto.wxs(12): error CNDL0006: The Class/@Description attribute's value cannot be an empty string. If you want the value to be null or empty, simply remove the entire attribute.
I grabbed a fb project from a friend and his built without the error
taxilian 14:02 can you pastebin your PluginConfig.cmake file?
tpaul 14:02 sure
this was my 3rd or 4th attempt, i thought something might have been going wrong in fbgen
taxilian 14:02 hmm
what version of wix do you have?
tpaul 14:02 thougth wix might be broke, so I reinstalled 3.5 over whatever I already had, should I get a diff version?
taxilian 14:02 no, that should be fine
tpaul 14:02 I notice my friends PluginConfig.cmake doesn't have a "set(FBSTRING_FileDescription "")" line
taxilian 14:02 what version of firebreath are you using?
tpaul 14:02 I just cloned from git
he cloned about a week ago
taxilian 14:02 try removing the FileDescription line
tpaul 14:02 Yup that worked
thanks taxilian, any idea how I ended up with that extra line? I even went back and followed the video tut to make sure I wasn't doing anything unusual
taxilian 14:02 that worked?
hmm. probably a bug in the codebase, then
I'll fix it
tpaul 14:02 yep, it built the msi after that
thanks for the help
gfritzsche 14:02 alright, i'll be off
good night
FireBreathBot 15:02 Commit 0a335c5 on master by Richard Bateman: "FIREBREATH-164: Finish changing FBSTRING_FileDescription to ..."
mr 16:02 I've trouble firing events from my plugin in IE 9, everything works fine in Chrome, Firefox, IE8, IE7. In IE9 firing the event works only when I put the document mode into IE8 standards in the debugger, in IE9 standards mode the events get lost completely
taxilian 16:02 mr: you're using attachEvent, right?
not addEventListener?
mr 16:02 yep
taxilian 16:02 then I don't know. there is an issue in jira that may be related, but I haven't had time to track it down yet
mr 16:02 Maybe I'll try if addEventListener is the way to go in IE9 standards mode. Why is MS making stuff always so difficult
taxilian 16:02 nah, addEventListener probablyi won't work at all
in any mode
it'll fail silently
mr 16:02 Otherwise I have to make sure to put the page in IE8 standards mode
taxilian 16:02 you can try it, though
mr 16:02 thx, I'll let you know of my findings. Funny enough things worked fine some time ago, and your example does work as well (although I didn't check yet what document mode it uses)
linearray 16:02 is xcode 4.3 completely broken for anyone here?
constantly using a number of cores because it hangs indexing
taxilian 16:02 one of these days soon I'm going to try it ....
linearray 16:02 well, you shouldn't ;)
if 4.2 is working fine for you
taxilian 16:02 I love the eternal coupon on that gives you 50% off all ebooks
it's wonderful
taxilian 17:02 I gotta run for a few minutes, but I'll be back
dreijer: feel free to ask your question; likely someone else here will know, but if not I'll be back in 20
dreijer 17:02 taxilian: if I use the new BSD license for my plugin, how does that impact the contents of my plugin?
actually, I think I answered my own question
bsd doesn't require my source to go with the plugin
taxilian 17:02 correct
that's why BSD is one of the choices =]
dougma 17:02 pkrumins: can browserling do plugin testing? what OS versions are available?
dreijer 19:02 taxilian: very much appreciated :)
Binbo 20:02 I wanna play vlc video with
used elementptr pointing to vlc id
but dunno how to point to the object playlist so i can call method play
dougma 20:02 invoke("playlist")->invoke("play") ?
sorry... maybe getProperty("playlist")->callMethod("play")
obviously, checking for null pointers along the way. :)
Binbo 20:02 i need to getjsobject before getproperty rite?
dougma 20:02 no:
maybe you have to go, getProperty<FB::JSObjectPtr>("playlist")
Binbo 20:02 the last one works
thanx ^^
dougma 20:02 hooray!
Binbo 20:02 i left the template n thats y its not working previously
dougma 20:02 you left it out?
Binbo 20:02 ya =__=
another question
can I get the response header in the callback after making AsyncPost?
dougma 20:02 !wiki getHeaders
FireBreathBot 20:02 1 results found. Note: Results limited to 8
"class FB BrowserStream getHeaders":
dougma 20:02 ....presumably