From 0ecea96048e8696b0f63431857d17c1bd30e9570 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Sat, 1 Sep 2018 05:53:13 +0900 Subject: [PATCH] fix: use flexbox to style webview (#14400) * fix: use flexbox to style webview * docs: remove notes on browserplugin based webview --- docs/api/webview-tag.md | 25 +++---------------------- lib/renderer/web-view/web-view.js | 3 +-- 2 files changed, 4 insertions(+), 24 deletions(-) diff --git a/docs/api/webview-tag.md b/docs/api/webview-tag.md index 6893d2f4adb3..4160b9a76f88 100644 --- a/docs/api/webview-tag.md +++ b/docs/api/webview-tag.md @@ -79,30 +79,11 @@ examples: ## CSS Styling Notes Please note that the `webview` tag's style uses `display:flex;` internally to -ensure the child `object` element fills the full height and width of its `webview` -container when used with traditional and flexbox layouts (since v0.36.11). Please -do not overwrite the default `display:flex;` CSS property, unless specifying +ensure the child `iframe` element fills the full height and width of its `webview` +container when used with traditional and flexbox layouts. Please do not +overwrite the default `display:flex;` CSS property, unless specifying `display:inline-flex;` for inline layout. -`webview` has issues being hidden using the `hidden` attribute or using -`display: none;`. It can cause unusual rendering behaviour within its child -`browserplugin` object and the web page is reloaded when the `webview` is -un-hidden. The recommended approach is to hide the `webview` using -`visibility: hidden`. - -```html - -``` - ## Tag Attributes The `webview` tag has the following attributes: diff --git a/lib/renderer/web-view/web-view.js b/lib/renderer/web-view/web-view.js index 0bd2c4afc36c..3c0e2e20a8c1 100644 --- a/lib/renderer/web-view/web-view.js +++ b/lib/renderer/web-view/web-view.js @@ -61,8 +61,7 @@ class WebViewImpl { createInternalElement () { const iframeElement = document.createElement('iframe') - iframeElement.style.width = '100%' - iframeElement.style.height = '100%' + iframeElement.style.flex = '1 1 auto' iframeElement.style.border = '0' v8Util.setHiddenValue(iframeElement, 'internal', this) return iframeElement