Index: third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp |
diff --git a/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp b/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp |
index 9d4e5c14c0e8de4d66f367f8eff7ae977eaba06c..89f81048a20e69b96775ddf40898d42f52366689 100644 |
--- a/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp |
+++ b/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp |
@@ -224,7 +224,10 @@ static CSSValue* ValueForPositionOffset(const ComputedStyle& style, |
if (offset.IsAuto() && layout_object) { |
// If the property applies to a positioned element and the resolved value of |
// the display property is not none, the resolved value is the used value. |
- if (layout_object->IsInFlowPositioned()) { |
+ // Position offsets have special meaning for position sticky so we return |
+ // auto when offset.isAuto() on a sticky position object: |
+ // https://crbug.com/703816. |
+ if (layout_object->IsRelPositioned()) { |
// If e.g. left is auto and right is not auto, then left's computed value |
// is negative right. So we get the opposite length unit and see if it is |
// auto. |