use original safari tab if we can

This commit is contained in:
Kyle Spearrin 2018-01-12 23:20:26 -05:00
parent 6c7646a481
commit 66842b4b72
2 changed files with 14 additions and 9 deletions

View File

@ -87,16 +87,20 @@ class BrowserApi {
});
});
} else if (BrowserApi.isSafariApi) {
const win = safari.application.activeBrowserWindow;
if (safari.application.browserWindows.indexOf(win) !== tab.windowId) {
return Promise.reject('Window not found.');
let t = tab.safariTab;
if (!t || !t.page) {
const win = safari.application.activeBrowserWindow;
if (safari.application.browserWindows.indexOf(win) !== tab.windowId) {
return Promise.reject('Window not found.');
}
if (win.tabs.length < tab.index + 1) {
return Promise.reject('Tab not found.');
}
t = win.tabs[tab.index];
}
if (win.tabs.length < tab.index + 1) {
return Promise.reject('Tab not found.');
}
const t = win.tabs[tab.index];
if (t.page) {
t.page.dispatchMessage('bitwarden', obj);
}
@ -206,6 +210,7 @@ class BrowserApi {
title: tab.title,
active: tab === tab.browserWindow.activeTab,
url: tab.url || 'about:blank',
safariTab: tab,
};
}
}

View File

@ -9,7 +9,7 @@ document.addEventListener('DOMContentLoaded', (event) => {
responseCommand: responseCommand
});
safari.self.addEventListener('message', function (msgEvent) {
var msg = msgEvent.message;
const msg = msgEvent.message;
if (msg.command === responseCommand && msg.data === true) {
setInterval(doFillIfNeeded, 500);
}