Content Scripts run in isolated worlds. They can access the DOM, but
not any javascript running on the page. Either the content script
isn't permitted to access the window.opener object, or the content
script is accessing the extension's window.opener property. Either
way, it seems like window.opener won't work from Content Scripts.
What exactly are you trying to do with your extension?
If you need to find out which tab created the popup, I would use 2
eventListeners. One to listen for new windows, and one to listen for
when a tab is changed. Whenever the active tab is changed, the change
is registered in background.html, so your background page would always
know which tab was active.
Then, when a new window was opened, it would fire the new window
listener, which would access the stored tab id of the currently active
tab.
chrome.windows.onCreated
chrome.tabs.onSelectionChanged
-Adam