Fixed async: false to true for hn_item, login_successful and background.
When talking to an extension page, you use chrome.runtime. When talking
to a content script, chrome.tabs.