As you may not know, Opera doesn't allow extensions to override New tab page:
But ever since, I'm getting requests from users to "fix" this.
Would it be OK if I detected Opera and then when user enabled it in Options, I would use something like:
if (self.opr && USER_OPTIONS.USER_ALLOWED_OVERRIDE_NEW_TAB) {
browser.tabs.onCreated.addListener(tab => {
if (tab.url === 'chrome://startpageshared') {
// ...
}
});
}
(actually, the option check would have to be moved down to the handler since this needs to run in the first event loop round when storage is not loaded yet)