Backed out changeset 2c0ca241bd4b (bug 1519621) for frame-reconstruction-scroll-clamping.html high frequency failures CLOSED TREE
authorCiure Andrei <aciure@mozilla.com>
Thu, 28 Feb 2019 01:52:04 +0200
changeset 519438 1b973064ca5778532190fef25d81b75e8cf77281
parent 519437 81941f492e8c1ff98c84bb470e3341c4457bce86
child 519439 cce8077b2174bc21e2ab776a40fbb541635d050c
push id10862
push userffxbld-merge
push dateMon, 11 Mar 2019 13:01:11 +0000
treeherdermozilla-beta@a2e7f5c935da [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1519621
milestone67.0a1
backs out2c0ca241bd4b662f7022beb535509164ab7cde51
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset 2c0ca241bd4b (bug 1519621) for frame-reconstruction-scroll-clamping.html high frequency failures CLOSED TREE
layout/generic/nsGfxScrollFrame.cpp
testing/web-platform/meta/css/cssom-view/scroll-behavior-smooth.html.ini
--- a/layout/generic/nsGfxScrollFrame.cpp
+++ b/layout/generic/nsGfxScrollFrame.cpp
@@ -4411,32 +4411,22 @@ void ScrollFrameHelper::ScrollToRestored
   // make sure our scroll position did not change for where we last put
   // it. if it does then the user must have moved it, and we no longer
   // need to restore.
   //
   // In the RTL case, we check whether the scroll position changed using the
   // logical scroll position, but we scroll to the physical scroll position in
   // all cases
 
-  // Continue restoring until both the layout and visual scroll positions
-  // reach the destination. (Note that the two can only be different for
-  // the root content document's root scroll frame, and when zoomed in).
-  // This is necessary to avoid situations where the two offsets get stuck
-  // at different values and nothing reconciles them (see bug 1519621 comment
-  // 8).
-  nsPoint logicalLayoutScrollPos = GetLogicalScrollPosition();
-
   // if we didn't move, we still need to restore
-  if (GetLogicalVisualViewportOffset() == mLastPos ||
-      logicalLayoutScrollPos == mLastPos) {
+  if (GetLogicalVisualViewportOffset() == mLastPos) {
     // if our desired position is different to the scroll position, scroll.
     // remember that we could be incrementally loading so we may enter
     // and scroll many times.
-    if (mRestorePos != mLastPos /* GetLogicalVisualViewportOffset() */ ||
-        mRestorePos != logicalLayoutScrollPos) {
+    if (mRestorePos != mLastPos /* GetLogicalVisualViewportOffset() */) {
       LoadingState state = GetPageLoadingState();
       if (state == LoadingState::Stopped && !NS_SUBTREE_DIRTY(mOuter)) {
         return;
       }
       nsPoint scrollToPos = mRestorePos;
       if (!IsPhysicalLTR()) {
         // convert from logical to physical scroll position
         scrollToPos.x -=
--- a/testing/web-platform/meta/css/cssom-view/scroll-behavior-smooth.html.ini
+++ b/testing/web-platform/meta/css/cssom-view/scroll-behavior-smooth.html.ini
@@ -1,3 +1,8 @@
 [scroll-behavior-smooth.html]
   [BODY element scroll-behavior should not propagate to viewport]
     expected: FAIL
+
+  [Smooth scrolling while doing history navigation.]
+    expected:
+      if (os == "android"): FAIL
+