@@ -13,14 +13,14 @@ import { Session } from 'main/types'
1313import { isAutomated } from 'main/util'
1414import { join } from 'node:path'
1515import BaseController from '../Base'
16+ import { window as playbackWindowOpts } from 'browser/windows/PlaybackWindow/controller'
1617
1718const playbackWindowName = 'playback-window'
1819const playbackCSS = readFileSync ( join ( __dirname , 'highlight.css' ) , 'utf-8' )
1920const playbackWindowOptions = {
21+ ...playbackWindowOpts ( ) ,
2022 webPreferences : {
2123 devTools : ! isAutomated ,
22- nodeIntegration : false ,
23- nodeIntegrationInSubFrames : true ,
2424 preload : join ( __dirname , `playback-window-preload-bundle.js` ) ,
2525 } ,
2626}
@@ -53,13 +53,14 @@ const windowLoaderFactoryMap: WindowLoaderFactoryMap = Object.fromEntries(
5353 const windowConfig = window ( )
5454 const options : Electron . BrowserWindowConstructorOptions = {
5555 ...windowConfig ,
56+ ..._options ,
5657 webPreferences : {
5758 devTools : ! isAutomated ,
5859 ...( windowConfig ?. webPreferences ?? { } ) ,
5960 preload : hasPreload ? preloadPath : undefined ,
6061 sandbox : true ,
62+ ...( _options . webPreferences ?? { } )
6163 } ,
62- ..._options ,
6364 }
6465 const win = new BrowserWindow ( options )
6566 win . loadFile ( join ( __dirname , `${ filename } .html` ) )
@@ -162,7 +163,7 @@ export default class WindowsController extends BaseController {
162163 this . playbackWindows = [ ]
163164 }
164165
165- async get ( name : string ) : Promise < BrowserWindow > {
166+ get ( name : string ) : BrowserWindow {
166167 return this . windows [ name ]
167168 }
168169
@@ -388,7 +389,10 @@ export default class WindowsController extends BaseController {
388389 window . webContents . setWindowOpenHandler ( ( ) => {
389390 return {
390391 action : 'allow' ,
391- overrideBrowserWindowOptions : playbackWindowOptions ,
392+ overrideBrowserWindowOptions : {
393+ ...playbackWindowOptions ,
394+ parent : this . get ( projectEditorWindowName ) ,
395+ } ,
392396 }
393397 } )
394398
0 commit comments