Skip to content

Commit aaf8cb5

Browse files
committed
Bug 1999368 - Adjust Send Tab position and add visual dividers in menus. r=skhamis,fluent-reviewers,fxview-reviewers,tabbrowser-reviewers,bolsson,nsharpley
Differential Revision: https://phabricator.services.mozilla.com/D272076
1 parent 5c6128f commit aaf8cb5

File tree

13 files changed

+61
-52
lines changed

13 files changed

+61
-52
lines changed

browser/base/content/appmenu-viewcache.inc.xhtml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -630,17 +630,18 @@
630630
data-l10n-id="fxa-menu-connect-another-device"
631631
disabled="true"
632632
/>
633-
<toolbarbutton id="PanelUI-fxa-menu-sendtab-button"
634-
class="subviewbutton subviewbutton-nav"
635-
data-l10n-id="fxa-menu-send-tab-to-device"
636-
data-l10n-args='{"tabCount":1}'
637-
closemenu="none"
638-
/>
639633
<toolbarbutton id="PanelUI-fxa-menu-sync-prefs-button"
640634
class="subviewbutton"
641635
data-l10n-id="fxa-menu-sync-settings"
642636
hidden="true"
643637
/>
638+
<toolbarseparator id="PanelUI-fxa-menu-sendtab-separator" />
639+
<toolbarbutton id="PanelUI-fxa-menu-sendtab-button"
640+
class="subviewbutton subviewbutton-nav"
641+
data-l10n-id="fxa-menu-send-to-device"
642+
data-l10n-args='{"tabCount":1}'
643+
closemenu="none"
644+
/>
644645
<toolbarseparator id="PanelUI-sign-out-separator" />
645646
<toolbarbutton id="PanelUI-fxa-menu-account-signout-button"
646647
class="subviewbutton"

browser/base/content/browser-context.inc

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@
122122
data-l10n-id="main-context-menu-copy-clean-link"
123123
hidden="true"
124124
/>
125+
<menuseparator id="context-sep-copylink"/>
125126
<menu id="context-sendlinktodevice"
126127
class="sync-ui-item"
127128
data-l10n-id="main-context-menu-link-send-to-device"
@@ -130,7 +131,6 @@
130131
</menu>
131132
<menuseparator id="context-sep-sendlinktodevice" class="sync-ui-item"
132133
hidden="true"/>
133-
<menuseparator id="context-sep-copylink"/>
134134
<menuitem id="context-media-play"
135135
data-l10n-id="main-context-menu-media-play"
136136
/>
@@ -263,12 +263,6 @@
263263
<menuitem id="context-savepage"
264264
data-l10n-id="main-context-menu-page-save"
265265
/>
266-
<menu id="context-sendpagetodevice"
267-
class="sync-ui-item"
268-
data-l10n-id="main-context-menu-send-to-device"
269-
hidden="true">
270-
<menupopup id="context-sendpagetodevice-popup"/>
271-
</menu>
272266
<menu id="fill-login" hidden="true">
273267
<menupopup id="fill-login-popup" />
274268
</menu>
@@ -439,6 +433,15 @@
439433
hidden="true"
440434
data-l10n-id="main-context-menu-inspect"
441435
/>
436+
<menuseparator id="context-sep-sendpagetodevice"
437+
class="sync-ui-item"
438+
hidden="true"/>
439+
<menu id="context-sendpagetodevice"
440+
class="sync-ui-item"
441+
data-l10n-id="main-context-menu-send-to-device-2"
442+
hidden="true">
443+
<menupopup id="context-sendpagetodevice-popup"/>
444+
</menu>
442445
<menuseparator id="context-media-eme-separator" hidden="true"/>
443446
<menuitem id="context-media-eme-learnmore"
444447
class="menuitem-iconic"

