Update bounds before adding BrowserView to window

This commit is contained in:
Max Goodhart
2020-11-11 22:30:24 -08:00
parent 6ea529c26f
commit 4648a07e15

View File

@@ -100,22 +100,22 @@ export default class StreamWindow extends EventEmitter {
this.viewActions = { this.viewActions = {
offscreenView: (context, event) => { offscreenView: (context, event) => {
const { view } = context const { view } = context
view.setBounds({ x: 0, y: 0, width, height })
// It appears necessary to initialize the browser view by adding it to a window and setting bounds. Otherwise, some streaming sites like Periscope will not load their videos due to the Page Visibility API being hidden. // It appears necessary to initialize the browser view by adding it to a window and setting bounds. Otherwise, some streaming sites like Periscope will not load their videos due to the Page Visibility API being hidden.
win.removeBrowserView(view) win.removeBrowserView(view)
offscreenWin.addBrowserView(view) offscreenWin.addBrowserView(view)
view.setBounds({ x: 0, y: 0, width, height })
}, },
positionView: (context, event) => { positionView: (context, event) => {
const { pos, view } = context const { pos, view } = context
view.setBounds(pos)
offscreenWin.removeBrowserView(view) offscreenWin.removeBrowserView(view)
win.addBrowserView(view) win.addBrowserView(view)
// It's necessary to remove and re-add the overlay view to ensure it's on top. // It's necessary to remove and re-add the overlay view to ensure it's on top.
win.removeBrowserView(overlayView) win.removeBrowserView(overlayView)
win.addBrowserView(overlayView) win.addBrowserView(overlayView)
view.setBounds(pos)
}, },
} }