← Back to release summary

Remove FencedFrame element and window.fence APIs

Category
Miscellaneous
Type
Feature removal
Status
Proposed (Chrome Proposed)
Intent stage
None

Summary

Fenced frames are nested frames that embed content onto a page without the ability to share data between the fenced frame and its embedder. window.fence APIs include Fenced frames Ads reporting (FFAR) JS APIs that were created for privacy-safe ads reporting from FFs created using Protected Audience and SelectURL and getNestedConfigs() to support PA component ads. This intent is for deprecating and removing both of these. With the removal (or stub API replacement) of PA and selectURL, FFs can no longer be navigated and thus it is safe to remove them. Fenced frames are only able to be navigated using the urn:uuid in a FencedFrameConfig[1], which can only be created using the return values from runAdAuction and selectURL. These APIs are being deprecated and removed in M152 as per the following Intent threads: Protected Audience[2], Shared Storage[3]. Plan: Given that the fenced frames element can no longer be navigated, we propose removing the element from the code in the following phases: 1. M154: Keep the fenced frame element and its associated IDL dependencies as stubs. This is to ensure no JS call throws, e.g.calling fenced-frame-element.config.setSharedStorageContext(). 2. M154: In the same milestone we will also remove the window.fence APIs completely. Since there is no FF document navigation, these APIs cannot be invoked anymore, so it will be a no-op. 3. M155 Canary/Beta: Begin a controlled rollout of the stub FF HTML element removal via a field trial. Note that removing the element will resolve it to HTMLUnknownElement. At this point we are requesting approvals for all of the above steps. 4. M155 Stable: Assuming there are no regressions or breakage after reaching 1% stable, we will request additional approval for full removal. [1]https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/html/fenced_frame/fenced_frame_config.idl [2]https://groups.google.com/a/chromium.org/g/blink-dev/c/k_nubsMb97g/m/awPD4IGLBAAJ [3]https://groups.google.com/a/chromium.org/g/blink-dev/c/uh5Ke6qyegc/m/WFTFnhyJBAAJ

Motivation

As described in the summary section, since fenced frames are no longer able to be navigated to a document, once PA and selectURL are removed, we should also remove FFs API for code health and removing unused APIs from the web platform.

Standards & signals

Explainers: https://github.com/WICG/fenced-frame/blob/master/explainer/README.md

View on chromestatus.com