refactor: use native WeakRef instead of v8util.weaklyTrackValue() (#31153)
This commit is contained in:
parent
a5f1fbdc54
commit
80577a4f08
3 changed files with 6 additions and 35 deletions
|
@ -615,11 +615,11 @@ describe('contextBridge', () => {
|
|||
if (!useSandbox) {
|
||||
it('should release the global hold on methods sent across contexts', async () => {
|
||||
await makeBindingWindow(() => {
|
||||
require('electron').ipcRenderer.on('get-gc-info', (e: Electron.IpcRendererEvent) => e.sender.send('gc-info', { trackedValues: process._linkedBinding('electron_common_v8_util').getWeaklyTrackedValues().length }));
|
||||
const { weaklyTrackValue } = process._linkedBinding('electron_common_v8_util');
|
||||
const trackedValues: WeakRef<object>[] = [];
|
||||
require('electron').ipcRenderer.on('get-gc-info', e => e.sender.send('gc-info', { trackedValues: trackedValues.filter(value => value.deref()).length }));
|
||||
contextBridge.exposeInMainWorld('example', {
|
||||
getFunction: () => () => 123,
|
||||
track: weaklyTrackValue
|
||||
track: (value: object) => { trackedValues.push(new WeakRef(value)); }
|
||||
});
|
||||
});
|
||||
await callWithBindings(async (root: any) => {
|
||||
|
@ -643,11 +643,11 @@ describe('contextBridge', () => {
|
|||
if (useSandbox) {
|
||||
it('should not leak the global hold on methods sent across contexts when reloading a sandboxed renderer', async () => {
|
||||
await makeBindingWindow(() => {
|
||||
require('electron').ipcRenderer.on('get-gc-info', e => e.sender.send('gc-info', { trackedValues: process._linkedBinding('electron_common_v8_util').getWeaklyTrackedValues().length }));
|
||||
const { weaklyTrackValue } = process._linkedBinding('electron_common_v8_util');
|
||||
const trackedValues: WeakRef<object>[] = [];
|
||||
require('electron').ipcRenderer.on('get-gc-info', e => e.sender.send('gc-info', { trackedValues: trackedValues.filter(value => value.deref()).length }));
|
||||
contextBridge.exposeInMainWorld('example', {
|
||||
getFunction: () => () => 123,
|
||||
track: weaklyTrackValue
|
||||
track: (value: object) => { trackedValues.push(new WeakRef(value)); }
|
||||
});
|
||||
require('electron').ipcRenderer.send('window-ready-for-tasking');
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue