| Index: Source/core/frame/LocalDOMWindow.cpp
 | 
| diff --git a/Source/core/frame/LocalDOMWindow.cpp b/Source/core/frame/LocalDOMWindow.cpp
 | 
| index 0c636c0bd315c613ab58748e3a472d3563458a3d..2b4002e5bd41cb79b7d8d80a3b90a3b75f179829 100644
 | 
| --- a/Source/core/frame/LocalDOMWindow.cpp
 | 
| +++ b/Source/core/frame/LocalDOMWindow.cpp
 | 
| @@ -1210,11 +1210,14 @@ void LocalDOMWindow::scrollTo(double x, double y) const
 | 
|      if (!isCurrentlyDisplayedInFrame())
 | 
|          return;
 | 
|  
 | 
| -    document()->updateLayoutIgnorePendingStylesheets();
 | 
| -
 | 
|      if (std::isnan(x) || std::isnan(y))
 | 
|          return;
 | 
|  
 | 
| +    // It is only necessary to have an up-to-date layout if the position may be clamped,
 | 
| +    // which is never the case for (0, 0).
 | 
| +    if (x || y)
 | 
| +        document()->updateLayoutIgnorePendingStylesheets();
 | 
| +
 | 
|      DoublePoint layoutPos(x * frame()->pageZoomFactor(), y * frame()->pageZoomFactor());
 | 
|      scrollViewportTo(frame(), layoutPos, ScrollBehaviorAuto);
 | 
|  }
 | 
| @@ -1224,8 +1227,6 @@ void LocalDOMWindow::scrollTo(const ScrollToOptions& scrollToOptions) const
 | 
|      if (!isCurrentlyDisplayedInFrame())
 | 
|          return;
 | 
|  
 | 
| -    document()->updateLayoutIgnorePendingStylesheets();
 | 
| -
 | 
|      FrameView* view = frame()->view();
 | 
|      if (!view)
 | 
|          return;
 | 
| @@ -1234,6 +1235,15 @@ void LocalDOMWindow::scrollTo(const ScrollToOptions& scrollToOptions) const
 | 
|      if (!host)
 | 
|          return;
 | 
|  
 | 
| +    // It is only necessary to have an up-to-date layout if the position may be clamped,
 | 
| +    // which is never the case for (0, 0).
 | 
| +    if (!scrollToOptions.hasLeft()
 | 
| +        || !scrollToOptions.hasTop()
 | 
| +        || scrollToOptions.left()
 | 
| +        || scrollToOptions.top()) {
 | 
| +        document()->updateLayoutIgnorePendingStylesheets();
 | 
| +    }
 | 
| +
 | 
|      double scaledX = 0.0;
 | 
|      double scaledY = 0.0;
 | 
|  
 | 
| 
 |