Chromium Code Reviews| Index: third_party/WebKit/Source/core/layout/ScrollAnchor.cpp |
| diff --git a/third_party/WebKit/Source/core/layout/ScrollAnchor.cpp b/third_party/WebKit/Source/core/layout/ScrollAnchor.cpp |
| index ab410d2abc6c85373c9454a0b08cadb12a36eb5d..30bddb2c55b925b7640db234be90d847f0b376ec 100644 |
| --- a/third_party/WebKit/Source/core/layout/ScrollAnchor.cpp |
| +++ b/third_party/WebKit/Source/core/layout/ScrollAnchor.cpp |
| @@ -18,6 +18,7 @@ ScrollAnchor::ScrollAnchor() |
| : m_anchorObject(nullptr) |
| , m_corner(Corner::TopLeft) |
| , m_scrollAnchorDisablingStyleChanged(false) |
| + , m_saved(false) |
| { |
| } |
| @@ -205,6 +206,9 @@ bool ScrollAnchor::computeScrollAnchorDisablingStyleChanged() |
| void ScrollAnchor::save() |
| { |
| + if (m_saved) |
| + return; |
| + m_saved = true; |
| DCHECK(m_scroller); |
| if (m_scroller->scrollPosition() == IntPoint::zero()) { |
| clear(); |
| @@ -242,6 +246,7 @@ IntSize ScrollAnchor::computeAdjustment() const |
| void ScrollAnchor::restore() |
| { |
| + m_saved = false; |
|
ymalik
2016/09/01 14:13:04
Add a DCHECK that m_saved is true? We should never
skobes
2016/09/01 20:47:21
I tried this, but it breaks tests due to nested Fr
|
| DCHECK(m_scroller); |
| if (!m_anchorObject) |
| return; |