tor-browser

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

commit 26d612bf9ed90d1df47685a76265fefab9002560
parent 9b2dd9691537d8db83750cf51b54b51654945a60
Author: Oleksandr Tara <otara@google.com>
Date:   Thu,  6 Nov 2025 21:36:25 +0000

Bug 1997960 [wpt PR 55827] - Revert "Implement mousedown-drag-mouseup menu behavior [3/4]", a=testonly

Automatic update from web-platform-tests
Revert "Implement mousedown-drag-mouseup menu behavior [3/4]"

This reverts commit e3c9fd6f52ffe7773042962fb396f9c7cbf46095.

Reason for revert: parent CL causes https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20UBSan%20Tests/11332/overview and the revert caused merge conflicts.

Original change's description:
> Implement mousedown-drag-mouseup menu behavior [3/4]
>
> This implements the same behavior we have in customizable-<select>, for
> the menu elements. Clicking the mouse on a menuitem that triggers a
> sub-menu, then dragging into the sub-menu, then releasing the mouse on
> an item in that sub-menu now selects that item.
>
> Bug: 406566432,453209085
> Change-Id: I0e5aef5412a100dff4d9e6638371fda3742b6162
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7068555
> Commit-Queue: Mason Freed <masonf@chromium.org>
> Reviewed-by: Dominic Farolino <dom@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1538873}

Bug: 406566432,453209085
Change-Id: I96e7a903415bb0b0d7eb161184c5fb906ef9cb35
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7112743
Reviewed-by: Fabio Tirelo <ftirelo@chromium.org>
Owners-Override: Fabio Tirelo <ftirelo@chromium.org>
Commit-Queue: Oleksandr Tara <otara@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1539377}

--

wpt-commits: 0cf353deec16e6236ad3daa17eaa8d3afc383de0
wpt-pr: 55827

Diffstat:
Mtesting/web-platform/tests/html/semantics/menu/tentative/menubar-invoke-menulist.html | 15+++++++++------
Mtesting/web-platform/tests/html/semantics/menu/tentative/menuitem-activate.html | 50+-------------------------------------------------
2 files changed, 10 insertions(+), 55 deletions(-)

diff --git a/testing/web-platform/tests/html/semantics/menu/tentative/menubar-invoke-menulist.html b/testing/web-platform/tests/html/semantics/menu/tentative/menubar-invoke-menulist.html @@ -143,15 +143,18 @@ test(() => { assert_false(menulist.matches(":popover-open"), "menulist no longer matches :popover-open"); - // Being checkable causes sub-menu functionality to stop. + // Being an invoker for a sub-menu causes checkability to stop. checkableMenuitem.command = "toggle-menu"; checkableMenuitem.commandForElement = menulist; checkableMenuitem.click(); - assert_true(checkableMenuitem.checked, - "checkable menu item that invokes a menu becomes checked"); - assert_false(menulist.matches(":popover-open"), "menulist is not open"); + assert_false(checkableMenuitem.checked, + "checkable menu item that invokes a menu does not become checked"); + assert_true(menulist.matches(":popover-open"), + "menulist matches :popover-open"); checkableMenuitem.click(); - assert_false(checkableMenuitem.checked, "checkable menu item unchecks"); - assert_false(menulist.matches(":popover-open"), "menulist still not open"); + assert_false(checkableMenuitem.checked, + "checkable menu item is still not checked"); + assert_false(menulist.matches(":popover-open"), + "menulist no longer matches :popover-open"); }, "Checkable menuitems can still invoke menulist popovers"); </script> diff --git a/testing/web-platform/tests/html/semantics/menu/tentative/menuitem-activate.html b/testing/web-platform/tests/html/semantics/menu/tentative/menuitem-activate.html @@ -3,9 +3,7 @@ <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/resources/testdriver.js"></script> -<script src="/resources/testdriver-actions.js"></script> <script src="/resources/testdriver-vendor.js"></script> -<script src="../../popovers/resources/popover-utils.js"></script> <link rel=author href=mailto:dom@chromium.org> <link rel=help href=https://open-ui.org/components/menu.explainer> @@ -16,7 +14,6 @@ <menulist id=mainmenu> <menuitem id=mainmenuitem command=toggle-menu commandfor=submenu>Toggle menu</menuitem> <menuitem id=mainmenuitem2 command=toggle-popover commandfor=popover>Show popover</menuitem> - <menuitem id=normalmenuitem>Normal item</menuitem> </menulist> <menulist id=submenu> @@ -104,7 +101,7 @@ promise_test(async (t) => { // Close the second, "sub", menu within the popover by just clicking off of // it. - await test_driver.click(menuinpopoveritem2); + await test_driver.click(menuinpopoveritem1); assert_false(menuinpopover2.matches(":popover-open"), "menu 2 in popover closes"); assert_true(popoverwithmenu.matches(":popover-open"), @@ -113,49 +110,4 @@ promise_test(async (t) => { "menu in popover remains open"); }, 'Menulist inside a popover works correctly; does not get accidentally ' + 'dismissed by opening submenus'); - -promise_test(async (t) => { - assert_false(mainmenu.matches(":popover-open"), "mainmenu popover starts closed"); - let clickCount = 0; - normalmenuitem.addEventListener('click',() => (++clickCount)); - const actions = new test_driver.Actions(); - await actions.addPointer('mouse', 'mouse') - .pointerMove(0, 0, {origin: menubarmenuitem}) - .pointerDown() - .send(); - await waitForRender(); - assert_true(mainmenu.matches(":popover-open"), "mainmenu popover should be open while mouse is down"); - assert_equals(clickCount,0, "no clicks yet"); - await actions.pointerMove(0, 0, {origin: normalmenuitem}) - .pointerUp() - .send(); - await waitForRender(); - assert_false(mainmenu.matches(":popover-open"), "mainmenu popover should be closed"); - // TODO: Menu items should fire an event when they are selected. - // The `click` event is not enough, because one won't be fired here. - // assert_equals(clickCount,1, "the sub-menu item should have been clicked"); -}, 'A mousedown-drag-mouseup gesture on a normal menuitem picks the item'); - -promise_test(async (t) => { - assert_false(mainmenu.matches(":popover-open"), "mainmenu popover starts closed"); - assert_false(submenu.matches(":popover-open"), "submenu popover starts closed"); - const actions = new test_driver.Actions(); - await actions.addPointer('mouse', 'mouse') - .pointerMove(0, 0, {origin: menubarmenuitem}) - .pointerDown() - .send(); - await waitForRender(); - assert_true(mainmenu.matches(":popover-open"), "mainmenu popover should be open while mouse is down"); - assert_false(submenu.matches(":popover-open"), "submenu shouldn't be open yet"); - await actions.pointerMove(0, 0, {origin: mainmenuitem}) - .pointerUp() - .send(); - await waitForRender(); - assert_true(mainmenu.matches(":popover-open"), "mainmenu popover should remain open, because submenu chosen"); - assert_true(submenu.matches(":popover-open"), "submenu popover should be open"); - menubarmenuitem.click(); // Cleanup. - await waitForRender(); - assert_false(mainmenu.matches(":popover-open"), "mainmenu popover should be closed"); - assert_false(submenu.matches(":popover-open"), "submenu popover should be closed"); -}, 'A mousedown-drag-mouseup gesture on a submenu item leaves both menus open'); </script>