browser/base/content/browser-sync.js

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1111,10 +1111,12 @@ var gSync = {
11111111
this.enableSendTabIfValidTab();
11121112

11131113
if (!this.getSendTabTargets().length) {
1114-
PanelMultiView.getViewNode(
1115-
document,
1116-
"PanelUI-fxa-menu-sendtab-button"
1117-
).hidden = true;
1114+
for (const id of [
1115+
"PanelUI-fxa-menu-sendtab-button",
1116+
"PanelUI-fxa-menu-sendtab-separator",
1117+
]) {
1118+
PanelMultiView.getViewNode(document, id).hidden = true;
1119+
}
11181120
}
11191121

11201122
if (anchor.getAttribute("open") == "true") {
@@ -1368,10 +1370,12 @@ var gSync = {
13681370
t => !!BrowserUtils.getShareableURL(t.linkedBrowser.currentURI)
13691371
);
13701372

1371-
PanelMultiView.getViewNode(
1372-
document,
1373-
"PanelUI-fxa-menu-sendtab-button"
1374-
).hidden = !canSendAllURIs;
1373+
for (const id of [
1374+
"PanelUI-fxa-menu-sendtab-button",
1375+
"PanelUI-fxa-menu-sendtab-separator",
1376+
]) {
1377+
PanelMultiView.getViewNode(document, id).hidden = !canSendAllURIs;
1378+
}
13751379
},
13761380

13771381
// This is mis-named - it can be used to record any FxA UI telemetry, whether from
@@ -1997,6 +2001,10 @@ var gSync = {
19972001

19982002
let sendTabsToDevice = document.getElementById("context_sendTabToDevice");
19992003
sendTabsToDevice.disabled = !enabled;
2004+
let sendTabToDeviceSeparator = document.getElementById(
2005+
"context_sendTabToDeviceSeparator"
2006+
);
2007+
sendTabToDeviceSeparator.disabled = !enabled;
20002008

20012009
if (hideItems || !hasASendableURI) {
20022010
sendTabsToDevice.hidden = true;
@@ -2045,10 +2053,12 @@ var gSync = {
20452053
"context-sendpagetodevice",
20462054
!hideItems && showSendPage
20472055
);
2048-
contextMenu.showItem(
2056+
for (const id of [
20492057
"context-sendlinktodevice",
2050-
!hideItems && showSendLink
2051-
);
2058+
"context-sep-sendlinktodevice",
2059+
]) {
2060+
contextMenu.showItem(id, !hideItems && showSendLink);
2061+
}
20522062

20532063
if (!showSendLink && !showSendPage) {
20542064
return false;

browser/base/content/main-popupset.inc.xhtml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,19 +78,20 @@
7878
<menuseparator id="moveTabSeparator" hidden="true"/>
7979
</menupopup>
8080
</menu>
81-
<menu id="context_sendTabToDevice"
82-
class="sync-ui-item"
83-
data-lazy-l10n-id="tab-context-send-tabs-to-device"
84-
data-l10n-args='{"tabCount": 1}'>
85-
<menupopup id="context_sendTabToDevicePopupMenu"/>
86-
</menu>
8781
<menu id="context_reopenInContainer"
8882
data-lazy-l10n-id="tab-context-open-in-new-container-tab"
8983
hidden="true">
9084
<menupopup id="context_reopenInContainerPopupMenu"/>
9185
</menu>
9286
<menuitem id="context_selectAllTabs" data-lazy-l10n-id="select-all-tabs"/>
9387
<menuseparator/>
88+
<menu id="context_sendTabToDevice"
89+
class="sync-ui-item"
90+
data-lazy-l10n-id="tab-context-send-to-device"
91+
data-l10n-args='{"tabCount": 1}'>
92+
<menupopup id="context_sendTabToDevicePopupMenu" class="sync-ui-item"/>
93+
</menu>
94+
<menuseparator id="context_sendTabToDeviceSeparator"/>
9495
<menuitem id="context_closeTab"
9596
data-lazy-l10n-id="tab-context-close-n-tabs"
9697
data-l10n-args='{"tabCount": 1}'/>

browser/base/content/nsContextMenu.sys.mjs

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1087,19 +1087,10 @@ export class nsContextMenu {
10871087
let disabledAttr = this.#canStripParams() ? null : true;
10881088
this.setItemAttr("context-stripOnShareLink", "disabled", disabledAttr);
10891089

1090-
let copyLinkSeparator = this.document.getElementById(
1091-
"context-sep-copylink"
1092-
);
1093-
// Show "Copy Link", "Copy" and "Copy Clean Link" with no divider, and "copy link" and "Send link to Device" with no divider between.
1094-
// Other cases will show a divider.
1095-
copyLinkSeparator.toggleAttribute(
1096-
"ensureHidden",
1097-
this.onLink &&
1098-
!this.onMailtoLink &&
1099-
!this.onTelLink &&
1100-
!this.onImage &&
1101-
this.syncItemsShown
1090+
let sendLinkSeparator = this.document.getElementById(
1091+
"context-sep-sendlinktodevice"
11021092
);
1093+
sendLinkSeparator.toggleAttribute("ensureHidden", !this.syncItemsShown);
11031094

11041095
this.showItem("context-copyvideourl", this.onVideo);
11051096
this.showItem("context-copyaudiourl", this.onAudio);

browser/base/content/test/sync/browser_contextmenu_sendpage.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ add_task(async function test_link_contextmenu() {
126126
"context-savelink",
127127
"context-copylink",
128128
...(expectStripOnShareLink ? ["context-stripOnShareLink"] : []),
129+
"context-sep-copylink",
129130
"context-sendlinktodevice",
130131
"context-sep-sendlinktodevice",
131132
"context-searchselect",

browser/components/firefoxview/opentabs.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -872,7 +872,7 @@ class OpenTabsContextMenu extends MozLitElement {
872872
></panel-item>
873873
${this.devices.length >= 1
874874
? html`<panel-item
875-
data-l10n-id="fxviewtabrow-send-tab"
875+
data-l10n-id="fxviewtabrow-send-to-device"
876876
data-l10n-attrs="accesskey"
877877
submenu="send-tab-menu"
878878
>${this.sendTabTemplate()}</panel-item

browser/components/firefoxview/tests/browser/browser_opentabs_firefoxview.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ add_task(async function test_send_device_submenu() {
348348
let panelList = await openContextMenuForItem(firstTab, cards[0]);
349349

350350
let sendTabPanelItem = panelList.querySelector(
351-
"panel-item[data-l10n-id=fxviewtabrow-send-tab]"
351+
"panel-item[data-l10n-id=fxviewtabrow-send-to-device]"
352352
);
353353

354354
ok(sendTabPanelItem, "Send tabs to device submenu panel item exists");

browser/components/tabbrowser/content/tabbrowser.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9821,7 +9821,7 @@ var TabContextMenu = {
98219821

98229822
SharingUtils.updateShareURLMenuItem(
98239823
this.contextTab.linkedBrowser,
9824-
document.getElementById("context_sendTabToDevice")
9824+
document.getElementById("context_moveTabOptions")
98259825
);
98269826
},
98279827

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -342,8 +342,8 @@ main-context-menu-audio-email =
342342
.label = Email Audio…
343343
.accesskey = a
344344
345-
main-context-menu-send-to-device =
346-
.label = Send Page to Device
345+
main-context-menu-send-to-device-2 =
346+
.label = Send to Device
347347
.accesskey = n
348348
349349
# Displayed when there are saved passwords and the user clicks inside a username or password field

0 commit comments

Comments
 (0)