(tabView: WaveTabView, primaryStartupTab: boolean)
| 403 | } |
| 404 | |
| 405 | private async initializeTab(tabView: WaveTabView, primaryStartupTab: boolean) { |
| 406 | const clientId = await getClientId(); |
| 407 | await this.awaitWithDevTimeout(tabView.initPromise, "initPromise", tabView.waveTabId); |
| 408 | const winBounds = this.getContentBounds(); |
| 409 | tabView.setBounds({ x: 0, y: 0, width: winBounds.width, height: winBounds.height }); |
| 410 | this.contentView.addChildView(tabView); |
| 411 | const initOpts: WaveInitOpts = { |
| 412 | tabId: tabView.waveTabId, |
| 413 | clientId: clientId, |
| 414 | windowId: this.waveWindowId, |
| 415 | activate: true, |
| 416 | }; |
| 417 | if (primaryStartupTab) { |
| 418 | initOpts.primaryTabStartup = true; |
| 419 | } |
| 420 | tabView.savedInitOpts = { ...initOpts }; |
| 421 | tabView.savedInitOpts.activate = false; |
| 422 | delete tabView.savedInitOpts.primaryTabStartup; |
| 423 | const startTime = Date.now(); |
| 424 | console.log( |
| 425 | "before wave ready, init tab, sending wave-init", |
| 426 | tabView.waveTabId, |
| 427 | primaryStartupTab ? "(primary startup)" : "" |
| 428 | ); |
| 429 | tabView.webContents.send("wave-init", initOpts); |
| 430 | await this.awaitWithDevTimeout(tabView.waveReadyPromise, "waveReadyPromise", tabView.waveTabId); |
| 431 | console.log("wave-ready init time", Date.now() - startTime + "ms"); |
| 432 | } |
| 433 | |
| 434 | private async awaitWithDevTimeout<T>(promise: Promise<T>, name: string, tabId: string): Promise<T> { |
| 435 | if (!isDev) { |
no test coverage detected