refactor: ginify BrowserView (#23578)

This commit is contained in:
Jeremy Rose 2020-07-09 08:48:39 -07:00 committed by GitHub
parent 66d65a6d35
commit 9bd0fc5348
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 128 additions and 165 deletions

View file

@ -9,7 +9,7 @@ import { AddressInfo } from 'net';
import { app, BrowserWindow, BrowserView, ipcMain, OnBeforeSendHeadersListenerDetails, protocol, screen, webContents, session, WebContents } from 'electron/main';
import { emittedOnce, emittedUntil } from './events-helpers';
import { ifit, ifdescribe, delay } from './spec-helpers';
import { ifit, ifdescribe, defer, delay } from './spec-helpers';
import { closeWindow, closeAllWindows } from './window-helpers';
const features = process._linkedBinding('electron_common_features');
@ -1518,16 +1518,19 @@ describe('BrowserWindow module', () => {
const w = new BrowserWindow({ show: false });
const bv = new BrowserView();
w.setBrowserView(bv);
defer(() => {
w.removeBrowserView(bv);
(bv.webContents as any).destroy();
});
expect(BrowserWindow.fromBrowserView(bv)!.id).to.equal(w.id);
// if BrowserView isn't explicitly destroyed, it will crash in GC later
bv.destroy();
});
it('returns undefined if not attached', () => {
const bv = new BrowserView();
defer(() => {
(bv.webContents as any).destroy();
});
expect(BrowserWindow.fromBrowserView(bv)).to.be.null('BrowserWindow associated with bv');
// if BrowserView isn't explicitly destroyed, it will crash in GC later
bv.destroy();
});
});