From f55814ced79764db5fef1fbd57cf33698f4afd6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A3o=20Gottwald?= Date: Tue, 5 Feb 2019 13:24:39 +0000 Subject: [PATCH] Bug 1524838 - UrlbarView: remove action labels from results while pressing an action override key (alt, shift, accel). r=mak Differential Revision: https://phabricator.services.mozilla.com/D18501 --HG-- extra : moz-landing-system : lando --- browser/base/content/browser.css | 2 +- browser/components/urlbar/UrlbarInput.jsm | 14 ++++++++------ browser/components/urlbar/UrlbarView.jsm | 6 ++++-- browser/themes/shared/urlbar-autocomplete.inc.css | 6 ++++-- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/browser/base/content/browser.css b/browser/base/content/browser.css index 10fe05bd2fdb..e6dc6c5c74c2 100644 --- a/browser/base/content/browser.css +++ b/browser/base/content/browser.css @@ -717,7 +717,7 @@ html|input.urlbar-input { list-style-image: none; } -#urlbar[noactions] > #urlbar-display-box, +#urlbar[actionoverride] > #urlbar-display-box, #urlbar:not([actiontype="switchtab"]):not([actiontype="extension"]) > #urlbar-display-box, #urlbar:not([actiontype="switchtab"]) > #urlbar-display-box > #switchtab, #urlbar:not([actiontype="extension"]) > #urlbar-display-box > #extension { diff --git a/browser/components/urlbar/UrlbarInput.jsm b/browser/components/urlbar/UrlbarInput.jsm index 66f53b940880..ffaf874d8565 100644 --- a/browser/components/urlbar/UrlbarInput.jsm +++ b/browser/components/urlbar/UrlbarInput.jsm @@ -314,7 +314,7 @@ class UrlbarInput { switch (result.type) { case UrlbarUtils.RESULT_TYPE.TAB_SWITCH: { - if (this.hasAttribute("noactions")) { + if (this.hasAttribute("actionoverride")) { where = "current"; break; } @@ -647,7 +647,7 @@ class UrlbarInput { return selectedVal; } - _toggleNoActions(event) { + _toggleActionOverride(event) { if (event.keyCode == KeyEvent.DOM_VK_SHIFT || event.keyCode == KeyEvent.DOM_VK_ALT || event.keyCode == (AppConstants.platform == "macosx" ? @@ -655,10 +655,12 @@ class UrlbarInput { KeyEvent.DOM_VK_CONTROL)) { if (event.type == "keydown") { this._actionOverrideKeyCount++; - this.setAttribute("noactions", "true"); + this.setAttribute("actionoverride", "true"); + this.view.panel.setAttribute("actionoverride", "true"); } else if (this._actionOverrideKeyCount && --this._actionOverrideKeyCount == 0) { - this.removeAttribute("noactions"); + this.removeAttribute("actionoverride"); + this.view.panel.removeAttribute("actionoverride"); } } } @@ -1003,11 +1005,11 @@ class UrlbarInput { _on_keydown(event) { this.controller.handleKeyNavigation(event); - this._toggleNoActions(event); + this._toggleActionOverride(event); } _on_keyup(event) { - this._toggleNoActions(event); + this._toggleActionOverride(event); } _on_popupshowing() { diff --git a/browser/components/urlbar/UrlbarView.jsm b/browser/components/urlbar/UrlbarView.jsm index be0e8367a7b6..c732ec7adf50 100644 --- a/browser/components/urlbar/UrlbarView.jsm +++ b/browser/components/urlbar/UrlbarView.jsm @@ -207,6 +207,7 @@ class UrlbarView { } this.panel.removeAttribute("hidden"); + this.panel.removeAttribute("actionoverride"); this._alignPanel(); @@ -270,8 +271,8 @@ class UrlbarView { item.setAttribute("type", "search"); } else if (result.type == UrlbarUtils.RESULT_TYPE.REMOTE_TAB) { item.setAttribute("type", "remotetab"); - } else if (result.source == UrlbarUtils.RESULT_SOURCE.TABS) { - item.setAttribute("type", "tab"); + } else if (result.type == UrlbarUtils.RESULT_TYPE.TAB_SWITCH) { + item.setAttribute("type", "switchtab"); } else if (result.source == UrlbarUtils.RESULT_SOURCE.BOOKMARKS) { item.setAttribute("type", "bookmark"); } @@ -329,6 +330,7 @@ class UrlbarView { switch (result.type) { case UrlbarUtils.RESULT_TYPE.TAB_SWITCH: setAction(bundle.GetStringFromName("switchToTab2")); + setURL(); break; case UrlbarUtils.RESULT_TYPE.REMOTE_TAB: setAction(result.payload.device); diff --git a/browser/themes/shared/urlbar-autocomplete.inc.css b/browser/themes/shared/urlbar-autocomplete.inc.css index 05bc8aef2c23..1948d4d25c58 100644 --- a/browser/themes/shared/urlbar-autocomplete.inc.css +++ b/browser/themes/shared/urlbar-autocomplete.inc.css @@ -94,7 +94,7 @@ } .urlbarView-row[type=remotetab] > .urlbarView-row-inner > .urlbarView-type-icon, -.urlbarView-row[type=tab] > .urlbarView-row-inner > .urlbarView-type-icon { +#urlbar-results:not([actionoverride]) .urlbarView-row[type=switchtab] > .urlbarView-row-inner > .urlbarView-type-icon { background-image: url(chrome://browser/skin/tab.svg); } @@ -135,7 +135,9 @@ .urlbarView-row[type=remotetab][selected] > .urlbarView-row-inner > .urlbarView-action, .urlbarView-row[type=remotetab]:hover > .urlbarView-row-inner > .urlbarView-action, .urlbarView-row[type=remotetab]:not([selected]):not(:hover) > .urlbarView-row-inner > .urlbarView-url, -.urlbarView-row[type=search]:not([selected]):not(:hover) > .urlbarView-row-inner > .urlbarView-action { +.urlbarView-row[type=search]:not([selected]):not(:hover) > .urlbarView-row-inner > .urlbarView-action, +#urlbar-results[actionoverride] .urlbarView-row[type=switchtab] > .urlbarView-row-inner > .urlbarView-action, +#urlbar-results:not([actionoverride]) .urlbarView-row[type=switchtab] > .urlbarView-row-inner > .urlbarView-url { display: none; }