Вы используете скрипт содержимого, который отправляет сообщение обратно на расширение при нажатии кнопки отмены. Расширение может затем закрыть панель. Что-то вроде этого:
var data = require("self").data;
var panel = require("panel").Panel({
contentURL: data.url("panel.html"),
contentScriptFile: data.url("panel.js"),
onMessage: function(message)
{
if (message == "close")
panel.hide();
}
});
panel.show();
С panel.js
, содержащим код типа:
var cancelBtn = document.getElementById("cancel");
cancelBtn.addEventListener("click", function()
{
self.postMessage("close");
}, false);