Register your background page in the extension manifest, like this:
{
"name": "My First Extension",
"version": "1.0",
"description": "The first extension that I made.",
"background_page": "background.html",
"toolstrips": ["toolstrip.html"]
}
Your toolstrip will likely contain only the necessary code to display the toolstrip UI, with all your extension logic contained in the background page. You can communicate between your various pages using direct script calls, similar to how frames can communicate. The chrome.self.getViews() function returns a list of window objects for every active page belonging to your extension.
Example
background_page.html (snippet):
function updateUI(checked) {
var views = chrome.self.getViews();
for (var i in views) {
if (views[i].enableCheckbox)
views[i].enableCheckbox(checked);
}
}
toolstrip.html (snippet):
function enableCheckbox(checked) {
var elm = document.getElementById('checkbox');
elm.checked = checked;
}