Sunday, December 29, 2013

Salt and Pepper

Every now and then my propeller beanie comes out.


Here I go again.

Several years ago I shared my short list of requirements of a browser. Subsequently I've switched to Chrome and been quite happy.

But recently as I setup a new PC one of my favorite extensions Google Toolbox (by Google) didn't meet the third item on my short list: Close tabs when I double click them.

I thought it was just something I'd failed to set in the options so I went through them again. it still didn't close tabs when I double clicked them.

So I went to the Google Toolbox page in the Chrome Store. There were a couple of reviews that suggested that something was askew. (The page now gives "An error occurred: Item not found. This item may have been removed by its author."


So I searched the Chrome Store looking for alternatives. Google Toolbox was really much heavier than I really needed anyway and had caused problems with YouTube recently.

I came across "Double Click Closes Tab." It uses a double click ON the web page to close the tab. Not a double click on the tab. That's not what my muscle memory is. But in reading the description I think I've figured out what's going on with Google Toolbox.
To those wanting "double click on tab to close" - Google now made its own extension to do that and more. It uses a plugin mechanism that uses compiled binary code and presents a security risk unless you're sure you can trust the author (of course coming from Google it's likely fine). Without using such mechanism, Chrome extensions cannot receive tab events. Google's extension is called Chrome Toolbox.
The emphasis is mine.

I'm not a developer (unless you consider S/360 assembler development!) but this suggests that Google Toolbox was using NPAPI rather than PPAPI. Put yourself to sleep here with the details. It is so Google to have a technology PPAPI (Pepper Plugin API) that uses Native Client (NaCL). Think about it.

I first ran into the NPAPI vs. PPAPI issue back here with Flash. Chrome's page says "NPAPI is being phased out. Consider using alternatives."

I believe that this is a deliberate effort on Google's part to remove all the NPAPI extensions from Chrome. This goes beyond security though. This is a platform issue. Remember back in 2011 when I tried a Chromebook? One of my observations (whines?) was that the Google Chrome Toolbox extension for the Chromebook didn't support "Double click on a tab to close it." I missed the significance of that.

There's a post in the Google Chrome Extension Development forum calling for a non-NPAPI version. In this era of Google's "Spring Cleaning" that's not likely to happen. And as to my short list item of wanting to close tabs when I double click them that's not going to happen either. Apparently handling a click on Chrome's "chrome" (i.e. the tab proper) isn't supported by PPAPI. And that's probably not a bad thing.

There are threads in the Google Chrome forums here and here that you can follow but don't expect any relief. I just wish that Google was more transparent about things like this. Simply updating the Google Chrome Toolbox page in the Chrome Store would have answered all these questions and put Chrome users into looking forward rather than looking backwards.

3 comments:

Unknown said...

Why Pig Toolbox (Super Gestures) 1.0.7.4 (still on chrome store)
are able to use double click tab close?

do they use PPAPI? if they can use it, why not other extensions?

thanks

Ben Moore said...

Good observation. I had seen "Pig Toolbox (Super Gestures) 1.0.7.4" on the store before but hadn't looked at it.

I went to their site and read the FAQs (http://iblogbox.com/pig/help.php).

You'll see that most of their points are explaining the limitations of NPAPI extensions.

I think it's just a matter of time until Google disallows all NPAPI extension. It'd be nice if they'd take a public position on this.

Christopher said...

It's over with.

http://iblogbox.com/pig/alert.php

"Pig Toolbox, Not update anymore.
Chrome, Drop Support for NPAPI Plugins."

And indeed, as of M32 it no longer works.

Thankfully I kept the TabMenu .crx

From my search it seems the person who was previously behind TabMenu @ Google is now with Mozilla.