Last week, the Chromium development team announced that the extension system has finally been released to the dev-channel. This is an important step, since it means users of the most bleeding edge version will now have the extensions system on by default, without requiring them to boot Chromium with the –enable-plugins flag. ¬†

The “dev channel” is the first step in testing new releases outside of the group of developers; those users that have downloaded their Chromium build from the dev channel will automatically receive updated builds that enable the feature. If the extensions function as planned, the feature will be pushed to the “beta channel”, after which it will be deployed to all Chrome users. Since Chrome updates are automatic, this means that in a couple of months all Chrome users will be able to use plugins.

There are a couple of sample plugins available, and the API for plugins is being finished. The framework is platform-independent, just like the Firefox system; plugins will work on Windows, MacOS X and Linux. Extensions are signed with a developer’s private key, and according to the packaging instructions there will be an extensions gallery in the future. I hope it will be soon, because the first non-official plugin sites have already been spotted. Presumably, there will also be some sort of mechanism for verifying keys. The current plugin system doesn’t give any feedback about the creator of the extension:

Chrome extension installation

Once installed, the URL chrome://extensions/ will allow you to view, uninstall and update the extensions that you’ve installed. Available updates are installed automatically; developers can choose to use the yet-to-be-unveiled “extension gallery” or provide their own update location:

Those who choose to host extensions themselves instead of using the gallery will probably want to use auto update for their extensions as described below. […]¬†Every few hours, the browser will check if any installed extensions have an auto update url. For each one, it will make a request to that url looking for an update manifest xml file. If the update manifest mentions a version of an extension that is more recent than what’s installed, it will download and install the new version. Similar to manual updates, the new crx must be signed with the same private key as the currently installed version.

Chrome extension manager

But perhaps the most surprising feature is the ability to use NPAPI, the same API used for Firefox plugins. This means porting plugins should be an easy task, so I think we’ll see an extensive collection of plugins for Chrome by the time the feature is rolled out to the general public.

If you’d like to get access to the new feature, install one of the following builds; these have the plugin architecture enabled and will automatically update when new releases are pushed out on the dev channel.