Chromium Code Reviews| Index: third_party/WebKit/Source/core/frame/TopControls.cpp |
| diff --git a/third_party/WebKit/Source/core/frame/TopControls.cpp b/third_party/WebKit/Source/core/frame/TopControls.cpp |
| index f11dbe4b4d579ce1234d42f93cc8523ccfd5251f..3c491e6236b0996ae2c421f38248e5a29aa40642 100644 |
| --- a/third_party/WebKit/Source/core/frame/TopControls.cpp |
| +++ b/third_party/WebKit/Source/core/frame/TopControls.cpp |
| @@ -38,7 +38,7 @@ void TopControls::scrollBegin() |
| FloatSize TopControls::scrollBy(FloatSize pendingDelta) |
| { |
| - if ((m_permittedState == WebTopControlsShown && pendingDelta.height() < 0) || (m_permittedState == WebTopControlsHidden && pendingDelta.height() > 0)) |
| + if ((m_permittedState == WebTopControlsShown && pendingDelta.height() > 0) || (m_permittedState == WebTopControlsHidden && pendingDelta.height() < 0)) |
| return pendingDelta; |
| if (m_height == 0) |
| @@ -51,7 +51,7 @@ FloatSize TopControls::scrollBy(FloatSize pendingDelta) |
| // Compute scroll delta in viewport space by applying page scale |
| m_accumulatedScrollDelta += pendingDelta.height() * pageScale; |
| - float newContentOffset = m_baselineContentOffset + m_accumulatedScrollDelta; |
| + float newContentOffset = m_baselineContentOffset - m_accumulatedScrollDelta; |
| setShownRatio(newContentOffset / m_height); |
| @@ -64,7 +64,9 @@ FloatSize TopControls::scrollBy(FloatSize pendingDelta) |
| newContentOffset = std::min(newContentOffset, m_height); |
| newContentOffset = std::max(newContentOffset, 0.f); |
| - FloatSize appliedDelta(0, (newContentOffset - oldOffset) / pageScale); |
| + // We negate the different because scrolling down (positive delta) causes |
| + // top controls to hide (negative offset difference). |
|
tdresser
2016/03/01 19:24:09
Would it be clearer to just take oldOffset - newCo
bokan
2016/03/01 19:40:57
Done. Ugh, I'm a typo machine...
|
| + FloatSize appliedDelta(0, -(newContentOffset - oldOffset) / pageScale); |
| return pendingDelta - appliedDelta; |
| } |