Bug 1361781 - Ensure nsLayoutUtils::SetFixedPositionLayerData sets the SideBits: eSideBitsTop and eSideBitsLeft r=tnikkel draft
authorRandall Barker <rbarker@mozilla.com>
Wed, 03 May 2017 10:35:38 -0700
changeset 572330 a63691912ec92214ffdc78a0a9e1ef90a054426d
parent 572329 13b354344cf7cf0881ba80dc41730db1e1a53d35
child 572331 f91fef2f0d9be19109858b63f84b29c7a5eca4b4
push id57034
push userbmo:rbarker@mozilla.com
push dateWed, 03 May 2017 23:31:53 +0000
reviewerstnikkel
bugs1361781
milestone55.0a1
Bug 1361781 - Ensure nsLayoutUtils::SetFixedPositionLayerData sets the SideBits: eSideBitsTop and eSideBitsLeft r=tnikkel MozReview-Commit-ID: LxKOsExXGfH
layout/base/nsLayoutUtils.cpp
--- a/layout/base/nsLayoutUtils.cpp
+++ b/layout/base/nsLayoutUtils.cpp
@@ -2055,25 +2055,29 @@ nsLayoutUtils::SetFixedPositionLayerData
     if (position->mOffset.GetRightUnit() != eStyleUnit_Auto) {
       sides |= eSideBitsRight;
       if (position->mOffset.GetLeftUnit() != eStyleUnit_Auto) {
         sides |= eSideBitsLeft;
         anchor.x = anchorRect.x + anchorRect.width / 2.f;
       } else {
         anchor.x = anchorRect.XMost();
       }
+    } else if (position->mOffset.GetLeftUnit() != eStyleUnit_Auto) {
+      sides |= eSideBitsLeft;
     }
     if (position->mOffset.GetBottomUnit() != eStyleUnit_Auto) {
       sides |= eSideBitsBottom;
       if (position->mOffset.GetTopUnit() != eStyleUnit_Auto) {
         sides |= eSideBitsTop;
         anchor.y = anchorRect.y + anchorRect.height / 2.f;
       } else {
         anchor.y = anchorRect.YMost();
       }
+    } else if (position->mOffset.GetTopUnit() != eStyleUnit_Auto) {
+      sides |= eSideBitsTop;
     }
   }
 
   ViewID id = FrameMetrics::NULL_SCROLL_ID;
   if (nsIFrame* rootScrollFrame = aPresContext->PresShell()->GetRootScrollFrame()) {
     if (nsIContent* content = rootScrollFrame->GetContent()) {
       id = FindOrCreateIDFor(content);
     }