aboutsummaryrefslogtreecommitdiff
path: root/src/background
diff options
context:
space:
mode:
Diffstat (limited to 'src/background')
-rw-r--r--src/background/infrastructures/content-message-listener.js6
-rw-r--r--src/background/repositories/find.js3
-rw-r--r--src/background/usecases/command.js3
-rw-r--r--src/background/usecases/link.js3
-rw-r--r--src/background/usecases/operation.js6
-rw-r--r--src/background/usecases/parsers.js26
6 files changed, 14 insertions, 33 deletions
diff --git a/src/background/infrastructures/content-message-listener.js b/src/background/infrastructures/content-message-listener.js
index 58716fb..4fcc6a6 100644
--- a/src/background/infrastructures/content-message-listener.js
+++ b/src/background/infrastructures/content-message-listener.js
@@ -19,7 +19,11 @@ export default class ContentMessageListener {
run() {
browser.runtime.onMessage.addListener((message, sender) => {
try {
- return this.onMessage(message, sender).catch((e) => {
+ let ret = this.onMessage(message, sender);
+ if (!(ret instanceof Promise)) {
+ return {};
+ }
+ return ret.catch((e) => {
return browser.tabs.sendMessage(sender.tab.id, {
type: messages.CONSOLE_SHOW_ERROR,
text: e.message,
diff --git a/src/background/repositories/find.js b/src/background/repositories/find.js
index 9482e78..6656c58 100644
--- a/src/background/repositories/find.js
+++ b/src/background/repositories/find.js
@@ -12,7 +12,8 @@ export default class FindRepository {
}
setKeyword(keyword) {
- return this.cache.set(FIND_KEYWORD_KEY, keyword);
+ this.cache.set(FIND_KEYWORD_KEY, keyword);
+ return Promise.resolve();
}
}
diff --git a/src/background/usecases/command.js b/src/background/usecases/command.js
index 3dbf768..7fd2e57 100644
--- a/src/background/usecases/command.js
+++ b/src/background/usecases/command.js
@@ -1,4 +1,5 @@
import * as parsers from './parsers';
+import * as urls from '../../shared/urls';
import TabPresenter from '../presenters/tab';
import WindowPresenter from '../presenters/window';
import SettingRepository from '../repositories/setting';
@@ -103,6 +104,6 @@ export default class CommandIndicator {
async urlOrSearch(keywords) {
let settings = await this.settingRepository.get();
- return parsers.normalizeUrl(keywords, settings.search);
+ return urls.normalizeUrl(keywords, settings.search);
}
}
diff --git a/src/background/usecases/link.js b/src/background/usecases/link.js
index f9e474a..1339fdf 100644
--- a/src/background/usecases/link.js
+++ b/src/background/usecases/link.js
@@ -8,8 +8,7 @@ export default class LinkInteractor {
}
openToTab(url, tabId) {
- this.tabPresenter.open(url, tabId);
-
+ return this.tabPresenter.open(url, tabId);
}
async openNewTab(url, openerId, background) {
diff --git a/src/background/usecases/operation.js b/src/background/usecases/operation.js
index 86f39ca..7bf93e4 100644
--- a/src/background/usecases/operation.js
+++ b/src/background/usecases/operation.js
@@ -126,7 +126,7 @@ export default class OperationInteractor {
async showCommand() {
let tab = await this.tabPresenter.getCurrent();
- this.consolePresenter.showCommand(tab.id, '');
+ return this.consolePresenter.showCommand(tab.id, '');
}
async showOpenCommand(alter) {
@@ -173,12 +173,12 @@ export default class OperationInteractor {
async findStart() {
let tab = await this.tabPresenter.getCurrent();
- this.consolePresenter.showFind(tab.id);
+ return this.consolePresenter.showFind(tab.id);
}
async hideConsole() {
let tab = await this.tabPresenter.getCurrent();
- this.consolePresenter.hide(tab.id);
+ return this.consolePresenter.hide(tab.id);
}
onTabSelected(tabId) {
diff --git a/src/background/usecases/parsers.js b/src/background/usecases/parsers.js
index cda26c3..43c8177 100644
--- a/src/background/usecases/parsers.js
+++ b/src/background/usecases/parsers.js
@@ -1,27 +1,3 @@
-const trimStart = (str) => {
- // NOTE String.trimStart is available on Firefox 61
- return str.replace(/^\s+/, '');
-};
-
-const normalizeUrl = (keywords, searchSettings) => {
- try {
- return new URL(keywords).href;
- } catch (e) {
- if (keywords.includes('.') && !keywords.includes(' ')) {
- return 'http://' + keywords;
- }
- let template = searchSettings.engines[searchSettings.default];
- let query = keywords;
-
- let first = trimStart(keywords).split(' ')[0];
- if (Object.keys(searchSettings.engines).includes(first)) {
- template = searchSettings.engines[first];
- query = trimStart(trimStart(keywords).slice(first.length));
- }
- return template.replace('{}', encodeURIComponent(query));
- }
-};
-
const mustNumber = (v) => {
let num = Number(v);
if (isNaN(num)) {
@@ -52,4 +28,4 @@ const parseSetOption = (word, types) => {
}
};
-export { normalizeUrl, parseSetOption };
+export { parseSetOption };