53aaeb7a16
Closes #21666. This PR is fixing crashes caused by referencing and attempting to modify previously destroyed views. Before, when a view was destroyed and then the contents were referenced for modification, the system would crash as undefined memory was accessed. This fix explicitly makes the pointer to the destroyed view's contents null, so that this will not happen.
25 lines
676 B
JavaScript
25 lines
676 B
JavaScript
const { app, BrowserWindow, BrowserView } = require('electron');
|
|
const { expect } = require('chai');
|
|
|
|
function createWindow () {
|
|
// Create the browser window.
|
|
const mainWindow = new BrowserWindow({
|
|
width: 800,
|
|
height: 600,
|
|
webPreferences: {
|
|
nodeIntegration: true
|
|
}
|
|
});
|
|
const view = new BrowserView();
|
|
mainWindow.addBrowserView(view);
|
|
view.webContents.destroy();
|
|
view.setBounds({ x: 0, y: 0, width: 0, height: 0 });
|
|
const bounds = view.getBounds();
|
|
expect(bounds).to.deep.equal({ x: 0, y: 0, width: 0, height: 0 });
|
|
view.setBackgroundColor('#56cc5b10');
|
|
}
|
|
|
|
app.on('ready', () => {
|
|
createWindow();
|
|
setTimeout(() => app.quit());
|
|
});
|