Background operation as Clean Architecture

This commit is contained in:
Shin'ya Ueoka 2018-07-28 10:42:32 +09:00
parent ab29706348
commit 66c23423f9
7 changed files with 318 additions and 3 deletions

View file

@ -4,6 +4,7 @@ import SettingController from '../controllers/setting';
import FindController from '../controllers/find';
import AddonEnabledController from '../controllers/addon-enabled';
import LinkController from '../controllers/link';
import OperationController from '../controllers/operation';
export default class ContentMessageListener {
constructor() {
@ -12,6 +13,7 @@ export default class ContentMessageListener {
this.findController = new FindController();
this.addonEnabledController = new AddonEnabledController();
this.linkController = new LinkController();
this.backgroundOperationController = new OperationController();
}
run() {
@ -46,6 +48,8 @@ export default class ContentMessageListener {
case messages.OPEN_URL:
return this.onOpenUrl(
message.newTab, message.url, sender.tab.id, message.background);
case messages.BACKGROUND_OPERATION:
return this.onBackgroundOperation(message.operation);
}
}
@ -85,4 +89,8 @@ export default class ContentMessageListener {
}
return this.linkController.openToTab(url, openerId);
}
onBackgroundOperation(operation) {
return this.backgroundOperationController.exec(operation);
}
}