diff --git a/layout/generic/nsGfxScrollFrame.cpp b/layout/generic/nsGfxScrollFrame.cpp index 0a54b33f72a4..602db5fdbce9 100644 --- a/layout/generic/nsGfxScrollFrame.cpp +++ b/layout/generic/nsGfxScrollFrame.cpp @@ -2442,7 +2442,8 @@ void nsGfxScrollFrameInner::CurPosAttributeChanged(nsIContent* aContent) -scrolledRect.y) + scrolledRect.y; - if (dest == GetScrollPosition()) { + // If we have an async scroll pending don't stomp on that by calling ScrollTo. + if (mAsyncScroll && dest == GetScrollPosition()) { return; } diff --git a/layout/generic/test/Makefile.in b/layout/generic/test/Makefile.in index abc329c5bace..ba253f4a6d7b 100644 --- a/layout/generic/test/Makefile.in +++ b/layout/generic/test/Makefile.in @@ -125,6 +125,8 @@ _TEST_FILES = \ test_bug589621.html \ test_bug589623.html \ test_bug632379.xul \ + test_bug633762.html \ + bug633762_iframe.html \ $(srcdir)/../../reftests/backgrounds/blue-32x32.png \ $(srcdir)/../../reftests/backgrounds/fuchsia-32x32.png \ $(NULL) diff --git a/layout/generic/test/bug633762_iframe.html b/layout/generic/test/bug633762_iframe.html new file mode 100644 index 000000000000..185d9af65a94 --- /dev/null +++ b/layout/generic/test/bug633762_iframe.html @@ -0,0 +1,8 @@ + +
+Mozilla Bug 633762 + + + +
+ ++ + +