From 7572479b696cc6ddb6955a83f4db64f09762629c Mon Sep 17 00:00:00 2001 From: Philip Rogers Date: Mon, 13 May 2024 14:28:39 -0700 Subject: [PATCH] Add WPT coverage of Sec-CH-Width This patch adds WPT coverage of Sec-CH-Width: https://wicg.github.io/responsive-image-client-hints/#sec-ch-width Bug: 335630145 Change-Id: I329d39c8d0d259e9226e64468a083513c555322b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5523418 Reviewed-by: Traian Captan Commit-Queue: Philip Rogers Cr-Commit-Position: refs/heads/main@{#1300292} --- .../2x3-svg-scaled-by-sec-ch-width.py | 22 +++++++++++++++++++ client-hints/sec-ch-width.https.html | 18 +++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 client-hints/resources/2x3-svg-scaled-by-sec-ch-width.py create mode 100644 client-hints/sec-ch-width.https.html diff --git a/client-hints/resources/2x3-svg-scaled-by-sec-ch-width.py b/client-hints/resources/2x3-svg-scaled-by-sec-ch-width.py new file mode 100644 index 00000000000000..d53574c361213d --- /dev/null +++ b/client-hints/resources/2x3-svg-scaled-by-sec-ch-width.py @@ -0,0 +1,22 @@ +def main(request, response): + """ + Simple handler that responds with an SVG image with width `2 * sec-ch-width` + and height `3 * sec-ch-width`, or 1x1 if sec-ch-width is not present. + """ + + width = 1 + height = 1 + + if b"sec-ch-width" in request.headers: + sec_ch_width = request.headers.get(b"sec-ch-width").decode() + width = 2 * int(sec_ch_width) + height = 3 * int(sec_ch_width) + + response.headers.set(b"Content-Type", b"image/svg+xml") + response.content = str.encode(f""" + + """) diff --git a/client-hints/sec-ch-width.https.html b/client-hints/sec-ch-width.https.html new file mode 100644 index 00000000000000..f44fa3bb5e1c6f --- /dev/null +++ b/client-hints/sec-ch-width.https.html @@ -0,0 +1,18 @@ + + + +Tests Sec-CH-Width + + + + + + +