@lvce-editor/renderer-process 30.68.14 → 30.68.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/rendererProcessMain.js +51 -13
- package/package.json +1 -1
|
@@ -1464,20 +1464,32 @@ const createClient = url => {
|
|
|
1464
1464
|
const commandMapRef = {};
|
|
1465
1465
|
|
|
1466
1466
|
const workers$1 = new Map();
|
|
1467
|
+
const metadataById = new Map();
|
|
1467
1468
|
const state$n = {
|
|
1468
1469
|
generation: 0,
|
|
1469
1470
|
nextId: 0
|
|
1470
1471
|
};
|
|
1471
1472
|
const getGeneration = () => state$n.generation;
|
|
1472
|
-
const createRuntimeName = name => {
|
|
1473
|
+
const createRuntimeName = (name, parentName) => {
|
|
1473
1474
|
state$n.nextId++;
|
|
1474
1475
|
const id = `worker-${state$n.nextId}`;
|
|
1475
1476
|
const runtimeId = `worker-${String(state$n.nextId).padStart(2, '0')}`;
|
|
1476
|
-
|
|
1477
|
+
let parent;
|
|
1478
|
+
if (parentName) {
|
|
1479
|
+
parent = metadataById.values().find(worker => worker.name === parentName);
|
|
1480
|
+
} else if (name !== 'Renderer Worker') {
|
|
1481
|
+
parent = metadataById.values().find(worker => worker.name === 'Renderer Worker');
|
|
1482
|
+
}
|
|
1483
|
+
const metadata = {
|
|
1477
1484
|
id,
|
|
1478
1485
|
name,
|
|
1486
|
+
...(parent && {
|
|
1487
|
+
parentId: parent.id
|
|
1488
|
+
}),
|
|
1479
1489
|
runtimeName: `[${runtimeId}] ${name}`
|
|
1480
1490
|
};
|
|
1491
|
+
metadataById.set(id, metadata);
|
|
1492
|
+
return metadata;
|
|
1481
1493
|
};
|
|
1482
1494
|
const track = (worker, startedIn = state$n.generation, trackedWorker) => {
|
|
1483
1495
|
if (startedIn !== state$n.generation) {
|
|
@@ -1488,10 +1500,16 @@ const track = (worker, startedIn = state$n.generation, trackedWorker) => {
|
|
|
1488
1500
|
return;
|
|
1489
1501
|
}
|
|
1490
1502
|
const metadata = trackedWorker || createRuntimeName(worker.name || 'Worker');
|
|
1503
|
+
metadataById.set(metadata.id, metadata);
|
|
1491
1504
|
workers$1.set(worker, metadata);
|
|
1492
1505
|
};
|
|
1493
1506
|
const remove$5 = worker => {
|
|
1507
|
+
const metadata = workers$1.get(worker);
|
|
1494
1508
|
workers$1.delete(worker);
|
|
1509
|
+
if (metadata) metadataById.delete(metadata.id);
|
|
1510
|
+
};
|
|
1511
|
+
const discard = metadata => {
|
|
1512
|
+
metadataById.delete(metadata.id);
|
|
1495
1513
|
};
|
|
1496
1514
|
const terminate$1 = id => {
|
|
1497
1515
|
for (const [worker, metadata] of workers$1) {
|
|
@@ -1500,6 +1518,7 @@ const terminate$1 = id => {
|
|
|
1500
1518
|
// that requested termination and refresh the list.
|
|
1501
1519
|
if (metadata.name === 'Workers View Worker') return false;
|
|
1502
1520
|
workers$1.delete(worker);
|
|
1521
|
+
metadataById.delete(metadata.id);
|
|
1503
1522
|
worker.terminate();
|
|
1504
1523
|
return true;
|
|
1505
1524
|
}
|
|
@@ -1510,6 +1529,7 @@ const terminateAll = () => {
|
|
|
1510
1529
|
state$n.generation++;
|
|
1511
1530
|
const retiring = workers$1.keys().toArray();
|
|
1512
1531
|
workers$1.clear();
|
|
1532
|
+
metadataById.clear();
|
|
1513
1533
|
for (const worker of retiring) {
|
|
1514
1534
|
worker.terminate();
|
|
1515
1535
|
}
|
|
@@ -1550,6 +1570,7 @@ const launchWorker = async ({
|
|
|
1550
1570
|
trackRpc(rpc, generation, trackedWorker);
|
|
1551
1571
|
return success(rpc);
|
|
1552
1572
|
} catch (error) {
|
|
1573
|
+
discard(trackedWorker);
|
|
1553
1574
|
return error$1(error);
|
|
1554
1575
|
}
|
|
1555
1576
|
};
|
|
@@ -3389,6 +3410,14 @@ const setDimension = ($Element, key, value) => {
|
|
|
3389
3410
|
$Element[key] = value;
|
|
3390
3411
|
return;
|
|
3391
3412
|
}
|
|
3413
|
+
if ($Element instanceof HTMLCanvasElement) {
|
|
3414
|
+
const attributeValue = String(value);
|
|
3415
|
+
if ($Element.getAttribute(key) !== attributeValue) {
|
|
3416
|
+
// IDL dimension setters throw after transferControlToOffscreen().
|
|
3417
|
+
// Attributes still reflect dimensions without selecting a context.
|
|
3418
|
+
$Element.setAttribute(key, attributeValue);
|
|
3419
|
+
}
|
|
3420
|
+
}
|
|
3392
3421
|
$Element.style[key] = typeof value === 'number' ? `${value}px` : value;
|
|
3393
3422
|
};
|
|
3394
3423
|
const setPixelStyle = ($Element, key, value) => {
|
|
@@ -4482,23 +4511,30 @@ const clear$2 = () => {
|
|
|
4482
4511
|
const create$w = async ({
|
|
4483
4512
|
id,
|
|
4484
4513
|
name,
|
|
4514
|
+
parentName,
|
|
4485
4515
|
port,
|
|
4486
4516
|
raw,
|
|
4487
4517
|
rpcId,
|
|
4488
4518
|
url
|
|
4489
4519
|
}, createTransferredRpc = create$C, createNativeRpc = create$D) => {
|
|
4490
4520
|
const generation = getGeneration();
|
|
4491
|
-
const trackedWorker = createRuntimeName(name || 'Worker');
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
|
-
|
|
4496
|
-
|
|
4497
|
-
|
|
4498
|
-
|
|
4499
|
-
|
|
4500
|
-
|
|
4501
|
-
|
|
4521
|
+
const trackedWorker = createRuntimeName(name || 'Worker', parentName);
|
|
4522
|
+
let rpc;
|
|
4523
|
+
try {
|
|
4524
|
+
rpc = await (rpcId === undefined ? createTransferredRpc({
|
|
4525
|
+
commandMap: {},
|
|
4526
|
+
name: trackedWorker.runtimeName,
|
|
4527
|
+
port,
|
|
4528
|
+
url
|
|
4529
|
+
}) : createNativeRpc({
|
|
4530
|
+
commandMap: {},
|
|
4531
|
+
name: trackedWorker.runtimeName,
|
|
4532
|
+
url
|
|
4533
|
+
}));
|
|
4534
|
+
} catch (error) {
|
|
4535
|
+
discard(trackedWorker);
|
|
4536
|
+
throw error;
|
|
4537
|
+
}
|
|
4502
4538
|
if (rpcId !== undefined) {
|
|
4503
4539
|
await rpc.invokeAndTransfer('initialize', 'message-port', port);
|
|
4504
4540
|
registerRpc(rpcId, rpc);
|
|
@@ -4506,6 +4542,8 @@ const create$w = async ({
|
|
|
4506
4542
|
const worker = rpc.ipc?._rawIpc;
|
|
4507
4543
|
if (worker) {
|
|
4508
4544
|
track(worker, generation, trackedWorker);
|
|
4545
|
+
} else {
|
|
4546
|
+
discard(trackedWorker);
|
|
4509
4547
|
}
|
|
4510
4548
|
if (typeof id === 'number' && raw && worker) {
|
|
4511
4549
|
set$7(id, worker);
|