Я не знаю, работает ли он с расширением Firefox, но так как он работает в документе, я думаю, что он тоже работает с расширением.
Вы должны работать с Mutation-Events , особенно с DOMSubtreeModified. Это срабатывает при каждом изменении цели.
Небольшой пример-скрипт, поместите его где-нибудь после <title/>
<script type="text/javascript">
<!--
(function()
{
var _this={
target:document.getElementsByTagName('TITLE')[0],
oldValue:document.title
};
_this.onChange=function()
{
if(_this.oldValue!==document.title)
{
_this.oldValue=document.title;
alert('somebody changed the title');
}
};
_this.delay=function()
{
setTimeout(_this.onChange,1);
};
_this.target.addEventListener('DOMSubtreeModified',_this.delay,false)
})()
//-->
</script>