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
This commit is contained in:
Dão Gottwald 2019-02-05 13:24:39 +00:00
Родитель 27b5495888
Коммит f55814ced7
4 изменённых файлов: 17 добавлений и 11 удалений

Просмотреть файл

@ -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 {

Просмотреть файл

@ -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() {

Просмотреть файл

@ -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);

Просмотреть файл

@ -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;
}