mirror of https://github.com/keeweb/keeweb
moved more code to protocol-impl
parent
81a311e7fa
commit
e865d80a63
|
@ -1,16 +1,14 @@
|
|||
import kdbxweb from 'kdbxweb';
|
||||
import { Events } from 'framework/events';
|
||||
import { Launcher } from 'comp/launcher';
|
||||
import { AppSettingsModel } from 'models/app-settings-model';
|
||||
import { Logger } from 'util/logger';
|
||||
import { ProtocolHandlers, initProtocolHandlers } from './protocol-handlers';
|
||||
import { ProtocolHandlers, initProtocolImpl } from './protocol-impl';
|
||||
|
||||
const logger = new Logger('browser-extension-connector');
|
||||
if (!localStorage.debugBrowserExtension) {
|
||||
logger.level = Logger.Level.Info;
|
||||
}
|
||||
|
||||
let appModel;
|
||||
const connectedClients = new Map();
|
||||
const pendingBrowserMessages = [];
|
||||
let processingBrowserMessage = false;
|
||||
|
@ -21,16 +19,11 @@ const BrowserExtensionConnector = {
|
|||
logger,
|
||||
connectedClients,
|
||||
|
||||
init(model) {
|
||||
appModel = model;
|
||||
|
||||
init(appModel) {
|
||||
const sendEvent = this.sendEvent.bind(this);
|
||||
initProtocolHandlers({ appModel, logger, connectedClients, sendEvent });
|
||||
initProtocolImpl({ appModel, logger, connectedClients, sendEvent });
|
||||
|
||||
this.browserWindowMessage = this.browserWindowMessage.bind(this);
|
||||
this.fileOpened = this.fileOpened.bind(this);
|
||||
this.oneFileClosed = this.oneFileClosed.bind(this);
|
||||
this.allFilesClosed = this.allFilesClosed.bind(this);
|
||||
|
||||
AppSettingsModel.on('change:browserExtension', (model, enabled) => {
|
||||
this.enabled = enabled;
|
||||
|
@ -53,9 +46,6 @@ const BrowserExtensionConnector = {
|
|||
} else {
|
||||
this.startWebMessageListener();
|
||||
}
|
||||
Events.on('file-opened', this.fileOpened);
|
||||
Events.on('one-file-closed', this.oneFileClosed);
|
||||
Events.on('all-files-closed', this.allFilesClosed);
|
||||
|
||||
logger.info('Started');
|
||||
},
|
||||
|
@ -66,9 +56,6 @@ const BrowserExtensionConnector = {
|
|||
} else {
|
||||
this.stopWebMessageListener();
|
||||
}
|
||||
Events.off('file-opened', this.fileOpened);
|
||||
Events.off('one-file-closed', this.oneFileClosed);
|
||||
Events.off('all-files-closed', this.allFilesClosed);
|
||||
|
||||
logger.info('Stopped');
|
||||
},
|
||||
|
@ -312,25 +299,14 @@ const BrowserExtensionConnector = {
|
|||
},
|
||||
|
||||
sendEvent(data) {
|
||||
if (!this.enabled) {
|
||||
return;
|
||||
}
|
||||
if (Launcher) {
|
||||
this.sendSocketEvent(data);
|
||||
} else {
|
||||
this.sendWebResponse(data);
|
||||
}
|
||||
},
|
||||
|
||||
fileOpened() {
|
||||
this.sendEvent({ action: 'database-unlocked' });
|
||||
},
|
||||
|
||||
oneFileClosed() {
|
||||
if (!appModel.files.hasOpenFiles()) {
|
||||
this.sendEvent({ action: 'database-locked' });
|
||||
}
|
||||
},
|
||||
|
||||
allFilesClosed() {
|
||||
this.sendEvent({ action: 'database-locked' });
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -28,11 +28,27 @@ let appModel;
|
|||
let connectedClients;
|
||||
let sendEvent;
|
||||
|
||||
function initProtocolHandlers(vars) {
|
||||
function initProtocolImpl(vars) {
|
||||
appModel = vars.appModel;
|
||||
logger = vars.logger;
|
||||
connectedClients = vars.connectedClients;
|
||||
sendEvent = vars.sendEvent;
|
||||
|
||||
setupListeners();
|
||||
}
|
||||
|
||||
function setupListeners() {
|
||||
Events.on('file-opened', () => {
|
||||
sendEvent({ action: 'database-unlocked' });
|
||||
});
|
||||
Events.on('one-file-closed', () => {
|
||||
if (!appModel.files.hasOpenFiles()) {
|
||||
sendEvent({ action: 'database-locked' });
|
||||
}
|
||||
});
|
||||
Events.on('all-files-closed', () => {
|
||||
sendEvent({ action: 'database-locked' });
|
||||
});
|
||||
}
|
||||
|
||||
function incrementNonce(nonce) {
|
||||
|
@ -378,4 +394,4 @@ const ProtocolHandlers = {
|
|||
}
|
||||
};
|
||||
|
||||
export { ProtocolHandlers, initProtocolHandlers };
|
||||
export { ProtocolHandlers, initProtocolImpl };
|
Loading…
Reference in New Issue