diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-02-16 11:59:17 -0500 |
---|---|---|
committer | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-02-16 12:00:56 -0500 |
commit | 42f1c2463c8051d9cbbcacd43f06922c2f11ec71 (patch) | |
tree | dfd3f2096bbd84704b52c942b231b5f19895f0f1 | |
parent | 912d59d3dfefde5738b4244d74d944795edcc02c (diff) |
Move generateId function
-rw-r--r-- | ext/fg/js/frontend-api-sender.js | 10 | ||||
-rw-r--r-- | ext/mixed/js/core.js | 10 |
2 files changed, 11 insertions, 9 deletions
diff --git a/ext/fg/js/frontend-api-sender.js b/ext/fg/js/frontend-api-sender.js index 93c2e593..8dc6aaf3 100644 --- a/ext/fg/js/frontend-api-sender.js +++ b/ext/fg/js/frontend-api-sender.js @@ -19,7 +19,7 @@ class FrontendApiSender { constructor() { - this.senderId = FrontendApiSender.generateId(16); + this.senderId = yomichan.generateId(16); this.ackTimeout = 3000; // 3 seconds this.responseTimeout = 10000; // 10 seconds this.callbacks = new Map(); @@ -123,12 +123,4 @@ class FrontendApiSender { info.timer = null; info.reject(new Error(reason)); } - - static generateId(length) { - let id = ''; - for (let i = 0; i < length; ++i) { - id += Math.floor(Math.random() * 256).toString(16).padStart(2, '0'); - } - return id; - } } diff --git a/ext/mixed/js/core.js b/ext/mixed/js/core.js index 2dd9cf40..b6ecb48b 100644 --- a/ext/mixed/js/core.js +++ b/ext/mixed/js/core.js @@ -257,6 +257,16 @@ const yomichan = (() => { // Public + generateId(length) { + const array = new Uint8Array(length); + window.crypto.getRandomValues(array); + let id = ''; + for (const value of array) { + id += value.toString(16).padStart(2, '0'); + } + return id; + } + triggerOrphaned(error) { this.trigger('orphaned', {error}); } |