Restrict the layout scroll offset to the layout scroll range
Categories
(Core :: Panning and Zooming, defect, P2)
Tracking
()
People
(Reporter: botond, Assigned: botond)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression)
Attachments
(10 files, 1 obsolete file)
(deleted),
text/html
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details |
Assignee | ||
Comment 1•6 years ago
|
||
Assignee | ||
Comment 2•6 years ago
|
||
Comment 3•6 years ago
|
||
Comment 4•6 years ago
|
||
Assignee | ||
Comment 5•6 years ago
|
||
Comment 6•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Comment 7•6 years ago
|
||
Assignee | ||
Comment 8•6 years ago
|
||
Comment 9•6 years ago
|
||
Assignee | ||
Comment 10•6 years ago
|
||
Assignee | ||
Comment 11•6 years ago
|
||
Comment 12•6 years ago
|
||
Assignee | ||
Comment 13•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Comment 14•6 years ago
|
||
Comment 15•6 years ago
|
||
Assignee | ||
Comment 16•6 years ago
|
||
Assignee | ||
Comment 17•6 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #16)
As for Chrome, regarding "Does not do additional visual scrolling", I
haven't had an opportunity to actually try that, but by that do you mean
that the current relative visual viewport offset is left unchanged if
possible [1]? I guess that would fit with the way they've specced the visual
viewports scroll events as firing only whenever the relative offset changes.That's not what I had in mind (I had in mind that the visual scroll offset
would become the same as the layout scroll offset), but the test case
doesn't actually discriminate the two possibilities because the relative
offset starts as (0,0). I will adjust the testcase and report back.
Ok, I adjusted the testcase to test the Chrome behaviour better.
The STR is now:
-
Pinzh-zoom in such that the visual viewport corresponds roughly
to the blue rect. -
Scroll down until the blue rect is just out of view, and the
"scrollTo()" button is near the top left corner of the screen.
At this point, the relative offset between the two viewports
is approximately (0, screenHeight). -
Click the scrollTo() button. This performs approximately
scrollTo(screenWidth, 0).
If this takes you visually to (screenWidth, screenHeight), the relative offset is preserved. If it takes you to (screenWidth, 0), it is not.
My testing is showing that it is indeed taking you to (screenWidth, screenHeight), so Chrome is preserving the relative offset.
For us, the way to do that would be to have scrollTo() use the mechanism from bug 1453425. scrollBy() already has this behaviour, and I believe we would like to eventually have it for scrollTo() as well (certainly, the Chrome behaviour tested here is an argument in favour of it).
Assignee | ||
Comment 19•6 years ago
|
||
This is blocking bug 1519013, which has been split off from / is conceptually a part of bug 1423013, which we'd like to fix ASAP.
Assignee | ||
Comment 20•6 years ago
|
||
Updated patch series on top of bug 1517895:
There is one test failure on Android, testing/marionette/harness/marionette_harness/tests/unit/test_typing.py, which I can't reproduce locally.
Assignee | ||
Comment 21•6 years ago
|
||
(In reply to Botond Ballo [:botond] [standards meeting Feb 18-23] from comment #20)
There is one test failure on Android, testing/marionette/harness/marionette_harness/tests/unit/test_typing.py, which I can't reproduce locally.
After rebasing, the newly added GeckoView PanZoomControllerTest
is failing as well.
Comment 22•6 years ago
|
||
PanZoomControllerTest are probably failing because the new GeckoView APIs use window.scrollBy()
and window.scrollTo()
as well as the visual viewport to scroll by a factor of the screen size:
If the behavior of the visible viewport or virtual viewport has changed that's probably why.
Assignee | ||
Comment 23•6 years ago
|
||
All right, I seemed to have fixed the test failures:
Assignee | ||
Comment 24•6 years ago
|
||
Assignee | ||
Comment 25•6 years ago
|
||
Depends on D20279
Assignee | ||
Comment 26•6 years ago
|
||
Depends on D20280
Assignee | ||
Comment 27•6 years ago
|
||
Depends on D20281
Assignee | ||
Comment 28•6 years ago
|
||
Depends on D20282
Assignee | ||
Comment 29•6 years ago
|
||
Depends on D20283
Assignee | ||
Comment 30•6 years ago
|
||
This avoids the testcase running into bug 1516722.
Depends on D20284
Assignee | ||
Comment 31•6 years ago
|
||
Depends on D20285
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 32•6 years ago
|
||
Adding some dependencies to make sure this doesn't regress Fire TV.
This is unlikely to land in the 67 cycle, but I will see if I can come up with a more targeted fix that addresses bug 1519007 / bug 1531057 and can be uplifted to 67.
Assignee | ||
Comment 33•6 years ago
|
||
Depends on D20285
Updated•6 years ago
|
Assignee | ||
Comment 34•6 years ago
|
||
Rebased and updated to account for bug 1531531 and bug 1538762.
Assignee | ||
Comment 35•6 years ago
|
||
Try push showing this + bug 1531531 passing tests:
Comment 36•6 years ago
|
||
Comment 37•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/16b36c86155d
https://hg.mozilla.org/mozilla-central/rev/3b7f8dede084
https://hg.mozilla.org/mozilla-central/rev/a84c86ad7031
https://hg.mozilla.org/mozilla-central/rev/be6e27fbdb2c
https://hg.mozilla.org/mozilla-central/rev/946181497fb1
https://hg.mozilla.org/mozilla-central/rev/62f15d6bd366
https://hg.mozilla.org/mozilla-central/rev/09351cbff684
https://hg.mozilla.org/mozilla-central/rev/945a64d1b467
Comment 38•6 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #32)
This is unlikely to land in the 67 cycle, but I will see if I can come up with a more targeted fix that addresses bug 1519007 / bug 1531057 and can be uplifted to 67.
Looks like those two other bugs got a fix uplifted to 67, I guess we can call this one wontfix for that release?
Assignee | ||
Comment 39•6 years ago
|
||
(In reply to Julien Cristau [:jcristau] from comment #38)
(In reply to Botond Ballo [:botond] from comment #32)
This is unlikely to land in the 67 cycle, but I will see if I can come up with a more targeted fix that addresses bug 1519007 / bug 1531057 and can be uplifted to 67.
Looks like those two other bugs got a fix uplifted to 67, I guess we can call this one wontfix for that release?
+1. This patch series has some regression risk and we have more targeted fixes in 67, so we don't need this in 67.
Assignee | ||
Comment 40•6 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #16)
(In reply to Jan Henning [:JanH] from comment #14)
I was mentioning that web platform test mainly because while your initial
patch for this bug does indeed solve the problem of the layout viewport not
exceeding scrollMaxX/Y, it still didn't improve our score on that test.
Therefore I thought that you might be able to kill two birds with one stone
and, once the new API is in place and the session store/history have been
switched over, you might want to change the scrollTo behaviour such that it
not only fixes the original issue from this bug, but also makes us pass that
test as well.Thanks - I've taken note of the web platform test, and will be sure to get
it passing. Not sure if yet if it will be in this bug or a follow-up.
Filed bug 1543485 to track getting this WPT passing.
Assignee | ||
Updated•5 years ago
|
Comment 41•4 years ago
|
||
DONTBUILD because comment-only change.
Comment 42•4 years ago
|
||
Comment 43•4 years ago
|
||
bugherder |
Updated•4 years ago
|
Updated•3 years ago
|
Description
•