How Chromium embedders depend on the GuestView / <webview> tag

726 views
Skip to first unread message

Łukasz Anforowicz

unread,
May 3, 2021, 12:39:04 PM5/3/21
to Chromium Embedders, James Maclean, Lucas Gadani, Kevin McNee, K. Moon, Alex Russell, Nasko Oskov, Charles Reis
Hello Chromium embedders!

I would like to learn more about your current usage of GuestView (GuestView allows for WebContents to be embedded - for example using the <webview> tag that Chrome Apps and chrome://… pages might use).  It seems that over the next few years Chromium might have a path to removing most of its internal dependencies on GuestView (e.g. possibly removing PDF dependency on MimeHandlerView, Chrome Apps deprecation).  Before we seriously start considering removing the GuestView code in the future, we wanted to first check how Chromium embedders might depend on the GuestView feature:

QUESTION: Could you please help us understand how you currently depend on the GuestView / <webview> tag?  What scenarios require this dependency and what properties/functionality of GuestView are most important for these scenarios?

Your feedback would be greatly appreciated.  One benefit to us would be getting a broader perspective on the value of various GuestView improvements (e.g. adding support for Site Isolation and Out-of-Process-IFrames inside GuestView) or the value of removing the GuestView code.  Another benefit would be understanding which properties/features of GuestView are most important, and whether some of them might be fulfilled by existing features of the open web or other architectural improvements like Multiple Page Architecture.

Thanks,

Lukasz (on behalf of the Chrome Security Architecture team)

Roger Wang

unread,
May 3, 2021, 1:51:39 PM5/3/21
to Łukasz Anforowicz, Chromium Embedders, James Maclean, Lucas Gadani, Kevin McNee, K. Moon, Alex Russell, Nasko Oskov, Charles Reis
Hello,

Thanks for the notification. NW.js / node-webkit creator here. I believe many applications developers are using the tag through NW.js. It gives them great support embedding 3rd party contents. It has more features and is easier to use than iframe.

Best regards,
Roger Wang

--
You received this message because you are subscribed to the Google Groups "Chromium Embedders" group.
To unsubscribe from this group and stop receiving emails from it, send an email to embedder-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/embedder-dev/c2d0c9bc-3ead-49c9-8a3f-2bfb73cf2171n%40chromium.org.

Kilian Valkhof

unread,
May 3, 2021, 3:34:02 PM5/3/21
to Chromium Embedders, wen...@gmail.com, Chromium Embedders, James Maclean, Lucas Gadani, Kevin McNee, K. Moon, Alex Russell, na...@chromium.org, cr...@chromium.org, Łukasz Anforowicz
Without the webview tag my application (polypane.app) would be near impossible, as it exposes functionality that would be impossible with iframes and near impossible with the Electron alternative of BrowserViews (which are webContents that do not live in the context of a page but are overlaid on top and controlled from the (Node.js) browser process).

Having a way to embed but also isolate* third party content in frames whose dimensions and properties can be controlled through a renderer process is crucial for me, and newer concepts like Portals are understandably not made with this use case in mind. This model of having a 'parent page' with webContents it can control but that behave as if they were stand alone is not necessarily an of-the-web and certainly has some security implications (as a user you need to trust the parent page, for one.) but it also unlocks an enormous amount of functionality.

* Some features, like devtools touch emulation, seem to cross this boundary regardless.

Fíla

unread,
May 5, 2021, 6:29:58 AM5/5/21
to Chromium Embedders, kilian...@gmail.com, wen...@gmail.com, Chromium Embedders, James Maclean, Lucas Gadani, Kevin McNee, K. Moon, Alex Russell, na...@chromium.org, cr...@chromium.org, Łukasz Anforowicz
Our company writes a web browser based on NWjs and uses webview, which is the key to full functionality.

Dne pondělí 3. května 2021 v 21:34:02 UTC+2 uživatel kilian...@gmail.com napsal:

Petter Nilsen

unread,
May 5, 2021, 7:43:13 AM5/5/21
to Chromium Embedders, Łukasz Anforowicz, James Maclean, Lucas Gadani, Kevin McNee, K. Moon, Alex Russell, na...@chromium.org, cr...@chromium.org
Vivaldi relies on the GuestView to host web contents within our web-based UI.  We obviously have some customizations and patches to archive this, but it's central to the browser. 

- Petter

Eryk Rakowski

unread,
Dec 2, 2021, 4:33:28 PM12/2/21
to Chromium Embedders, pet...@vivaldi.com, Łukasz Anforowicz, James Maclean, Lucas Gadani, Kevin McNee, K. Moon, Alex Russell, na...@chromium.org, cr...@chromium.org
We are using `<webview>` in Wexond (wexond.net) and it would be nearly impossible to implement this kind of layout using `views::WebView`. Our browser UI is written in web technologies and we leverage `<webview>` tag to host TabStrip-managed WebContents there.
Reply all
Reply to author
Forward
0 new messages