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});          } |