I have worked around this by using browserAction.setPopup
For pages with no content script it will use the default popup which does not attempt to send a message to the content script.
I changed all my content scripts to send a message to my background script which causes it to call chrome.browserAction.setPopup to switch to the popup menu which does send a message to the content script.
Topic:
Safari & Web
SubTopic:
General
Tags: