Chrome Extensionは、Chromeの持つJavaScript APIを利用してアプリケーションを作ります。 もちろん利用する言語はJavaScriptです。
APIにはブラウザを操作する様々な機能が用意されています。
タブを操作する tabs
やブックマークを操作する bookmarks
などは想像しやすいでしょう。
Extension自体を情報を取得したり操作する1 browserAction
や pageAction
などのメタメタしいAPI、
Extensionのメインプロセスと言える chrome.runtime
というとても重要なAPIもあります。
他には、identity
2 や gcm
3 などの、スマートフォンアプリ方面に起源があるAPIなども多数輸入されています。
もちろん、それ以外にもchromeのJavaScriptで元々できることはなんでもできます。
例えば、DOM操作のAPIはExtensionのAPI一覧には用意されていませんが、
普通に document.getElementById
などが使えます。
何ができるかは非常に多岐にわたるので、実例やサンプルコードを見ながら紹介していくことにします。