Skip to content

Commit 48ad09e

Browse files
committed
Bug 1774315 - Don't clamp target scroll position to layer scale. r=mstange
This prevents scrollLeft = <integer> to return scrollLeft = <integer>, which is right now papered by bug 1674687. Differential Revision: https://phabricator.services.mozilla.com/D176306 UltraBlame original commit: 7ece24d43282c6c81fa92a42c2dde242ee848ed6
1 parent 135f0e5 commit 48ad09e

File tree

12 files changed

+350
-4514
lines changed

12 files changed

+350
-4514
lines changed

dom/events/test/window_bug1369072.html

Lines changed: 209 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -333,13 +333,6 @@
333333
>
334334
<
335335
script
336-
type
337-
=
338-
"
339-
application
340-
/
341-
javascript
342-
"
343336
>
344337
SimpleTest
345338
.
@@ -376,6 +369,26 @@
376369
;
377370
}
378371
function
372+
info
373+
(
374+
)
375+
{
376+
window
377+
.
378+
opener
379+
.
380+
info
381+
.
382+
apply
383+
(
384+
window
385+
.
386+
opener
387+
arguments
388+
)
389+
;
390+
}
391+
function
379392
is
380393
(
381394
)
@@ -733,6 +746,52 @@
733746
(
734747
)
735748
;
749+
function
750+
promiseScrollOnWindow
751+
(
752+
win
753+
)
754+
{
755+
is
756+
(
757+
win
758+
.
759+
document
760+
.
761+
documentElement
762+
.
763+
scrollTop
764+
0
765+
"
766+
Reset
767+
didn
768+
'
769+
t
770+
work
771+
?
772+
"
773+
)
774+
;
775+
is
776+
(
777+
win
778+
.
779+
document
780+
.
781+
documentElement
782+
.
783+
scrollLeft
784+
0
785+
"
786+
Reset
787+
didn
788+
'
789+
t
790+
work
791+
?
792+
"
793+
)
794+
;
736795
return
737796
new
738797
Promise
@@ -741,16 +800,109 @@
741800
=
742801
>
743802
{
803+
win
804+
.
805+
addEventListener
806+
(
807+
"
808+
scroll
809+
"
810+
function
811+
listener
812+
(
813+
)
814+
{
744815
/
745816
/
746-
Wait
817+
FIXME
818+
(
819+
bug
820+
1674687
821+
)
822+
:
823+
The
824+
first
747825
scroll
748-
event
749-
function
750-
onScroll
826+
might
827+
be
828+
fractional
829+
(
830+
and
831+
/
832+
/
833+
scrollTop
834+
/
835+
Left
836+
will
837+
round
838+
down
839+
to
840+
zero
841+
until
842+
bug
843+
1674687
844+
is
845+
/
846+
/
847+
fixed
848+
)
849+
.
850+
So
851+
make
852+
sure
853+
we
854+
'
855+
ve
856+
scrolled
857+
at
858+
least
859+
a
860+
pixel
861+
before
862+
/
863+
/
864+
resolving
865+
.
866+
This
867+
can
868+
be
869+
removed
870+
once
871+
bug
872+
1674687
873+
is
874+
fixed
875+
.
876+
if
751877
(
878+
win
879+
.
880+
document
881+
.
882+
documentElement
883+
.
884+
scrollLeft
885+
|
886+
|
887+
win
888+
.
889+
document
890+
.
891+
documentElement
892+
.
893+
scrollTop
752894
)
753895
{
896+
win
897+
.
898+
removeEventListener
899+
(
900+
"
901+
scroll
902+
"
903+
listener
904+
)
905+
;
754906
SimpleTest
755907
.
756908
executeSoon
@@ -759,36 +911,32 @@
759911
)
760912
;
761913
}
762-
window
763-
.
764-
addEventListener
765-
(
766-
"
767-
scroll
768-
"
769-
onScroll
770-
{
771-
once
772-
:
773-
true
774914
}
775915
)
776916
;
917+
}
918+
)
919+
;
920+
}
921+
let
922+
promise
923+
=
924+
Promise
925+
.
926+
race
927+
(
928+
[
929+
promiseScrollOnWindow
930+
(
931+
window
932+
)
933+
promiseScrollOnWindow
934+
(
777935
iframe
778936
.
779937
contentWindow
780-
.
781-
addEventListener
782-
(
783-
"
784-
scroll
785-
"
786-
onScroll
787-
{
788-
once
789-
:
790-
true
791-
}
938+
)
939+
]
792940
)
793941
;
794942
if
@@ -814,12 +962,13 @@
814962
)
815963
;
816964
}
817-
}
818-
)
965+
return
966+
promise
819967
;
820968
}
821-
/
822-
/
969+
info
970+
(
971+
"
823972
When
824973
iframe
825974
element
@@ -841,6 +990,9 @@
841990
scrolled
842991
instead
843992
.
993+
"
994+
)
995+
;
844996
document
845997
.
846998
body
@@ -932,8 +1084,9 @@
9321084
(
9331085
)
9341086
;
935-
/
936-
/
1087+
info
1088+
(
1089+
"
9371090
When
9381091
iframe
9391092
element
@@ -953,6 +1106,9 @@
9531106
be
9541107
scrolled
9551108
.
1109+
"
1110+
)
1111+
;
9561112
document
9571113
.
9581114
body
@@ -1126,8 +1282,9 @@
11261282
(
11271283
)
11281284
;
1129-
/
1130-
/
1285+
info
1286+
(
1287+
"
11311288
If
11321289
iframe
11331290
document
@@ -1143,6 +1300,9 @@
11431300
scrolled
11441301
instead
11451302
.
1303+
"
1304+
)
1305+
;
11461306
div
11471307
.
11481308
style
@@ -1421,8 +1581,9 @@
14211581
(
14221582
)
14231583
;
1424-
/
1425-
/
1584+
info
1585+
(
1586+
"
14261587
Hidden
14271588
iframe
14281589
shouldn
@@ -1437,6 +1598,9 @@
14371598
not
14381599
scrollable
14391600
.
1601+
"
1602+
)
1603+
;
14401604
document
14411605
.
14421606
body

0 commit comments

Comments
 (0)