tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 5d0fda1c660e0a388a6f4ed20004ce22cc68f54d
parent 8706711f8e3fdeaa30173f655dda716ca7a5f590
Author: Joey Arhar <jarhar@chromium.org>
Date:   Wed,  7 Jan 2026 09:19:37 +0000

Bug 2008678 [wpt PR 57001] - Implement popover for customizable combobox, a=testonly

Automatic update from web-platform-tests
Implement popover for customizable combobox

This patch makes the datalist element support base appearance when it is
referenced by a base appearance text input element. When it has base
appearance, the datalist element becomes a popover even though it
doesn't have the popover attribute, and is rendered as normal web
content to show the options in a way that can be fully controlled by the
author.

Bug: 453705243
Change-Id: I585521d8bb232160651c0e733ec2a4c94b265491
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7065275
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Joey Arhar <jarhar@chromium.org>
Reviewed-by: David Baron <dbaron@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1564798}

--

wpt-commits: e17b64664f35bbc0414ba574973049d5fc0512ca
wpt-pr: 57001

Diffstat:
Atesting/web-platform/tests/html/semantics/forms/customizable-combobox/datalist-popover.tentative.html | 29+++++++++++++++++++++++++++++
1 file changed, 29 insertions(+), 0 deletions(-)

diff --git a/testing/web-platform/tests/html/semantics/forms/customizable-combobox/datalist-popover.tentative.html b/testing/web-platform/tests/html/semantics/forms/customizable-combobox/datalist-popover.tentative.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://open-ui.org/components/combobox.explainer/"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<style> +input, datalist { + appearance: base; +} +</style> + +<input list=datalist> +<datalist id=datalist> + <option>one</option> + <option>two</option> +</datalist> + +<script> +test(() => { + const input = document.querySelector('input'); + const datalist = document.querySelector('datalist'); + assert_false(datalist.matches(':popover-open'), + 'datalist should not be :popover-open at the start of the test.'); + input.focus(); + assert_true(datalist.matches(':popover-open'), + 'datalist should be :popover-open after focusing the input.'); +}, 'Focusing input should show datalist as a popover.'); +</script>