remove message propagation
This commit is contained in:
parent
86431e82f7
commit
903c9c78b7
8 changed files with 37 additions and 22 deletions
|
@ -34,6 +34,8 @@ export default class Follow {
|
||||||
this.newTab = false;
|
this.newTab = false;
|
||||||
this.hints = {};
|
this.hints = {};
|
||||||
this.targets = [];
|
this.targets = [];
|
||||||
|
|
||||||
|
messages.onMessage(this.onMessage.bind(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
update() {
|
update() {
|
||||||
|
|
|
@ -21,18 +21,19 @@ export default class Common {
|
||||||
];
|
];
|
||||||
|
|
||||||
this.reloadSettings();
|
this.reloadSettings();
|
||||||
|
|
||||||
|
messages.onMessage(this.onMessage.bind(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
update() {
|
update() {
|
||||||
this.children.forEach(c => c.update());
|
this.children.forEach(c => c.update());
|
||||||
}
|
}
|
||||||
|
|
||||||
onMessage(message, sender) {
|
onMessage(message) {
|
||||||
switch (message.type) {
|
switch (message.type) {
|
||||||
case messages.SETTINGS_CHANGED:
|
case messages.SETTINGS_CHANGED:
|
||||||
this.reloadSettings();
|
this.reloadSettings();
|
||||||
}
|
}
|
||||||
this.children.forEach(c => c.onMessage(message, sender));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
reloadSettings() {
|
reloadSettings() {
|
||||||
|
|
|
@ -69,7 +69,4 @@ export default class InputComponent {
|
||||||
e.target.getAttribute('contenteditable').toLowerCase() === 'true' ||
|
e.target.getAttribute('contenteditable').toLowerCase() === 'true' ||
|
||||||
e.target.getAttribute('contenteditable').toLowerCase() === '');
|
e.target.getAttribute('contenteditable').toLowerCase() === '');
|
||||||
}
|
}
|
||||||
|
|
||||||
onMessage() {
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,4 @@ export default class KeymapperComponent {
|
||||||
this.store.dispatch(inputActions.clearKeys());
|
this.store.dispatch(inputActions.clearKeys());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
onMessage() {
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,8 @@ export default class FollowController {
|
||||||
this.state = {};
|
this.state = {};
|
||||||
this.keys = [];
|
this.keys = [];
|
||||||
this.producer = null;
|
this.producer = null;
|
||||||
|
|
||||||
|
messages.onMessage(this.onMessage.bind(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
onMessage(message, sender) {
|
onMessage(message, sender) {
|
||||||
|
|
|
@ -14,19 +14,20 @@ export default class TopContent {
|
||||||
|
|
||||||
// TODO make component
|
// TODO make component
|
||||||
consoleFrames.initialize(window.document);
|
consoleFrames.initialize(window.document);
|
||||||
|
|
||||||
|
messages.onMessage(this.onMessage.bind(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
update() {
|
update() {
|
||||||
this.children.forEach(c => c.update());
|
this.children.forEach(c => c.update());
|
||||||
}
|
}
|
||||||
|
|
||||||
onMessage(message, sender) {
|
onMessage(message) {
|
||||||
switch (message.type) {
|
switch (message.type) {
|
||||||
case messages.CONSOLE_HIDE_COMMAND:
|
case messages.CONSOLE_HIDE_COMMAND:
|
||||||
this.win.focus();
|
this.win.focus();
|
||||||
consoleFrames.blur(window.document);
|
consoleFrames.blur(window.document);
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
}
|
}
|
||||||
this.children.forEach(c => c.onMessage(message, sender));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,16 +14,4 @@ store.subscribe(() => {
|
||||||
rootComponent.update();
|
rootComponent.update();
|
||||||
});
|
});
|
||||||
|
|
||||||
browser.runtime.onMessage.addListener(msg => rootComponent.onMessage(msg));
|
|
||||||
rootComponent.update();
|
rootComponent.update();
|
||||||
|
|
||||||
window.addEventListener('message', (event) => {
|
|
||||||
let message = null;
|
|
||||||
try {
|
|
||||||
message = JSON.parse(event.data);
|
|
||||||
} catch (e) {
|
|
||||||
// ignore unexpected message
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
rootComponent.onMessage(message, event.source);
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,3 +1,26 @@
|
||||||
|
const onWebMessage = (listener) => {
|
||||||
|
window.addEventListener('message', (event) => {
|
||||||
|
let sender = event.source;
|
||||||
|
let message = null;
|
||||||
|
try {
|
||||||
|
message = JSON.parse(event.data);
|
||||||
|
} catch (e) {
|
||||||
|
// ignore unexpected message
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
listener(message, sender);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const onBackgroundMessage = (listener) => {
|
||||||
|
browser.runtime.onMessage.addListener(listener);
|
||||||
|
};
|
||||||
|
|
||||||
|
const onMessage = (listener) => {
|
||||||
|
onWebMessage(listener);
|
||||||
|
onBackgroundMessage(listener);
|
||||||
|
};
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
BACKGROUND_OPERATION: 'background.operation',
|
BACKGROUND_OPERATION: 'background.operation',
|
||||||
|
|
||||||
|
@ -23,4 +46,8 @@ export default {
|
||||||
SETTINGS_RELOAD: 'settings.reload',
|
SETTINGS_RELOAD: 'settings.reload',
|
||||||
SETTINGS_CHANGED: 'settings.changed',
|
SETTINGS_CHANGED: 'settings.changed',
|
||||||
SETTINGS_QUERY: 'settings.query',
|
SETTINGS_QUERY: 'settings.query',
|
||||||
|
|
||||||
|
onWebMessage,
|
||||||
|
onBackgroundMessage,
|
||||||
|
onMessage,
|
||||||
};
|
};
|
||||||
|
|
Reference in a new issue