feat: add multi BrowserView support to BrowserWindow (#16148)
* feat: add multi BrowserView support to BrowserWindow Add functions addBrowserView, removeBroserView, getBrowserViews to BrowserWindow class. Existing API as setBrowserView and getBrowserView code replaced to use new api inside. * fix: for lint and osx compile errors * fix: lint error in test code * feat: add multi BrowserView support to BrowserWindow Add functions addBrowserView, removeBroserView, getBrowserViews to BrowserWindow class. Existing API as setBrowserView and getBrowserView code replaced to use new api inside. * fix: for lint and osx compile errors * fix: lint error in test code * fix: method to be accessible on mac api impl * fix: missed function declarations for mac impl * fix: use base class reset function
This commit is contained in:
parent
18ca4b6a3a
commit
5ae3d1a1b2
12 changed files with 244 additions and 74 deletions
|
@ -132,6 +132,54 @@ describe('BrowserView module', () => {
|
|||
})
|
||||
})
|
||||
|
||||
describe('BrowserWindow.addBrowserView()', () => {
|
||||
it('does not throw for valid args', () => {
|
||||
let view1 = new BrowserView()
|
||||
w.addBrowserView(view1)
|
||||
let view2 = new BrowserView()
|
||||
w.addBrowserView(view2)
|
||||
view1.destroy()
|
||||
view1 = null
|
||||
view2.destroy()
|
||||
view2 = null
|
||||
})
|
||||
it('does not throw if called multiple times with same view', () => {
|
||||
view = new BrowserView()
|
||||
w.addBrowserView(view)
|
||||
w.addBrowserView(view)
|
||||
w.addBrowserView(view)
|
||||
})
|
||||
})
|
||||
|
||||
describe('BrowserWindow.removeBrowserView()', () => {
|
||||
it('does not throw if called multiple times with same view', () => {
|
||||
view = new BrowserView()
|
||||
w.addBrowserView(view)
|
||||
w.removeBrowserView(view)
|
||||
w.removeBrowserView(view)
|
||||
})
|
||||
})
|
||||
|
||||
describe('BrowserWindow.getBrowserViews()', () => {
|
||||
it('returns same views as was added', () => {
|
||||
let view1 = new BrowserView()
|
||||
w.addBrowserView(view1)
|
||||
let view2 = new BrowserView()
|
||||
w.addBrowserView(view2)
|
||||
|
||||
expect(view1.id).to.be.not.null()
|
||||
const views = w.getBrowserViews()
|
||||
expect(views.length).to.equal(2)
|
||||
expect(views[0].webContents.id).to.equal(view1.webContents.id)
|
||||
expect(views[1].webContents.id).to.equal(view2.webContents.id)
|
||||
|
||||
view1.destroy()
|
||||
view1 = null
|
||||
view2.destroy()
|
||||
view2 = null
|
||||
})
|
||||
})
|
||||
|
||||
describe('BrowserView.webContents.getOwnerBrowserWindow()', () => {
|
||||
it('points to owning window', () => {
|
||||
view = new BrowserView()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue