tree: bd9c84076a2c2bd8e74749393afc7614c4ca4849 [path history] [tgz]
  1. browser/
  2. buildflags/
  3. common/
  4. renderer/
  5. COMMON_METADATA
  6. DIR_METADATA
  7. OWNERS
  8. README.md
components/guest_view/README.md

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 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, which allows Chrome Apps and WebUI pages to embed content from the web.
  • Controlled Frame, 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.

Guest Views are currently implemented using inner WebContents. By end of 2024, we plan to migrate Guest Views to use MPArch like other features which nest FrameTrees.

For debugging <webview>, the Browser Sample [source] app serves as a basic demo. To test Chrome Apps on platforms other than ChromeOS:

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