Skip to content

Commit 0ec9e1e

Browse files
committed
Bug 1828955 - Implement "Feedback" result menu button for weather suggestions. r=dao,bolsson
This makes the following changes to the result menu button for weather results: * Add a "Feedback" label * Make it always visible We may want to use this feedback button for other types of results, so I added a generalized way for results to opt into it, `result.showFeedbackMenu`. See [Figma](https://www.figma.com/file/Hdi0oHB7trRcncyVAKZypO/accuweather-explorations?node-id=2421%3A62540&t=YUIAppzynd5ZmIew-1) Differential Revision: https://phabricator.services.mozilla.com/D175922 UltraBlame original commit: 12acae655a052cb13ffbe95a23dc61a8548abe96
1 parent b0fa060 commit 0ec9e1e

File tree

4 files changed

+41
-10
lines changed

4 files changed

+41
-10
lines changed

browser/components/urlbar/UrlbarProviderWeather.sys.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,7 @@ class ProviderWeather extends UrlbarProvider {
271271
}
272272
);
273273

274+
result.showFeedbackMenu = true;
274275
result.suggestedIndex = queryContext.searchString ? 1 : 0;
275276

276277
addCallback(this, result);

browser/components/urlbar/UrlbarView.sys.mjs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1401,7 +1401,11 @@ export class UrlbarView {
14011401
} else if (this.#getResultMenuCommands(result)) {
14021402
this.#addRowButton(item, {
14031403
name: "menu",
1404-
l10n: { id: "urlbar-result-menu-button" },
1404+
l10n: {
1405+
id: result.showFeedbackMenu
1406+
? "urlbar-result-menu-button-feedback"
1407+
: "urlbar-result-menu-button",
1408+
},
14051409
attributes: lazy.UrlbarPrefs.get("resultMenu.keyboardAccessible")
14061410
? null
14071411
: {

browser/locales/en-US/browser/browser.ftl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,8 @@ urlbar-tip-icon-description =
110110
111111
urlbar-result-menu-button =
112112
.title = Open menu
113+
urlbar-result-menu-button-feedback = Feedback
114+
.title = Open menu
113115
urlbar-result-menu-learn-more =
114116
.label = Learn more
115117
.accesskey = L

browser/themes/shared/urlbarView.css

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
--urlbarView-favicon-width: 16px;
2121
--urlbarView-icon-margin-end: calc(var(--urlbar-icon-padding) + var(--identity-box-margin-inline));
2222

23+
--urlbarView-result-button-size: 24px;
2324
--urlbarView-result-button-background-opacity: 60%;
2425
--urlbarView-result-button-selected-color: var(--toolbar-field-focus-color);
2526
--urlbarView-result-button-selected-background-color: color-mix(in srgb, var(--toolbar-field-focus-background-color) var(--urlbarView-result-button-background-opacity), transparent);
@@ -303,8 +304,8 @@
303304

304305
.urlbarView-button {
305306
display: inline-block;
306-
min-width: 24px;
307-
min-height: 24px;
307+
min-width: var(--urlbarView-result-button-size);
308+
min-height: var(--urlbarView-result-button-size);
308309
background-size: 16px;
309310
background-position: center;
310311
background-repeat: no-repeat;
@@ -341,17 +342,40 @@
341342
background-image: url("chrome://global/skin/icons/help.svg");
342343
}
343344

345+
/* Result menu button */
346+
344347
.urlbarView-button-menu {
345348
background-image: url("chrome://global/skin/icons/more.svg");
349+
background-color: var(--button-bgcolor);
346350
}
347351

348-
.urlbarView-results:not([disable-resultmenu-autohide]) > .urlbarView-row:not(:hover, [selected]) > .urlbarView-row-inner + .urlbarView-button-menu:not([open]) {
352+
.urlbarView-results:not([disable-resultmenu-autohide]) > .urlbarView-row:not(:hover, [selected]) > .urlbarView-row-inner + .urlbarView-button-menu:not([open]):empty {
349353
display: none;
350354
}
351355

356+
/* Labeled result menu button */
357+
358+
.urlbarView-results:not([wrap]) > .urlbarView-row > .urlbarView-button-menu:not(:empty) {
359+
display: inline-flex;
360+
align-items: center;
361+
border-radius: var(--urlbarView-result-button-size);
362+
padding-inline: 8px 26px;
363+
background-position-x: right 4px;
364+
font-size: 0.85em;
365+
}
366+
367+
.urlbarView-results:not([wrap]) > .urlbarView-row > .urlbarView-button-menu:not(:empty):-moz-locale-dir(rtl) {
368+
background-position-x: left 4px;
369+
}
370+
371+
.urlbarView-results[wrap] > .urlbarView-row > .urlbarView-button-menu:not(:empty) {
372+
/* Hide the label in narrow windows. */
373+
font-size: 0;
374+
}
375+
352376
/* Button with label, e.g. tip button */
353377

354-
.urlbarView-button:not(:empty) {
378+
.urlbarView-button:not(:empty, .urlbarView-button-menu) {
355379
border-radius: var(--toolbarbutton-border-radius);
356380
padding: 7px;
357381
font-size: 0.93em;
@@ -364,21 +388,21 @@
364388
flex-shrink: 0;
365389
}
366390

367-
.urlbarView-button:not(:empty, :hover) {
391+
.urlbarView-button:not(:empty, :hover, .urlbarView-button-menu) {
368392
background-color: var(--button-bgcolor);
369393
}
370394

371-
.urlbarView-button:not(:empty)[selected] {
395+
.urlbarView-button:not(:empty, .urlbarView-button-menu)[selected] {
372396
color: var(--button-primary-color);
373397
background-color: var(--button-primary-bgcolor);
374398
outline-offset: var(--focus-outline-offset);
375399
}
376400

377-
.urlbarView-button:not(:empty)[selected]:hover {
401+
.urlbarView-button:not(:empty, .urlbarView-button-menu)[selected]:hover {
378402
background-color: var(--button-primary-hover-bgcolor);
379403
}
380404

381-
.urlbarView-button:not(:empty)[selected]:hover:active {
405+
.urlbarView-button:not(:empty, .urlbarView-button-menu)[selected]:hover:active {
382406
background-color: var(--button-primary-active-bgcolor);
383407
}
384408

@@ -387,7 +411,7 @@
387411
margin-inline-start: 1.8em;
388412
}
389413

390-
.urlbarView-button:not(:empty):last-child {
414+
.urlbarView-button:not(:empty, .urlbarView-button-menu):last-child {
391415
/* Add space between a labeled button and the trailing edge of the panel. */
392416
margin-inline-end: 1.8em;
393417
}

0 commit comments

Comments
 (0)