Bug 1387861 - Use _scrollbox.scrollLeft instead of scrollPosition which doesn't exist anymore, and update remaining _handleTabSelect call sites for signature change. r?gijs draft
authorDão Gottwald <dao@mozilla.com>
Sun, 06 Aug 2017 23:02:13 +0200
changeset 641297 3f14a72148fd5433f5ac22f1811c3e69a657987b
parent 641249 fe6609d22dfdd710b11e3ac7773aff89f7a8d12c
child 724770 93f869c796ef3afb6d9e64456dc076a19308a485
push id72500
push userdgottwald@mozilla.com
push dateSun, 06 Aug 2017 21:02:39 +0000
reviewersgijs
bugs1387861
milestone57.0a1
Bug 1387861 - Use _scrollbox.scrollLeft instead of scrollPosition which doesn't exist anymore, and update remaining _handleTabSelect call sites for signature change. r?gijs MozReview-Commit-ID: G8CjJ7TMDq7
browser/base/content/tabbrowser.xml
--- a/browser/base/content/tabbrowser.xml
+++ b/browser/base/content/tabbrowser.xml
@@ -6405,17 +6405,17 @@
               tab.style.marginInlineStart = "";
             }
 
             this.style.paddingInlineStart = "";
           }
 
           if (this._lastNumPinned != numPinned) {
             this._lastNumPinned = numPinned;
-            this._handleTabSelect(false);
+            this._handleTabSelect(true);
           }
         ]]></body>
       </method>
 
       <method name="_animateTabMove">
         <parameter name="event"/>
         <body><![CDATA[
           let draggedTab = event.dataTransfer.mozGetDataAt(TAB_DROP_TYPE, 0);
@@ -6447,17 +6447,17 @@
 
           // Move the dragged tab based on the mouse position.
 
           let leftTab = tabs[0];
           let rightTab = tabs[tabs.length - 1];
           let tabScreenX = draggedTab.boxObject.screenX;
           let translateX = screenX - draggedTab._dragData.screenX;
           if (!pinned)
-            translateX += this.mTabstrip.scrollPosition - draggedTab._dragData.scrollX;
+            translateX += this.mTabstrip._scrollbox.scrollLeft - draggedTab._dragData.scrollX;
           let leftBound = leftTab.boxObject.screenX - tabScreenX;
           let rightBound = (rightTab.boxObject.screenX + rightTab.boxObject.width) -
                            (tabScreenX + tabWidth);
           translateX = Math.max(translateX, leftBound);
           translateX = Math.min(translateX, rightBound);
           draggedTab.style.transform = "translateX(" + translateX + "px)";
           draggedTab._dragData.translateX = translateX;
 
@@ -6542,17 +6542,17 @@
               if (aEvent.target != window)
                 break;
 
               TabsInTitlebar.updateAppearance();
 
               var width = this.mTabstrip.boxObject.width;
               if (width != this.mTabstripWidth) {
                 this.adjustTabstrip();
-                this._handleTabSelect(false);
+                this._handleTabSelect(true);
                 this.mTabstripWidth = width;
                 this.updateSessionRestoreVisibility();
               }
               break;
             case "mouseout":
               // If the "related target" (the node to which the pointer went) is not
               // a child of the current document, the mouse just left the window.
               let relatedTarget = aEvent.relatedTarget;
@@ -6991,17 +6991,17 @@
         // relative to the corner of the dragged tab.
         function clientX(ele) {
           return ele.getBoundingClientRect().left;
         }
         let tabOffsetX = clientX(tab) - clientX(this);
         tab._dragData = {
           offsetX: event.screenX - window.screenX - tabOffsetX,
           offsetY: event.screenY - window.screenY,
-          scrollX: this.mTabstrip.scrollPosition,
+          scrollX: this.mTabstrip._scrollbox.scrollLeft,
           screenX: event.screenX
         };
 
         event.stopPropagation();
       ]]></handler>
 
       <handler event="dragover"><![CDATA[
         var effects = this._getDropEffectForTabDrag(event);