Bug 1262310 - Fix opening synced tabs from the sidebar. r?markh draft
authorKit Cambridge <kcambridge@mozilla.com>
Tue, 05 Apr 2016 17:06:00 -0700
changeset 347846 d740790c015dba28b64b39c947b38a07b61cf6dc
parent 347760 17a0ded9bb99c05c25729c306b91771483109067
child 347848 90bcb9699f827fb2c57b77f0bf39eec0bafb539d
push id14692
push userkcambridge@mozilla.com
push dateWed, 06 Apr 2016 00:06:35 +0000
reviewersmarkh
bugs1262310
milestone48.0a1
Bug 1262310 - Fix opening synced tabs from the sidebar. r?markh MozReview-Commit-ID: 8VHbEqsyuF2
browser/components/syncedtabs/TabListComponent.js
browser/components/syncedtabs/TabListView.js
--- a/browser/components/syncedtabs/TabListComponent.js
+++ b/browser/components/syncedtabs/TabListComponent.js
@@ -102,17 +102,17 @@ TabListComponent.prototype = {
 
   onBookmarkTab(uri, title) {
     this._window.top.PlacesCommandHook
       .bookmarkLink(this._window.top.PlacesUtils.bookmarksMenuFolderId, uri, title)
       .catch(Cu.reportError);
   },
 
   onOpenTab(url, where, params) {
-    this._window.openLinkIn(url, where, params);
+    this._window.openUILinkIn(url, where, params);
   },
 
   onCopyTabLocation(url) {
     this._clipboardHelper.copyString(url);
   },
 
   onSyncRefresh() {
     this._SyncedTabs.syncTabs(true);
--- a/browser/components/syncedtabs/TabListView.js
+++ b/browser/components/syncedtabs/TabListView.js
@@ -250,17 +250,17 @@ TabListView.prototype = {
     let itemNode = this._findParentItemNode(event.target);
     if (!itemNode) {
       return;
     }
 
     if (itemNode.classList.contains("tab")) {
       let url = itemNode.dataset.url;
       if (url) {
-        this.props.onOpenTab(url, event);
+        this.onOpenSelected(url, event);
       }
     }
 
     if (event.target.classList.contains("item-twisty-container")) {
       this.props.onToggleBranch(itemNode.dataset.id);
       return;
     }
 
@@ -280,17 +280,17 @@ TabListView.prototype = {
       event.preventDefault();
       this.props.onMoveSelectionDown();
     } else if (event.keyCode == this._window.KeyEvent.DOM_VK_UP) {
       event.preventDefault();
       this.props.onMoveSelectionUp();
     } else if (event.keyCode == this._window.KeyEvent.DOM_VK_RETURN) {
       let selectedNode = this.container.querySelector('.item.selected');
       if (selectedNode.dataset.url) {
-        this.props.onOpenTab(selectedNode.dataset.url, event);
+        this.onOpenSelected(selectedNode.dataset.url, event);
       } else if (selectedNode) {
         this.props.onToggleBranch(selectedNode.dataset.id);
       }
     }
   },
 
   onBookmarkTab() {
     let item = this._getSelectedTabNode();
@@ -302,17 +302,22 @@ TabListView.prototype = {
 
   onCopyTabLocation() {
     let item = this._getSelectedTabNode();
     if (item) {
       this.props.onCopyTabLocation(item.dataset.url);
     }
   },
 
-  onOpenSelected(event) {
+  onOpenSelected(url, event) {
+    let where = getChromeWindow(this._window).whereToOpenLink(event);
+    this.props.onOpenTab(url, where, {});
+  },
+
+  onOpenSelectedFromContextMenu(event) {
     let item = this._getSelectedTabNode();
     if (item) {
       let where = event.target.getAttribute("where");
       let params = {
         private: event.target.hasAttribute("private"),
       };
       this.props.onOpenTab(item.dataset.url, where, params);
     }
@@ -417,17 +422,17 @@ TabListView.prototype = {
 
   handleContentContextMenuCommand(event) {
     let id = event.target.getAttribute("id");
     switch (id) {
       case "syncedTabsOpenSelected":
       case "syncedTabsOpenSelectedInTab":
       case "syncedTabsOpenSelectedInWindow":
       case "syncedTabsOpenSelectedInPrivateWindow":
-        this.onOpenSelected(event);
+        this.onOpenSelectedFromContextMenu(event);
         break;
       case "syncedTabsBookmarkSelected":
         this.onBookmarkTab();
         break;
       case "syncedTabsCopySelected":
         this.onCopyTabLocation();
         break;
       case "syncedTabsRefresh":