Intent to Ship: Web Printing API

450 views
Skip to first unread message

Chromestatus

unread,
Feb 11, 2026, 4:24:27 PM (2 days ago) Feb 11
to blin...@chromium.org, byl...@google.com, green...@google.com
Contact emails
green...@google.com, byl...@google.com

Explainer
https://github.com/WICG/web-printing

Specification
https://wicg.github.io/web-printing

Summary
Enables deeper integration with printer-related functionality in Isolated Web Apps. This API is targeted at Isolated Web Apps only and it's following the https://www.chromium.org/blink/launching-features/isolated-web-apps/ process. This API provides a set of JavaScript methods that allow developers to query local printers, submit print jobs to the most appropriate printers, and manage print job options and status. To represent these concepts, it relies on the attribute names and semantics from the Internet Printing Protocol (IPP) specifications.

Blink component
Blink

Web Feature ID
No information provided

Motivation
The Web Printing API strives to improve the general printing experience with a primary focus on remote/virtual desktop systems by providing a seamless way for remote clients to interact with printers directly in Isolated Web Apps. The proposed API methods unlock proper printer forwarding by allowing the remote client to access essential information about printers on the near side. This eliminates the need for tedious manual configuration, such as setting up virtual printers, and excessive user interactions such as having to click through print job settings twice (once on the remote side & once locally). It also enables remote document rendering to be tailored to the capabilities of the local printer.

Initial public proposal
https://github.com/WICG/proposals/issues/120

TAG review
https://github.com/w3ctag/design-reviews/issues/910

TAG review status
Pending

Risks


Interoperability and Compatibility
Other browser may choose to implement this API.

Gecko: No signal

WebKit: No signal

Web developers: Positive (https://github.com/WICG/proposals/issues/120#issuecomment-1752979770) Positive feedback from Citrix.

Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

No information provided


Debuggability
No information provided

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
No

Is this feature fully tested by web-platform-tests?
No
Web Platform Tests are planned for the cross-platform launch. Creating Web Platform Tests will be complicated because this API connects to physical devices and this would require extensions to BiDi driver API.

Flag name on about://flags
enable-printing-web-api

Finch feature name
WebPrinting

Rollout plan
Will ship enabled for all users

Requires code in //chrome?
True

Tracking bug
https://b.corp.google.com/issues/302505962

Launch bug
https://launch.corp.google.com/launch/4427089

Estimated milestones
Shipping on desktop147


Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).

No information provided

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5100352332627968?gate=5186894732460032

Links to previous Intent discussions
Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACZWnOqSBA6cxpngy5cutJz9051RLAGgHzmHMijwvDuRTvD0Mw%40mail.gmail.com


This intent message was generated by Chrome Platform Status.

Rick Byers

unread,
Feb 11, 2026, 8:42:42 PM (2 days ago) Feb 11
to Chromestatus, blin...@chromium.org, byl...@google.com, green...@google.com
LGTM1 as an IWA API.

On Wed, Feb 11, 2026 at 4:24 PM Chromestatus <ad...@cr-status.appspotmail.com> wrote:
Contact emails
green...@google.com, byl...@google.com

Explainer
https://github.com/WICG/web-printing

Specification
https://wicg.github.io/web-printing

Summary
Enables deeper integration with printer-related functionality in Isolated Web Apps. This API is targeted at Isolated Web Apps only and it's following the https://www.chromium.org/blink/launching-features/isolated-web-apps/ process. This API provides a set of JavaScript methods that allow developers to query local printers, submit print jobs to the most appropriate printers, and manage print job options and status. To represent these concepts, it relies on the attribute names and semantics from the Internet Printing Protocol (IPP) specifications.

Blink component
Blink

Perhaps we should create a component for all IWA APIs or something? We regularly triage bugs out of the top-level Blink component so it's not a permanent home for any bugs.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/698cf37f.710a0220.13b4f7.050d.GAE%40google.com.

Mike Taylor

unread,
Feb 12, 2026, 9:52:07 AM (2 days ago) Feb 12
to Rick Byers, Chromestatus, blin...@chromium.org, byl...@google.com, green...@google.com, iwa-dev

Vladimir Levin

unread,
Feb 12, 2026, 9:55:48 AM (2 days ago) Feb 12
to Mike Taylor, Rick Byers, Chromestatus, blin...@chromium.org, byl...@google.com, green...@google.com, iwa-dev
LGTM3

On Thu, Feb 12, 2026 at 9:51 AM Mike Taylor <mike...@chromium.org> wrote:

cc iwa-dev@ per https://www.chromium.org/blink/launching-features/isolated-web-apps/#step-6-prepare-to-ship

LGTM2

On 2/11/26 8:42 p.m., Rick Byers wrote:
LGTM1 as an IWA API.

On Wed, Feb 11, 2026 at 4:24 PM Chromestatus <ad...@cr-status.appspotmail.com> wrote:
Contact emails
green...@google.com, byl...@google.com

Explainer
https://github.com/WICG/web-printing

Specification
https://wicg.github.io/web-printing

Summary
Enables deeper integration with printer-related functionality in Isolated Web Apps. This API is targeted at Isolated Web Apps only and it's following the https://www.chromium.org/blink/launching-features/isolated-web-apps/ process. This API provides a set of JavaScript methods that allow developers to query local printers, submit print jobs to the most appropriate printers, and manage print job options and status. To represent these concepts, it relies on the attribute names and semantics from the Internet Printing Protocol (IPP) specifications.

Blink component
Blink

Perhaps we should create a component for all IWA APIs or something? We regularly triage bugs out of the top-level Blink component so it's not a permanent home for any bugs.
+1 

Chris Harrelson

unread,
Feb 12, 2026, 9:55:53 AM (2 days ago) Feb 12
to Mike Taylor, Rick Byers, Chromestatus, blin...@chromium.org, byl...@google.com, green...@google.com, iwa-dev

Reilly Grant

unread,
Feb 13, 2026, 10:13:26 PM (2 hours ago) Feb 13
to Chris Harrelson, Mike Taylor, Rick Byers, Chromestatus, blin...@chromium.org, byl...@google.com, green...@google.com, iwa-dev
IWA OWNER LGTM (reluctantly)

I am not convinced that this API absolutely requires the restrictions of an isolated context. There are essentially three components:
  1. An API for enumerating the printers available on the system and their capabilities.
  2. An API for submitting a print job directly.
  3. An API for configuring printing options.
(1) is roughly equivalent to the capabilities of other APIs such as getUserMedia(). While exposing information about a user's connected peripherals raises privacy concerns, many APIs successfully balance providing the necessary device capabilities with user control and privacy. (2) is generally equivalent to the window.print() method, but it directly consumes a PDF rather than requiring the content to be loaded first (such as in a hidden <iframe>). (3) provides opportunities for abuse but can be mitigated with sufficient user control.

Overall it seems that with sufficient design work this API could be safely exposed to the web platform. However, given the limited scenarios requiring this capability and the desire for a seamless experience (in other words, fewer prompts) it makes sense to provide this combined set of capabilities under a single API restricted to isolated contexts. I recommend the specification authors continue to collect developer feedback and consider shipping a more limited subset of this API to the web if developer demand exists.

Please create a dedicated issue tracker component for this feature.
Reilly Grant | Software Engineer | rei...@chromium.org | Google Chrome


Reply all
Reply to author
Forward
0 new messages