diff -urN firefox-151.0-orig/browser/components/urlbar/UrlbarView.sys.mjs firefox-151.0/browser/components/urlbar/UrlbarView.sys.mjs --- firefox-151.0-orig/browser/components/urlbar/UrlbarView.sys.mjs 2026-05-17 22:41:18 +0900 +++ firefox-151.0/browser/components/urlbar/UrlbarView.sys.mjs 2026-05-21 13:59:21 +0900 @@ -1479,24 +1479,18 @@ } #createRowContent(item) { - // The url is the only element that can wrap, thus all the other elements - // are child of noWrap. - let noWrap = this.#createElement("span"); - noWrap.className = "urlbarView-no-wrap"; - item._content.appendChild(noWrap); - let favicon = this.#createElement("img"); favicon.className = "urlbarView-favicon"; - noWrap.appendChild(favicon); + item._content.appendChild(favicon); item._elements.set("favicon", favicon); let typeIcon = this.#createElement("span"); typeIcon.className = "urlbarView-type-icon"; - noWrap.appendChild(typeIcon); + item._content.appendChild(typeIcon); let tailPrefix = this.#createElement("span"); tailPrefix.className = "urlbarView-tail-prefix"; - noWrap.appendChild(tailPrefix); + item._content.appendChild(tailPrefix); item._elements.set("tailPrefix", tailPrefix); // tailPrefix holds text only for alignment purposes so it should never be // read to screen readers. @@ -1512,6 +1506,20 @@ tailPrefix.appendChild(tailPrefixChar); item._elements.set("tailPrefixChar", tailPrefixChar); + let url = this.#createElement("span"); + url.className = "urlbarView-url"; + item._content.appendChild(url); + item._elements.set("url", url); + + let noWrap = this.#createElement("span"); + noWrap.className = "urlbarView-no-wrap"; + item._content.appendChild(noWrap); + + let titleSeparator = this.#createElement("span"); + titleSeparator.className = "urlbarView-title-separator"; + noWrap.appendChild(titleSeparator); + item._elements.set("titleSeparator", titleSeparator); + let title = this.#createElement("span"); title.classList.add("urlbarView-title", "urlbarView-overflowable"); noWrap.appendChild(title); @@ -1522,21 +1530,11 @@ noWrap.appendChild(tagsContainer); item._elements.set("tagsContainer", tagsContainer); - let titleSeparator = this.#createElement("span"); - titleSeparator.className = "urlbarView-title-separator"; - noWrap.appendChild(titleSeparator); - item._elements.set("titleSeparator", titleSeparator); - let action = this.#createElement("span"); action.className = "urlbarView-action"; noWrap.appendChild(action); item._elements.set("action", action); - let url = this.#createElement("span"); - url.className = "urlbarView-url"; - item._content.appendChild(url); - item._elements.set("url", url); - if (lazy.UrlbarPrefs.get("resultExplanationsFeatureGate")) { let explanation = this.#createElement("span"); explanation.classList.add( diff -urN firefox-151.0-orig/browser/themes/shared/urlbar/view-proton.css firefox-151.0/browser/themes/shared/urlbar/view-proton.css --- firefox-151.0-orig/browser/themes/shared/urlbar/view-proton.css 2026-05-17 22:41:18 +0900 +++ firefox-151.0/browser/themes/shared/urlbar/view-proton.css 2026-05-21 13:46:42 +0900 @@ -203,7 +203,7 @@ .urlbarView-no-wrap { max-width: 100%; - flex-grow: 0; + flex-grow: 1; flex-shrink: 0; .urlbarView[action-override] .urlbarView-row[has-url] > .urlbarView-row-inner > &, @@ -296,7 +296,6 @@ direction: ltr !important; } -.urlbarView-url:-moz-locale-dir(rtl), .urlbarView-explanation:-moz-locale-dir(rtl) { /* .urlbarView-url can grow due to `flex-grow: 1`, so without `text-align: right`, the URL text would be left-aligned within .urlbarView-url for RTL @@ -691,6 +690,7 @@ /* Action labels */ .urlbarView-action { + display: none; white-space: nowrap; .urlbarView-title:not(:empty) ~ & { @@ -838,9 +838,11 @@ /* URLs and result explanations */ +.urlbarView-url {flex-grow: 0;} +.urlbarView-explanation {flex-grow: 1;} + .urlbarView-url, .urlbarView-explanation { - flex-grow: 1; flex-shrink: 1; font-size: var(--urlbarView-small-font-size); /* Increase line-height to avoid cutting overhanging glyphs due to masking on