Util refactor and fix (#638)
* Remove unused functions * Fix clone function not being visible on the window object
This commit is contained in:
parent
c13160d784
commit
897d85d1ac
@ -15,33 +15,11 @@
|
|||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function utilFunctionIsolate(func) {
|
|
||||||
return function isolatedFunction(...args) {
|
|
||||||
try {
|
|
||||||
args = args.map((v) => clone(v));
|
|
||||||
return func.call(this, ...args);
|
|
||||||
} catch (e) {
|
|
||||||
try {
|
|
||||||
String(func);
|
|
||||||
} catch (e2) {
|
|
||||||
// Dead object
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
throw e;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
function utilBackgroundIsolate(data) {
|
function utilBackgroundIsolate(data) {
|
||||||
const backgroundPage = chrome.extension.getBackgroundPage();
|
const backgroundPage = chrome.extension.getBackgroundPage();
|
||||||
return backgroundPage.clone(data);
|
return backgroundPage.clone(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
function utilBackgroundFunctionIsolate(func) {
|
|
||||||
const backgroundPage = chrome.extension.getBackgroundPage();
|
|
||||||
return backgroundPage.utilFunctionIsolate(func);
|
|
||||||
}
|
|
||||||
|
|
||||||
function utilBackend() {
|
function utilBackend() {
|
||||||
const backend = chrome.extension.getBackgroundPage().yomichanBackend;
|
const backend = chrome.extension.getBackgroundPage().yomichanBackend;
|
||||||
if (!backend.isPrepared()) {
|
if (!backend.isPrepared()) {
|
||||||
|
@ -192,6 +192,11 @@ const clone = (() => {
|
|||||||
return clone;
|
return clone;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
// Expose clone function on the global object, since util.js's utilBackgroundIsolate needs access to it.
|
||||||
|
if (typeof window === 'object' && window !== null) {
|
||||||
|
window.clone = clone;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Async utilities
|
* Async utilities
|
||||||
|
Loading…
Reference in New Issue
Block a user