File: README.md

package info (click to toggle)
chromium 138.0.7204.157-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 6,071,864 kB
  • sloc: cpp: 34,936,859; ansic: 7,176,967; javascript: 4,110,704; python: 1,419,953; asm: 946,768; xml: 739,967; pascal: 187,324; sh: 89,623; perl: 88,663; objc: 79,944; sql: 50,304; cs: 41,786; fortran: 24,137; makefile: 21,806; php: 13,980; tcl: 13,166; yacc: 8,925; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (20 lines) | stat: -rw-r--r-- 1,948 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Guest View

Guest View is a mechanism for embedding a page inside another page. Unlike iframes, the embedded content has a distinct FrameTree. See the [FrameTree explainer](/docs/frame_trees.md) for details.

Guest View is the core implementation of several embedding features implemented
in the //extensions and //chrome layers. Notable examples include:

* The [<webview> tag](https://developer.chrome.com/docs/extensions/reference/webviewTag/), which allows Chrome Apps and WebUI pages to embed content from the web.
* [Controlled Frame](/chrome/common/controlled_frame/README.md), which is
implemented on top of the <webview> tag and is available in isolated
contexts. See https://github.com/WICG/controlled-frame for more information.
* MimeHandlerView, which allows certain MIME types to be loaded by an extension. There is a hard coded list of Mime Handler extensions: Chromium's PDF viewer and [QuickOffice](https://chrome.google.com/webstore/detail/gbkeegbaiigmenfmjfclcdgdpimamgkj).

Guest Views are currently implemented using [inner WebContents](https://docs.google.com/document/d/1q1wY2pISRjricWvJrIGSoKKXeVqytkkKpkjgUwe9dS8/edit?usp=sharing). By end of 2024, we plan to [migrate](https://crbug.com/1261928) Guest Views to use [MPArch](https://docs.google.com/document/d/1NginQ8k0w3znuwTiJ5qjYmBKgZDekvEPC22q0I4swxQ/edit?usp=sharing) like other features which nest FrameTrees.

For debugging <webview>, the [Browser Sample](https://chromewebstore.google.com/detail/edggnmnajhcbhlnpjnogkjpghaikidaa) [[source](https://github.com/GoogleChrome/chrome-extensions-samples/tree/main/_archive/apps/samples/webview-samples/browser)] app serves as a basic demo. To test Chrome Apps on platforms other than ChromeOS:

1. Run `chrome` with `--disable-features=ChromeAppsDeprecation`.
1. On `chrome://extensions/`, enable developer mode and load the app's source as an unpacked extension.
1. Open the app via `chrome://apps/`.