В документации упоминается, что вы можете отправлять сообщения с помощью обработчиков событий на трех разных уровнях:
safari.application.activeBrowserWindow.activeTab.addEventListener("message", waitForMessage, false);
safari.application.activeBrowserWindow.addEventListener("message", waitForMessage, false);
safari.application.addEventListener("message", waitForMessage, false);
Но вы должны выбрать один из трех.Вы не прикрепляете слушателей событий ко всем трем?Если да, то вы обязательно запустите его три раза.