IRC Log Viewer » #firebreath » 2013-03-25

IRC Nick Time (GMT-7) Message
rusMsc 05:03 okay, im back again, any body here?
%)
taxilian 07:03 rusMsc I'm here now
rusMsc 08:03 so, i asked in the past, but, now i need more information)......
let's begin)
im tryin to create popup blocker like ad muncher
taxilian 08:03 okay
rusMsc 08:03 does im right thinking that FB can't catch beforenavigate events in browsers?
taxilian 08:03 yes
no plugin can
rusMsc 08:03 hm...
taxilian 08:03 have you read http://npapi.com/extension ?
rusMsc 08:03 yes, and i read about npapi extension in chrome, in chrome docs, i need to create manifest, and write my extension to parameters
taxilian 08:03 but the extension has to do all extension-related work
the npapi plugin is just a helper
rusMsc 08:03 so npapi is only for single html web pages?
taxilian 08:03 correct
rusMsc 08:03 hm
taxilian 08:03 an npapi plugin is only aware of the page it is currently on
rusMsc 08:03 hm...
need to reverse ad muncher i guess.
i have create extension for chrome, it's works fine, but ad muncher does not register extension in chrome (
and even it injecting dll into the browser process, how he finding function addresses %))) agh my mind :D
taxilian 08:03 you could inject the plugin into every page with an extension, I suspect
rusMsc 08:03 i know what i should hook in IE, FF, but... chrome...
taxilian 08:03 but I don't know why you wouldn't be able to just do all of it using the extension
doesn't sound like you need a npapi plugin at all
rusMsc 08:03 if i can register extension in chrome, yes, it is. but without it... how? :D
hm
taxilian 08:03 ? none of this will work if you can't register the extension in Chrome
which AFAIK has to be done through the chrome store
rusMsc 08:03 but i need not for only chrome... so, i just must write extension for each browser separately ?
taxilian 08:03 yep
rusMsc 08:03 yes, as i thought.
im asking, because ad mucher does not do this, he have just 2 dll, for x86, x64 and does not register extensions... seems dll injection.
bad bad bad ad mucher :D
muncher*
okay, thanks alot!!! my eyes are opened now)
hm, open or opened? 10 years of english learning and so stupid mistakes :D
taxilian 09:03 either could be correct in this case
open is present tense, indicating that they are currently open
opened is past perfective, indicating that they have opened and implying that they are currently open
rusMsc 09:03 hm... i'm usually trying to say what i have wrote, and if sounds are like in US films, so i thinking that it is correct :-D
tnkz)
taxilian 09:03 I think "open" is probably more common around here, but tha'ts one that will most likely vary depending on where you are
rusMsc 09:03 oh O_o
taxilian 09:03 I honestly don't think anyone will notice one way or another, thoguh
rusMsc 09:03 okay, so my grammar is cool :D
SinnerSmile 14:03 Hello guys, FireBreath is AWESOME! Thx everyone, who working on it, if there is some of them here.
But i've got a question
taxilian 14:03 okay
SinnerSmile 14:03 I'm writing a plugin on WinAPI and i need to recieve hWnd of brwoser window, there is a function of NPAPI that can do this (with NPNVnetscapeWindow function i think) But it's npapi specific thing, what about ActiveX then, i need it to work on IE too
taxilian 14:03 you're using FireBreath?
hmm. yep, we don't have a way to set the Browser HWND in activex
not sure if it's possible or not
if you find a way to do it it's easy to update
SinnerSmile 15:03 dam.... well seems no easy way, huh, will try to get, well i can try to get hWnd of browser window thrue some window handles.
jshanab 15:03 But if you have a window handle you can get the parent window and from there even respond to the ncPaint (NC is the non-client area)
taxilian 15:03 nirvdrum might have found something like that
nirvdrum 15:03 SinnerSmile: This project has 0 firebreath in it, but should help you out: https://github.com/nirvdrum/SnapsIE/blob/master/CoSnapsie.cpp
It's reasonably well-documented.
SinnerSmile 15:03 well im thinking about getting hWnd from focused window, cos browser will obviously focused when plugin will start
Oh, thx
will take a look
taxilian 15:03 thx, Kevin
nirvdrum 15:03 There's a lot of ATL in there. If you have questions, I can try to help out.
taxilian 15:03 SinnerSmile: if you figure it out you should make a pull request for FireBreath; it just needs to call setBrowserHWND (https://github.com/firebreath/FireBreath/blob/master/src/PluginAuto/Win/PluginWindowWin.h#L59) on the PluginWindowWin object from the FBControl.h file in an appropriate place
then it'll work the same way on ie and firefox
SinnerSmile 15:03 nirvdrum... thx, as my poor WinAPI knowlege tells me, they use this http://msdn.microsoft.com/ru-RU/library/windows/desktop/ms633500(v=vs.85).aspx function to specify hWnd, i'm thinking about this as a plan B, if there is nothing more...elegant.
nirvdrum 15:03 SinnerSmile: You can go that route. It just gets harder when you have multiple IE windows open.
The series of QueryInterface calls I showed will guarantee you get the HWND for the process the plugin is loaded in.
SinnerSmile 15:03 taxilian, am i getting right that this is firebreath specific function and it return exactly that i want - hWnd of browse with my plugin nomatter IE or Mozilla (or any other NPAPI)
taxilian 15:03 it would, except nobody has added support on IE for it
SinnerSmile 15:03 And a chat question, how can i adress my message to someone in this chat? By clicking somewhere... or there is no such thing?
ok, u mean this function right now got no support for IE, but theoreticly if there is stable way to do this for IE we can add this support ja?
for the sake of next coders generations
SinnerSmile 15:03 nirvdrum: as i can get, this part https://github.com/nirvdrum/SnapsIE/blob/master/CoSnapsie.cpp#L190-194 specifies hWnd, but about that you told i can't understand how it will get the exact hWnd for the process the plugin loaded in.
oh are you talking about this? https://github.com/nirvdrum/SnapsIE/blob/master/CoSnapsie.cpp#L176-186
dam i don't know how this calls works time for some searching
nirvdrum 15:03 SinnerSmile: That whole method is useful. There's a point where it handles the fact that IE 7+ has tabbed browsing and IE 6 does not, as well.
It starts with the client site, gets the browser, then gets the document, from there get's the HWND.
It's a convoluted chain.
SinnerSmile 15:03 that's extremely useful, thank you nirvdrum and taxilian
nirvdrum 15:03 No problem.
SinnerSmile 16:03 And another question) what i need to do to use HWND FB::PluginWindowWin::getBrowserHWND()? Only #include "Win/PluginWindowWin.h" or do something else?
taxilian 16:03 I think that hsould do it
well, that and add code so that it works on IE
SinnerSmile 16:03 Right now just want to test some things with NPAPI browsers, IE later
Why the code for IE not yet added in FireBreath itself if there is stable code?
taxilian 16:03 those of us who know how haven't had any need to do it, I guess
hadn't actually realized until today that it wasn't done