Основная проблема заключается в том, что расширение Chrome существует в отдельной среде, которая была создана для того, чтобы разработчики расширений не могли ввернуть javascript существующей страницы и наоборот.
Однако, отвратительные люди могут сделать это:
document.head.innerHTML += '<script>Q.foo = function(){alert("over written");}</script>';
По сути, это то, что он добавляет тег dom в dom, который затем мгновенно выводится в контексте страницы.