diff options
Diffstat (limited to 'src/components/services/content/ServiceWebview.js')
-rw-r--r-- | src/components/services/content/ServiceWebview.js | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/components/services/content/ServiceWebview.js b/src/components/services/content/ServiceWebview.js index 647e31d52..e6ebb6afb 100644 --- a/src/components/services/content/ServiceWebview.js +++ b/src/components/services/content/ServiceWebview.js | |||
@@ -38,6 +38,13 @@ class ServiceWebview extends Component { | |||
38 | detachService({ service }); | 38 | detachService({ service }); |
39 | } | 39 | } |
40 | 40 | ||
41 | refocusWebview = () => { | ||
42 | const { webview } = this; | ||
43 | if (!webview) return; | ||
44 | webview.view.blur(); | ||
45 | webview.view.focus(); | ||
46 | }; | ||
47 | |||
41 | render() { | 48 | render() { |
42 | const { | 49 | const { |
43 | service, | 50 | service, |
@@ -46,7 +53,12 @@ class ServiceWebview extends Component { | |||
46 | 53 | ||
47 | return ( | 54 | return ( |
48 | <ElectronWebView | 55 | <ElectronWebView |
49 | ref={(webview) => { this.webview = webview; }} | 56 | ref={(webview) => { |
57 | this.webview = webview; | ||
58 | if (webview && webview.view) { | ||
59 | webview.view.addEventListener('did-stop-loading', this.refocusWebview); | ||
60 | } | ||
61 | }} | ||
50 | autosize | 62 | autosize |
51 | src={service.url} | 63 | src={service.url} |
52 | preload="./webview/recipe.js" | 64 | preload="./webview/recipe.js" |
@@ -59,6 +71,7 @@ class ServiceWebview extends Component { | |||
59 | }} | 71 | }} |
60 | onUpdateTargetUrl={this.updateTargetUrl} | 72 | onUpdateTargetUrl={this.updateTargetUrl} |
61 | useragent={service.userAgent} | 73 | useragent={service.userAgent} |
74 | disablewebsecurity={service.recipe.disablewebsecurity} | ||
62 | allowpopups | 75 | allowpopups |
63 | /> | 76 | /> |
64 | ); | 77 | ); |