зеркало из https://github.com/electron/electron.git
chore: remove test usages of createIDWeakMap (#24116)
This commit is contained in:
Родитель
8412aae231
Коммит
c0182bca15
|
@ -151,8 +151,6 @@ void Initialize(v8::Local<v8::Object> exports,
|
|||
"createDoubleIDWeakMap",
|
||||
&electron::api::KeyWeakMap<std::pair<std::string, int32_t>>::Create);
|
||||
#endif
|
||||
dict.SetMethod("createIDWeakMap",
|
||||
&electron::api::KeyWeakMap<int32_t>::Create);
|
||||
dict.SetMethod("requestGarbageCollectionForTesting",
|
||||
&RequestGarbageCollectionForTesting);
|
||||
dict.SetMethod("isSameOrigin", &IsSameOrigin);
|
||||
|
|
|
@ -71,15 +71,15 @@ describe('BrowserWindow module', () => {
|
|||
it('window does not get garbage collected when opened', (done) => {
|
||||
const w = new BrowserWindow({ show: false });
|
||||
// Keep a weak reference to the window.
|
||||
const map = v8Util.createIDWeakMap<Electron.BrowserWindow>();
|
||||
map.set(0, w);
|
||||
// eslint-disable-next-line no-undef
|
||||
const wr = new (globalThis as any).WeakRef(w);
|
||||
setTimeout(() => {
|
||||
// Do garbage collection, since |w| is not referenced in this closure
|
||||
// it would be gone after next call if there is no other reference.
|
||||
v8Util.requestGarbageCollectionForTesting();
|
||||
|
||||
setTimeout(() => {
|
||||
expect(map.has(0)).to.equal(true);
|
||||
expect(wr.deref()).to.not.be.undefined();
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
|
|
@ -841,18 +841,18 @@ describe('Menu module', function () {
|
|||
menu.popup({ window: w });
|
||||
|
||||
// Keep a weak reference to the menu.
|
||||
const v8Util = process.electronBinding('v8_util');
|
||||
const map = v8Util.createIDWeakMap<Electron.Menu>();
|
||||
map.set(0, menu);
|
||||
// eslint-disable-next-line no-undef
|
||||
const wr = new (globalThis as any).WeakRef(menu);
|
||||
|
||||
setTimeout(() => {
|
||||
// Do garbage collection, since |menu| is not referenced in this closure
|
||||
// it would be gone after next call.
|
||||
const v8Util = process.electronBinding('v8_util');
|
||||
v8Util.requestGarbageCollectionForTesting();
|
||||
setTimeout(() => {
|
||||
// Try to receive menu from weak reference.
|
||||
if (map.has(0)) {
|
||||
map.get(0)!.closePopup();
|
||||
if (wr.deref()) {
|
||||
wr.deref().closePopup();
|
||||
done();
|
||||
} else {
|
||||
done('Menu is garbage-collected while popuping');
|
||||
|
|
|
@ -38,7 +38,6 @@ declare namespace NodeJS {
|
|||
setHiddenValue<T>(obj: any, key: string, value: T): void;
|
||||
deleteHiddenValue(obj: any, key: string): void;
|
||||
requestGarbageCollectionForTesting(): void;
|
||||
createIDWeakMap<V>(): ElectronInternal.KeyWeakMap<number, V>;
|
||||
createDoubleIDWeakMap<V>(): ElectronInternal.KeyWeakMap<[string, number], V>;
|
||||
setRemoteCallbackFreer(fn: Function, frameId: number, contextId: String, id: number, sender: any): void
|
||||
weaklyTrackValue(value: any): void;
|
||||
|
|
Загрузка…
Ссылка в новой задаче