aboutsummaryrefslogtreecommitdiff
path: root/src/content/actions
diff options
context:
space:
mode:
Diffstat (limited to 'src/content/actions')
-rw-r--r--src/content/actions/find.js49
-rw-r--r--src/content/actions/operation.js2
-rw-r--r--src/content/actions/setting.js7
3 files changed, 32 insertions, 26 deletions
diff --git a/src/content/actions/find.js b/src/content/actions/find.js
index c7345cc..b3d7e30 100644
--- a/src/content/actions/find.js
+++ b/src/content/actions/find.js
@@ -22,6 +22,12 @@ const postPatternFound = (pattern) => {
);
};
+const postNoPrevious = () => {
+ return consoleFrames.postError(
+ window.document,
+ 'No previous search keywords');
+};
+
const find = (string, backwards) => {
let caseSensitive = false;
let wrapScan = true;
@@ -29,44 +35,45 @@ const find = (string, backwards) => {
// NOTE: aWholeWord dows not implemented, and aSearchInFrames does not work
// because of same origin policy
+ let found = window.find(string, caseSensitive, backwards, wrapScan);
+ if (found) {
+ return found;
+ }
+ window.getSelection().removeAllRanges();
return window.find(string, caseSensitive, backwards, wrapScan);
};
-const findNext = (currentKeyword, reset, backwards) => {
+const findNext = async(currentKeyword, reset, backwards) => {
if (reset) {
window.getSelection().removeAllRanges();
}
- let promise = Promise.resolve(currentKeyword);
+ let keyword = currentKeyword;
if (currentKeyword) {
browser.runtime.sendMessage({
type: messages.FIND_SET_KEYWORD,
keyword: currentKeyword,
});
} else {
- promise = browser.runtime.sendMessage({
+ keyword = await browser.runtime.sendMessage({
type: messages.FIND_GET_KEYWORD,
});
}
+ if (!keyword) {
+ return postNoPrevious();
+ }
+ let found = find(keyword, backwards);
+ if (found) {
+ postPatternFound(keyword);
+ } else {
+ postPatternNotFound(keyword);
+ }
- return promise.then((keyword) => {
- let found = find(keyword, backwards);
- if (!found) {
- window.getSelection().removeAllRanges();
- found = find(keyword, backwards);
- }
- if (found) {
- postPatternFound(keyword);
- } else {
- postPatternNotFound(keyword);
- }
-
- return {
- type: actions.FIND_SET_KEYWORD,
- keyword,
- found,
- };
- });
+ return {
+ type: actions.FIND_SET_KEYWORD,
+ keyword,
+ found,
+ };
};
const next = (currentKeyword, reset) => {
diff --git a/src/content/actions/operation.js b/src/content/actions/operation.js
index 9171766..40ac52d 100644
--- a/src/content/actions/operation.js
+++ b/src/content/actions/operation.js
@@ -8,7 +8,7 @@ import * as consoleFrames from 'content/console-frames';
import * as addonActions from './addon';
import * as properties from 'shared/settings/properties';
-// eslint-disable-next-line complexity
+// eslint-disable-next-line complexity, max-lines-per-function
const exec = (operation, repeat, settings) => {
let smoothscroll = settings.properties.smoothscroll ||
properties.defaults.smoothscroll;
diff --git a/src/content/actions/setting.js b/src/content/actions/setting.js
index 4c1e385..e34b6e0 100644
--- a/src/content/actions/setting.js
+++ b/src/content/actions/setting.js
@@ -10,7 +10,7 @@ const reservedKeymaps = {
const set = (value) => {
let entries = [];
if (value.keymaps) {
- let keymaps = Object.assign({}, value.keymaps, reservedKeymaps);
+ let keymaps = { ...value.keymaps, ...reservedKeymaps };
entries = Object.entries(keymaps).map((entry) => {
return [
keyUtils.fromMapKeys(entry[0]),
@@ -21,9 +21,8 @@ const set = (value) => {
return {
type: actions.SETTING_SET,
- value: Object.assign({}, value, {
- keymaps: entries,
- })
+ value: { ...value,
+ keymaps: entries, }
};
};