|
@@ -197,8 +197,8 @@ class WebViewImpl {
|
|
|
}
|
|
|
|
|
|
// Registers <webview> custom element.
|
|
|
-const registerWebViewElement = function () {
|
|
|
- const proto = Object.create(HTMLObjectElement.prototype)
|
|
|
+const registerWebViewElement = (window) => {
|
|
|
+ const proto = Object.create(window.HTMLObjectElement.prototype)
|
|
|
proto.createdCallback = function () {
|
|
|
return new WebViewImpl(this)
|
|
|
}
|
|
@@ -352,7 +352,7 @@ const registerWebViewElement = function () {
|
|
|
this.contentWindow.focus()
|
|
|
}
|
|
|
|
|
|
- window.WebView = webFrame.registerEmbedderCustomElement('webview', {
|
|
|
+ window.WebView = webFrame.registerEmbedderCustomElement(window, 'webview', {
|
|
|
prototype: proto
|
|
|
})
|
|
|
|
|
@@ -364,16 +364,17 @@ const registerWebViewElement = function () {
|
|
|
delete proto.attributeChangedCallback
|
|
|
}
|
|
|
|
|
|
-const useCapture = true
|
|
|
+const setupWebView = (window) => {
|
|
|
+ require('@electron/internal/renderer/web-view/web-view-attributes')
|
|
|
|
|
|
-const listener = function (event) {
|
|
|
- if (document.readyState === 'loading') {
|
|
|
- return
|
|
|
- }
|
|
|
- registerWebViewElement()
|
|
|
- window.removeEventListener(event.type, listener, useCapture)
|
|
|
+ const useCapture = true
|
|
|
+ window.addEventListener('readystatechange', function listener (event) {
|
|
|
+ if (document.readyState === 'loading') {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ registerWebViewElement(window)
|
|
|
+ window.removeEventListener(event.type, listener, useCapture)
|
|
|
+ }, useCapture)
|
|
|
}
|
|
|
|
|
|
-window.addEventListener('readystatechange', listener, true)
|
|
|
-
|
|
|
-module.exports = WebViewImpl
|
|
|
+module.exports = { setupWebView, WebViewImpl }
|