Anne van Kesteren

registerProtocolHandler() & registerContentHandler()

At Mozilla we are looking at making more parts of the web platform pluggable by web applications so I had a look at the current state of registerProtocolHandler() and friends. The goal behind this feature is to make mailto URLs play nice with Yahoo! Mail, Gmail, etc. Or in other words, it makes navigation extensible.

The state of this feature is rather poor. It is only supported by Chromium and Gecko. Chromium also supports unregisterProtocolHandler(). Neither Gecko nor Chromium support isProtocolHandlerRegistered().

Perhaps if we implement the missing methods and improve the user interface around it this will see somewhat wider adoption. However, to make the interface really work we would have to have built-in knowledge about each URL scheme. As users really have no concept of that. Firefox uses “Add title (domain) as an application for scheme links?” which even for mailto is probably confusing. Chrome seems a little better, using “Allow domain to open all type links?” For the mailto scheme it uses email as type.

(There is also registerContentHandler() which is for making the bit pluggable where your browser has no idea what to do with the resource it just retrieved. This is only supported by Gecko and only for feed-related MIME types.)

If you have any great user interface ideas let me know! I thought I would share the above since I could not find a decent summary anywhere else.