mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-23 08:38:06 +02:00
Simplify the getUuid
helper function
We can remove most feature testing from this helper function, with the exception of `randomUUID` since that's only available in "secure contexts", and also remove the fallback code-path. Note that this code was only added for Node.js compatibility, and it's no longer necessary now that the minimum support version is `20`; see also https://developer.mozilla.org/en-US/docs/Web/API/Crypto#browser_compatibility Finally, this patch also adds a basic unit-test for the helper function.
This commit is contained in:
parent
07765e993e
commit
c290a12ce1
2 changed files with 11 additions and 11 deletions
|
@ -1075,21 +1075,12 @@ function normalizeUnicode(str) {
|
|||
function getUuid() {
|
||||
if (
|
||||
(typeof PDFJSDev !== "undefined" && PDFJSDev.test("MOZCENTRAL")) ||
|
||||
(typeof crypto !== "undefined" && typeof crypto?.randomUUID === "function")
|
||||
typeof crypto.randomUUID === "function"
|
||||
) {
|
||||
return crypto.randomUUID();
|
||||
}
|
||||
const buf = new Uint8Array(32);
|
||||
if (
|
||||
typeof crypto !== "undefined" &&
|
||||
typeof crypto?.getRandomValues === "function"
|
||||
) {
|
||||
crypto.getRandomValues(buf);
|
||||
} else {
|
||||
for (let i = 0; i < 32; i++) {
|
||||
buf[i] = Math.floor(Math.random() * 255);
|
||||
}
|
||||
}
|
||||
crypto.getRandomValues(buf);
|
||||
return bytesToString(buf);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue