Document Picture-in-Picture: Always-on-top UI, powered by real HTML

The Document Picture-in-Picture API lets web apps open an always-on-top window you can fill with real HTML—ideal for timers, controls, and conferencing UI.
Content Index API: A Brief Overview

The Content Index API lets PWAs register offline-ready pages with the browser, making saved articles and other content easier to discover and manage.
Federated Credential Management (FedCM) API — a brief primer

Federated Credential Management (FedCM) is a browser-mediated sign-in API that enables “Sign in with…” flows without relying on third-party cookies. It standardizes the login experience, reduces cross-site tracking signals, and helps identity providers and relying parties deliver more reliable, privacy-preserving authentication.
The EyeDropper API: Pick Any Pixel Color on the Screen

The EyeDropper API lets web apps offer a browser-provided eyedropper mode so users can pick a color from any pixel on their screen—even outside the browser—using clear, user-driven controls.
Encrypted Media Extensions (EME): Decrypting Protected Video in the Browser

Encrypted Media Extensions (EME) is the web platform’s standard way to enable playback of encrypted, DRM-protected media in the browser. Rather than handling decryption directly, your application coordinates with the browser’s Content Decryption Module (CDM): it requests access to a media key system via Navigator.requestMediaKeySystemAccess(), attaches the resulting MediaKeys to a specific HTMLMediaElement with setMediaKeys(), and then manages the message exchange for licenses/keys through a MediaKeySession. When the media element encounters encrypted initialization data, it fires an encrypted event (represented by MediaEncryptedEvent), and the CDM can emit session messages (MediaKeyMessageEvent) that your app relays to whatever key infrastructure you use. EME is widely available across modern browsers and is typically restricted to secure contexts (HTTPS).
A Quick Tour of the Web Encoding API

Modern web apps live at the boundary between JavaScript strings and raw bytes. The Web Encoding API exists to make that boundary explicit and safe: it lets you encode a string into UTF‑8 bytes and decode bytes back into text. Importantly, these operations aren’t symmetrical—encoding targets UTF‑8, while decoding can interpret UTF‑8 and many legacy encodings. Alongside the synchronous TextEncoder and TextDecoder, the platform also provides stream-based variants for processing text incrementally as data arrives.
EditContext API: A New Foundation for Custom Web Editors

The experimental EditContext API gives developers a new foundation for building custom rich text editors by separating text input and selection from rendering. Instead of relying on contenteditable, you attach an EditContext to a focusable element and manage your own text model, selection state, and UI updates—while still receiving browser-grade events for typing, caret movement, and IME composition. This demo highlights the core event flow and why character bounds matter for accurate input UI, especially in custom-rendered editors.
Device Posture API: Detect Foldable Screen Posture on Web

The Device Posture API helps web apps adapt to foldable devices by detecting whether a screen is continuous or folded and reacting to posture changes.
Device Orientation Events: Turning Phone Tilt into UI (A Tiny Demo Walkthrough)

Device Orientation Events let web apps read a phone’s real-world tilt and rotation. This demo streams alpha/beta/gamma values, smooths jitter, and maps motion to a 3D box—while handling HTTPS requirements and iOS permission prompts.
Right‑sizing experiences with the Device Memory API

Use the Device Memory API to bucket users by RAM and serve right‑sized images and effects. It’s a coarse, privacy‑friendly hint for progressive enhancement.