diff --git a/prefs/urlbar.yaml b/prefs/urlbar.yaml index 44b79167d..72472cae9 100644 --- a/prefs/urlbar.yaml +++ b/prefs/urlbar.yaml @@ -22,9 +22,6 @@ - name: browser.urlbar.untrimOnUserInteraction.featureGate value: true -- name: browser.urlbar.maxRichResults - value: 6 - # Enable private suggestions - name: browser.search.suggest.enabled value: false diff --git a/src/browser/components/urlbar/UrlbarView-sys-mjs.patch b/src/browser/components/urlbar/UrlbarView-sys-mjs.patch index 68c5cb340..dafebfbaf 100644 --- a/src/browser/components/urlbar/UrlbarView-sys-mjs.patch +++ b/src/browser/components/urlbar/UrlbarView-sys-mjs.patch @@ -1,5 +1,5 @@ diff --git a/browser/components/urlbar/UrlbarView.sys.mjs b/browser/components/urlbar/UrlbarView.sys.mjs -index fdbab8806fd320f4aacec46a42c8ef953580d00c..9d8db6ecc29709043488d57c213dc2a87c4a994e 100644 +index fdbab8806fd320f4aacec46a42c8ef953580d00c..c7fd607cc1e3ec4db2d5300a420c9de5f5ac6c0d 100644 --- a/browser/components/urlbar/UrlbarView.sys.mjs +++ b/browser/components/urlbar/UrlbarView.sys.mjs @@ -613,7 +613,7 @@ export class UrlbarView { @@ -11,10 +11,17 @@ index fdbab8806fd320f4aacec46a42c8ef953580d00c..9d8db6ecc29709043488d57c213dc2a8 // Try to reuse the cached top-sites context. If it's not cached, then // there will be a gap of time between when the input is focused and // when the view opens that can be perceived as flicker. -@@ -824,6 +824,15 @@ export class UrlbarView { +@@ -824,6 +824,22 @@ export class UrlbarView { // still associated with the first result. this.input.setResultForCurrentValue(firstResult); } ++ if (queryContext.results[0].payload.zenAction) { ++ this.#selectElement(this.getFirstSelectableElement(), { ++ updateInput: false, ++ setAccessibleFocus: ++ this.controller._userSelectionBehavior == "arrow", ++ }); ++ } + this.window.setTimeout(() => { + if (queryContext.results[0].payload.zenAction) { + this.#selectElement(this.getFirstSelectableElement(), { @@ -27,7 +34,16 @@ index fdbab8806fd320f4aacec46a42c8ef953580d00c..9d8db6ecc29709043488d57c213dc2a8 } // Announce tab-to-search results to screen readers as the user types. -@@ -3189,7 +3198,7 @@ export class UrlbarView { +@@ -2706,6 +2722,8 @@ export class UrlbarView { + if (row?.hasAttribute("row-selectable")) { + row?.toggleAttribute("selected", true); + } ++ // only scroll if its not already fully visible ++ element.scrollIntoView({ behavior: "smooth", block: "nearest" }); + if (element != row) { + row?.toggleAttribute("descendant-selected", true); + } +@@ -3189,7 +3207,7 @@ export class UrlbarView { } #enableOrDisableRowWrap() { diff --git a/src/zen/common/styles/zen-omnibox.css b/src/zen/common/styles/zen-omnibox.css index 882f59b5b..dbdea17bd 100644 --- a/src/zen/common/styles/zen-omnibox.css +++ b/src/zen/common/styles/zen-omnibox.css @@ -651,6 +651,14 @@ button.popup-notification-dropmarker { } } -#urlbar-results .action-contextualidentity { - display: none; +#urlbar-results { + max-height: 262px; + overflow-y: auto; + scrollbar-width: none; + margin-block: var(--urlbarView-results-padding); + padding-block: 0 !important; + + & .action-contextualidentity { + display: none; + } } diff --git a/src/zen/common/styles/zen-panel-ui.css b/src/zen/common/styles/zen-panel-ui.css index 1476ce04f..a6e2a8c3e 100644 --- a/src/zen/common/styles/zen-panel-ui.css +++ b/src/zen/common/styles/zen-panel-ui.css @@ -6,7 +6,7 @@ panel[type='arrow'] { @media (-moz-platform: macos) and (-moz-panel-animations) { &[animate='open'] { - animation: zen-jello-animation-macos 0.3s ease-out forwards; + animation: zen-jello-animation-macos 0.2s ease-out forwards; &[side='bottom'] { /* Animate from the bottom */ -zen-window-transform-origin: 0 100%; diff --git a/src/zen/urlbar/ZenUBActionsProvider.sys.mjs b/src/zen/urlbar/ZenUBActionsProvider.sys.mjs index fa7962e2d..63bab06d2 100644 --- a/src/zen/urlbar/ZenUBActionsProvider.sys.mjs +++ b/src/zen/urlbar/ZenUBActionsProvider.sys.mjs @@ -96,6 +96,10 @@ export class ZenUrlbarProviderGlobalActions extends UrlbarProvider { async #getExtensionActions(window) { const addons = await lazy.AddonManager.getAddonsByTypes(['extension']); + if (window.gBrowser.selectedTab.hasAttribute('zen-empty-tab')) { + // Don't show extension actions on empty tabs, as extensions can't run there. + return []; + } return addons .filter( (addon) =>