IRC Log Viewer » #firebreath » 2013-07-11

IRC Nick Time (GMT-7) Message
tintin 02:07 helo all
anyone have experiences in debugging plugin with "may be busy" error?
dougma 05:07 tintin: do you mean you get that message when trying to debug?
chrome?
if you get that message it means your plugin is taking too long. you can't block the main thread.
dgirsh 05:07 how to add VS2012 to cmake generator list? Thanks
dougma 05:07 there's a prep2012.cmd
dgirsh 05:07 but prep2012x64.cmd producers "CMake Error: Could not create named generator Visual Studio 11 Win64"
similar prep2012.cmd
dougma 06:07 do you have the latest cmake?
dgirsh 06:07 cmake 2.8.9
seems to be the latest one
dougma 06:07 really?
it's not, but that version should do
does cmake --version from the command line report the same thing?
dgirsh 06:07 yes
vs2012 isn't present in the cmake generator list
dougma 06:07 Is "Visual Studio 11" there?
dgirsh 06:07 yes VS2012 is in "C:\Program Files (x86)\Microsoft Visual Studio 11.0"
dougma 06:07 and it doesn't show up in cmake --help?
dgirsh 06:07 no
dougma 06:07 have you tried reinstalling cmake?
what does cmake --help show?
.pb
can you paste it to a pastebin?
dgirsh 06:07 i can send you
cmake was installed after VS2012
dougma 06:07 shouldn't matter
dgirsh 06:07 how to send a file to you?
dougma 06:07 pastebin.com
dgirsh 06:07 do you suggest to install cmake again?
dougma 06:07 first i want to see cmake --help
i'd suggest you install the latest cmake
http://stackoverflow.com/questions/16073040/call-cmake-from-python-script-results-in-could-not-create-named-generator
dgirsh 06:07 i don't have it (pastebin.com) maybe other way
dougma 06:07 you don't have what?
dgirsh 06:07 pastebin.com
dougma 06:07 whatever. install the latest cmake. hint: 2.8.9 is not the latest!
dgirsh 06:07 Ok, i'll install the lastest version. Thanks. I'll be in meeting for ~3hours. Sorry
dougma 06:07 i'll send my invoice.
ostghost 07:07 Hi, doese FireBreath already support NPP_print?
I´m quite new to plugins vs extensions and now I´m trying to find cross platform / browser way how to silently print some file. Same way as coupons.com does.
rcompton78 10:07 I am looking to do something on AttachedEvent and it never seems to go into the bool MyPlugin::onWindowAttached(*evt, *window) method
thoughts?
rcompton781 10:07 Sorry just rejoined from IRC client..
Shibs 10:07 Just created my first firebreath plugin and wanted to create an xpi for firefox. I used the one auto-created from the cmake script and my own, yet they both install as a firefox extension and not a plugin. Anyone else run into this issue and have any ideas?
I know I can copy the .so to the mozilla plugins folder, but for a client installation they'd prefer a more formal installation method than a copy script. Especially if it allows auto-updating.
taxilian 11:07 Shibs a xpi *is* a firefox extension
this is not a bug, it's simply all it is
it's kinda like saying "I figured out 2+2=4, but it was math. has anyone figured out a way to have that not be math?"
rcompton781 11:07 Any idea as to why AttachedEvent would not be called.. I am using a windowed plugin...I am at a loss..
taxilian 11:07 is your plugin window visible in the browser?
rcompton781 11:07 yes
its small but its visible
taxilian 11:07 can you pastebin your plugincore files?
or gist?
have you made sure your PluginConfig.cmake doesn't have FB_GUI_DISABLED set?
rcompton781 11:07 yes let me try one more thing and then I will if no luck...
no let me try 2 things lol
taxilian 11:07 also make sure you aren't setting the type on the object tag before adding it to the page
Shibs 11:07 taxilian I understand that, but mozilla documentation claims otherwise. Refer here https://developer.mozilla.org/en-US/docs/Shipping_a_plugin_as_a_Toolkit_bundle
Unless this is a deprecated method of course.
rcompton781 11:07 hmm what do you mean by that...create the object, add to page then set the type to application/myplugin??
taxilian 11:07 yes
or inject complete html into the page
Shibs if you install an xpi, it is installed as an extension
it may contain a plugin, and that's fine
but it will install as an extension
Shibs 11:07 alright, thanks for the prompt response!
rcompton781 11:07 Thanks taxiallian, again you save me....
it was the FB_GUI_DISABLED thing...I should of know this..thanks again
dgirsh 13:07 dougma thanks. Reinstall cmake helped
htroyack 14:07 I need to create a BHO that can be installed by a limited user (for that user account only, naturally). In my research I found nothing helpful so far. I know I can create a internet explorer "Browser Helper Object" and register it under HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects.
taxilian 14:07 unfortunately I don't know much about BHOs
htroyack 14:07 I don`t even know if its possible... have a BHO installed by a limited user account. many quenstions asked online, no working answer found yet... Seems to need HKEY_LOCAL_MACHINE write access ;(
"You have to register your BHO in HKLM first. And then put your bho dll specific data in HKCR instead of HKLM." http://stackoverflow.com/questions/9599184/register-bho-or-toolbar-per-user-in-hkcu
and many other unaswered pointless posts in several foruns, including MSDN
taxilian 14:07 most likely if you can install it in HKLM you can also put it in HKCU
but not necessarily
and I don't know the answer
you'd have to try it
htroyack 14:07 I have tried the HKCU equivalent of HKLM, but Process Monitor shows IE completelly ignores it, reading only HKLM
taxilian 14:07 sounds like that's your answer, then
htroyack 14:07 yes... :(
so far my installer did everything per user. damn, chrome installs a WHOLE BROWSER per user, and IE doesn`t even install a "add-on" :(
taxilian 14:07 if it makes you feel better, windows roaming profiles often don't synchronize (or even allow to stay around past logging out) activex controls that are installed per-user
htroyack 14:07 i didn`t know that either
tonikitoo 17:07 when does this dictionaty to std::map conversion take place in FireBreath?
where*
dictionary*
err
taxilian 17:07 it's done when the .convert_cast<std::map bleh> call is made to convert the parameters to the right type before calling your method
tonikitoo 17:07 right. could you point me to this conversion code, taxilian?
taxilian 17:07 one sec
https://github.com/firebreath/FireBreath/blob/master/src/ScriptingCore/JSObject.h#L331
tonikitoo 17:07 awesome!
taxilian 17:07 out of curiosity, why do you ask?
tonikitoo 17:07 taxilian, sure. Basically, I am seeing a performance impact on such convertion.
but it would be ok for most use cases
taxilian 17:07 oh, well, yeah, don't ever do that if performance is a big issue
tonikitoo 17:07 but mine is extremely perf sensible
it is in my case.
taxilian 17:07 have you read http://www.firebreath.org/display/documentation/Performance+Considerations ?
tonikitoo 17:07 Right, am learning with my mistakes :-)
ah the json.parse tips! yes, I have seen it.
taxilian 17:07 yeah; so the issue is that we can only get one value at a time from an object, and each call into javascript is expensive time-wise
so you're better off getting a large amount of data with one call and then processing it in c++
tonikitoo 17:07 right. in the case of a plugin (out of process by nature) in chromium, that is really heavy
taxilian 17:07 right
tonikitoo 17:07 I am thinking of passing raw data (binary string, or such), and converting to what I know it is the target type, myself.
manually
taxilian 17:07 you can't pass a binary string
you could do a base64 encoded string
but strings have to be valid UTF8
tonikitoo 17:07 taxilian, using websockets (I have a websocket server embedded into my FB plugin)
taxilian 17:07 ahh
yeah, that would do it
and if you'd consider it, a websocket server would be a really awesome example project for firebreath
and/or firebreath library
lots of people would find it useful
tonikitoo 17:07 taxilian, I got it up and running locally. Will consider getting it shown to you when I am done, and you evaluate :)
taxilian 17:07 are you using the HTTPService?
tonikitoo 17:07 taxilian, not actually :(. I avoided that to try to avoid the HTTP overhead in messages coming/going
does it make sense?
taxilian 17:07 ahh
I have never actually done a websocket server, so no idea =]
but I will trust you on that one
tonikitoo 18:07 so with websockets, it is a only the raw data
taxilian 18:07 since you have done one =]
tonikitoo 18:07 though I had to embedded an external websocket (c++) implementation into my FB plugin
so it is not mine. I use one :-)
websocket++ is the one. headers only, easily embeddable, well integrated with boost, lightweight, etc.
taxilian 18:07 what is the licensing?
tonikitoo 18:07 let me double check
taxilian 18:07 ahh, bsd
nice
looks like a good fit
no issues with connecting to a websocket server on localhost?
tonikitoo 18:07 "WebSocket++ is an open source (BSD license) header only C++ library that impliments RFC6455 The WebSocket Protocol"
http://www.zaphoyd.com/websocketpp/
yeah
taxilian, I would have to confirm with the author how optimized it is for localhost connections
he is pretty responsible on #websocketpp
taxilian 18:07 responsive I think is what you mean
but aren't you opening the websocket on localhost?
how do you connect to the websocket?
tonikitoo 18:07 err, responsive
taxilian, server is on the FB plugin (in a thread). I send data from JS (the client). there is some thread magics, as well
taxilian 18:07 right... but the websocket has to be opened in ip
on an address
so what address do you connect to with the websocket in the js?
tonikitoo 18:07 connection = new WebSocket('ws://localhost:9002');
where 9002 is the port I opened on the server side.
(sorry about the delay. got sidetracked)
taxilian 19:07 tonikitoo: so you're opening the websocket on localhost, then
and presumably it's working, even when on a website not served from localhost?
tonikitoo| 19:07 taxilian, GOOOD question. I have not ran sites over the internet so far. but will check it.
valid point
dougma 19:07 websockets must connect to the same domain as the originating page?