Без упаковки window.console
самостоятельно, я не верю, что это возможно.Глядя на источник, кажется, что когда вызывается метод Firebug console
(работающий в основном документе и, следовательно, не имеющий специальных привилегий), он оставляет некоторые объекты в основном документе и затем вызывает пользовательское событие.Слушатель Firebug, работающий в привилегированном плагине, получает событие, поглощает объекты, оставшиеся в документе, и добавляет соответствующие элементы на консольную панель, которая является частью браузера Chrome и поэтому недоступна для JavaScript, работающего в основномwindow.
Я могу ошибаться в деталях, потому что я только бегло взглянул на исходный код Firebug и очень мало занимался разработкой плагинов для Firefox, но я думаю, что это в целом правильно.