タブを左右に移動する

ChromeExtensionにおいてタブを左右に移動するためのスクリプトを書いてみた

//isAbsoluteがfalseのときは現在のタブから相対的にtabNum個分だけ右に移動する
//isAbsoluteがtrueのときは一番左から1,2,3、…、と数えた場合のtabNum個目のタブを選択する
function selectTab(tabNum,isAbsolute){
	chrome.tabs.getAllInWindow(null, function(tabs) {
		if(tabs.length<=1)
			return;
		var toSelect;
		if(isAbsolute){
			if(tabNum>tabs.length)
				return;
			toSelect = tabs[tabNum];
		}else{
			for (var i = 0; i < tabs.length; i++) {
				if (tabs[i].selected) {
					var toSelect = tabs[(i + tabNum) % tabs.length];
					chrome.tabs.update(toSelect.id, { selected: true });
					break;
				}
			}
		}
	});
}
function goRightTab(sender){
	selectTab(1,false);
	window.alert("goRightTab()");
}
function goLeftTab(sender){
	selectTab(-1,false);
	window.alert("goLeftTab()");
}

これは自分が使っているExtensionの一つであるVIMUMのソースコードを参考にした
https://chrome.google.com/extensions/detail/dbepggeogbaibhgnhhndojpepiihcmeb
ちなみにこのコードはbackgroundページに書く必要がある(Contentscriptからはchrome.tabs.*を呼び出すことはできない)