onUpdate listener now only executes content script once