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/>.
|
||||
*/
|
||||
|
||||
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) {
|
||||
const backgroundPage = chrome.extension.getBackgroundPage();
|
||||
return backgroundPage.clone(data);
|
||||
}
|
||||
|
||||
function utilBackgroundFunctionIsolate(func) {
|
||||
const backgroundPage = chrome.extension.getBackgroundPage();
|
||||
return backgroundPage.utilFunctionIsolate(func);
|
||||
}
|
||||
|
||||
function utilBackend() {
|
||||
const backend = chrome.extension.getBackgroundPage().yomichanBackend;
|
||||
if (!backend.isPrepared()) {
|
||||
|
@ -192,6 +192,11 @@ const 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
|
||||
|
Loading…
Reference in New Issue
Block a user