function notifyAllTabs(request) {
	chrome.windows.getAll({populate: true}, function(windows) {
		windows.forEach(function(win) {
			win.tabs.forEach(function(tab) {
				chrome.tabs.sendMessage(tab.id, request);
				updateBadgeText(tab);
			});
		});
	});
}

function updateBadgeText(tab) {
	chrome.extension.sendMessage({method: "getStyles", matchUrl: tab.url, enabled: true}, function(styles) {
		var t = getBadgeText(styles);
		console.log("Tab " + tab.id + " (" + tab.url + ") badge text set to '" + t + "'.");
		chrome.browserAction.setBadgeText({text: t, tabId: tab.id});
	});
}

function getBadgeText(styles) {
	return styles.length == 0 ? "" : ("" + styles.length);
}
