Bug 1814828 - Handle clicks on result row border. r=adw
Differential Revision: https://phabricator.services.mozilla.com/D168794
This commit is contained in:
@@ -2063,7 +2063,18 @@ export class UrlbarView {
|
||||
*/
|
||||
#getClosestSelectableElement(element) {
|
||||
let closest = element.closest(SELECTABLE_ELEMENT_SELECTOR);
|
||||
return closest && this.#isElementVisible(closest) ? closest : null;
|
||||
if (closest && this.#isElementVisible(closest)) {
|
||||
return closest;
|
||||
}
|
||||
// When clicking on a gap within a row or on its border or padding, treat
|
||||
// this as if the main part was clicked.
|
||||
if (
|
||||
element.classList.contains("urlbarView-row") &&
|
||||
element.hasAttribute("row-selectable")
|
||||
) {
|
||||
return element._content;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -23,6 +23,7 @@ support-files =
|
||||
add_search_engine_many.html
|
||||
add_search_engine_same_names.html
|
||||
add_search_engine_two.html
|
||||
[browser_click_row_border.js]
|
||||
[browser_contextualsearch.js]
|
||||
[browser_shortcuts_add_search_engine.js]
|
||||
support-files =
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
"use strict";
|
||||
|
||||
const TEST_URL = "https://example.com/autocomplete";
|
||||
|
||||
add_setup(async function() {
|
||||
await PlacesTestUtils.addVisits(TEST_URL);
|
||||
registerCleanupFunction(async function() {
|
||||
await PlacesUtils.history.clear();
|
||||
});
|
||||
});
|
||||
|
||||
add_task(async function test_click_row_border() {
|
||||
await UrlbarTestUtils.promiseAutocompleteResultPopup({
|
||||
window,
|
||||
value: "example.com/autocomplete",
|
||||
});
|
||||
let resultRow = await UrlbarTestUtils.waitForAutocompleteResultAt(window, 0);
|
||||
let loaded = BrowserTestUtils.browserLoaded(
|
||||
gBrowser.selectedBrowser,
|
||||
false,
|
||||
TEST_URL
|
||||
);
|
||||
info("Clicking on the result's top pixel row");
|
||||
EventUtils.synthesizeMouse(
|
||||
resultRow,
|
||||
parseInt(getComputedStyle(resultRow).borderTopLeftRadius) * 2,
|
||||
1,
|
||||
{}
|
||||
);
|
||||
info("Waiting for page to load");
|
||||
await loaded;
|
||||
ok(true, "Page loaded");
|
||||
});
|
||||
Reference in New Issue
Block a user