Googe (Toolbar) does evil, customer blames Microsoft

The customer in this case is me. You can catch all the gory technical details in my previous post.

The gist of the issue is that the popup blocker that is part of the Google Toolbar has a nasty way of silently defeating certain Internet Explorer functionality that may have absolutely nothing to do with popping up an annoying ad. The worst part about it is that Google Toolbar is otherwise a fine piece of software that does give you both visual and sound cues when it catches and stops popups.

This started two days ago when I discovered that part of functionality of our application ceased to work under Internet Explorer 6 and was data was being lost. I could easily reproduce the problem on a few machines in the office (all with IE6 and up to date on latest patches) but the problem did not appear on a virgin install of Windows 2000 with an older version if IE. After a day of getting nowhere in my testing and trying various changes to code, I contacted Microsoft Support and initiated a $245 support incident. Another day went by during which I exchanged a number of emails with the Microsoft tech until he suggested I check what Browser Helper Objects I had installed on my machine. It turned out I only had two: Acrobat Reader and Google Toolbar. A quick Google search (ironic, no?) revealed that in its early days Google's popup blocker was doing nothing more that disabling exactly the functionality I was now missing. Bingo!

To sum up, Google Toolbar disables the browser “onunload” event whenever the browser window is being closed. It does so indiscriminately of whether there is any code there that tries to launch a popup. Moreover, it does so without any indication to the user that it had altered the intended site experience. It cost me two days and $245 to track this down. Now, I have to figure out how to get around it. So far, Google Toolbar support has not responded to my email.

Just think the kind of furor would ensue if Microsoft were to do something like that? Guess what though, the MSN Toolbar's popup blocker manages to do its thing without such nasty side-effects. As does the Yahoo Toolbar.

For the record, as of this writing the Google Toolbar is at version 2.0.110-big/en (GGLD).

posted @ Thursday, April 29, 2004 12:42 PM

Print

Comments on this entry:

# re: Googe (Toolbar) does evil, customer blames Microsoft

Left by Terry ` at 5/24/2004 7:52 AM
Gravatar
I seem to be having the same problem with the onunload event not firing, yet I am not using google toolbar. I have Windows XP Pro with IE 6.0 and whats even more amazing is that the onbeforeunload event fires as expected. I am now down to manually goig through the registry and comparing it against another XP machine with similar software loadouts.

# re: Googe (Toolbar) does evil, customer blames Microsoft

Left by Michael Teper at 5/24/2004 8:04 PM
Gravatar
Terry, you may want to look through the registry for other BHO (Browser Hosted Objects) to see if there is something else messing up IE.

# re: Googe (Toolbar) does evil, customer blames Microsoft

Left by Rashmi T at 5/31/2004 1:57 AM
Gravatar
Hey,
u solved my problem! :-) by reading this, i understood that why "onunload" event was not working on my machine...i have google toolbr installed and i wasted 2-3 days to dig why onunload is not working....thanks a lot...now it works! :-)

# re: Googe (Toolbar) does evil, customer blames Microsoft

Left by Rashmi T at 5/31/2004 1:58 AM
Gravatar
hey,
do u know if goggle has solved this problem? or if they r planning to solve in the next release of the tool bar?

# re: Googe (Toolbar) does evil, customer blames Microsoft

Left by Michael Teper at 5/31/2004 5:34 PM
Gravatar
They haven't as of yet that I am aware of.

# re: Googe (Toolbar) does evil, customer blames Microsoft

Left by Ira R at 8/4/2004 5:36 AM
Gravatar
I had the same problem and was going crazy trying to find the cause. Thanks for posting the answer.

# re: Googe (Toolbar) does evil, customer blames Microsoft

Left by dave Turnbull at 9/1/2004 10:20 AM
Gravatar
Hi
I am using gogle toolbar 2.0.113-big/en (GGLD) and seem to be having the same problem with a broken onunload when the browser is closed.

Do you have any definitive info re whether they fixed it, or a work around?

My specific problem is that I pass around some object references between controls on a page and they won't get destroyed unless I have a way to teardown the references (which I do in onunload). Or maybe that's something I'm not meant to do in the first place?

Dave Turnbull

# re: Googe (Toolbar) does evil, customer blames Microsoft

Left by Michael Teper at 9/1/2004 10:41 AM
Gravatar
I passed this info along to Google via the feedback mechanism, and even had someone I know at the company forward it to the appropriate group. To date, I have not heard back. There is no workaround I am aware of, short of rearchitecting your app to not use the onunload handler.

Dave, I am not sure what you mean by "object references" that "do not get destroyed" so I can't answer your question.

# re: Googe (Toolbar) does evil, customer blames Microsoft

Left by dave Turnbull at 9/1/2004 11:53 PM
Gravatar
Hi, re - "object references" "do not get destroyed".
Thanks. Not very impressive is it (Google that is). I see that the "onunload killer" was a documented option in early Google toolbars (http://toolbar.google.com/experimental).

A control I'm writing is intended to be instantiated several times on the same page, with one instance acting as a "master" and the others using a reference to that object so they can talk directly, without say using javascript to glue them. Hence the problem is to kill off those refences in the equivalent to the "form unload" event (VB). For now I'm using the onbeforeunload().

# re: Googe (Toolbar) does evil, customer blames Microsoft

Left by Michael Teper at 9/2/2004 1:12 AM
Gravatar
Of course, onbeforeunload is specific to IE. So how are you instantiating your child objects and tieing them to the master in the first place?

# re: Googe (Toolbar) does evil, customer blames Microsoft

Left by Dave Turnbull at 9/2/2004 3:01 AM
Gravatar
Hi
> Of course, onbeforeunload is specific to IE.
Yes, and hopefully so is the Google prob?! :-)
> So how are you instantiating your child objects
The OBJECT tag / classid. The Ax is written in VB (with VC helper dlls)
>and tieing them to the master in the first place?
MyObj1.RefToAnotherObj = MyObj2.Self();
[Where Self() is "Set Self = Me" in VB, as I found
"MyObj1.RefToAnotherObj = MyObj2"
didn't work! Presumaby there is some kind of wrapper round the object, but I seem to remember that the possible "MyObj2.object" didn't work.]

Dave

# re: Googe (Toolbar) does evil, customer blames Microsoft

Left by Michael Teper at 9/2/2004 8:21 AM
Gravatar
Interesting. Is it not possible for the master object to clean up after itself though? (i.e. set the references to Nothing and let the infrastructure do the rest)? Or does it leak due to timing issues?

# re: Googe (Toolbar) does evil, customer blames Microsoft

Left by Dave Turnbull at 9/3/2004 2:11 AM
Gravatar
Hi
> Is it not possible for the master object to clean up after itself though?
If I close the web page without my own "clean up" call the objects seem to get destroyed but the _Terminate events don't seem to run. If I do do the clean up then the terminate events do run. I have done a lot to try to ensure that I don't have any circular obj refs etc that might be causing that. So "self-clean" doesn't seem to work.

Back on the subject of javascript events, I've also found that sometimes (probably IE/Win dep but not yet fully investigated) the web-page javascript does not see _any_ of the events that my objects raise. Is there some known issue with this, I thought it might be a security setting but can't find anything.
Comments have been closed on this topic.