LGTM3
/Daniel
On 2023-04-12 10:57, Yoav Weiss wrote:
Thanks for verifying this and for filing Firefox issues.
LGTM2
On Tue, Apr 11, 2023 at 10:46 PM David Awogbemila
<awogbem...@chromium.org> wrote:
On Fri, Apr 7, 2023 at 4:49 AM Yoav Weiss <yoavwe...@chromium.org>
wrote:
On Thu, Apr 6, 2023 at 2:39 AM David Awogbemila
<awogbem...@chromium.org> wrote:
On Wed, Apr 5, 2023 at 12:11 AM Yoav Weiss
<yoavwe...@chromium.org> wrote:
On Fri, Mar 31, 2023 at 3:50 PM David Awogbemila
<awogbem...@chromium.org> wrote:
Contact emails
arg...@google.com, awogbem...@google.com
Explainer
https://github.com/argyleink/scrollend-explainer/blob/main/README.md
The explainer says this shipped in 114. I guess it
should say y'all are expecting to ship at that point :)
Specification
https://drafts.csswg.org/cssom-view/#scrolling-events
Summary
Scrollend events help developers reliably
tell when a scroll has completed
(including both the scroll itself and any
updates to offsets from the scroll).
Knowing when a scroll has completed is
useful for various reasons, e.g.
synchronizing some logic on the snapped
section, fetching stuff in a list,
triggering new animations, etc. This
feature greatly simplifies the logic for
handling end-of-scroll effects, ensuring
that they are consistent across many
different input modalities. Currently,
developers address this need by observing
scroll events and building ad-hoc timeout
algorithms.
Blink component
Blink>Scroll
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EScroll>
Search tags
scroll
<https://chromestatus.com/features#tags:scroll>
TAG review
TAG review status
Not applicable
Agree this is not needed, as this is following WG
agreed-upon behavior, that has already shipped in one
implementation.
Risks
Interoperability and Compatibility
/Gecko/: Shipped/Shipping
(https://bugzilla.mozilla.org/show_bug.cgi?id=1797013)
/WebKit/: No signal
(https://github.com/WebKit/standards-positions/issues/150)
There hasn't been an explicit position
attached to the position request yet but
there is a tracking WebKit issue:
https://bugs.webkit.org/show_bug.cgi?id=201556
/Web developers/: Positive
(https://twitter.com/nghuuphuoc/status/1618806085158051846?s=20)
Other examples:
https://twitter.com/radogado/status/1621479592123826184?s=20
https://twitter.com/ebidel/status/1621037204297637891?lang=en
/Other signals/:
WebView application risks
Does this intent deprecate or change
behavior of existing APIs, such that it
has potentially high risk for Android
WebView-based applications?
Not potentially high risk.
Debuggability
We verified via Protocol Monitor that
DevTools supports breaking on scrollend
listeners, similar to other events.
DevTools UI change is needed to make this
accessible which will be done via
crrev.com/c/4376080
<https://crrev.com/c/4376080>.
Will this feature be supported on all six
Blink platforms (Windows, Mac, Linux,
Chrome OS, Android, and Android WebView)?
Yes
Is this feature fully tested by
web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
Yes
https://wpt.fyi/results/dom/events/scrolling?label=master&label=experimental&aligned
<https://wpt.fyi/results/dom/events/scrolling?label=master&label=experimental&aligned>
paints an odd picture, where our current experimental
implementation passes some of the tests, but not
others, and Firefox seems to be failing some of them.
Can you elaborate on the end state you're expecting
once this ships?
We should have filtered that wpt.fyi link to scrollend
tests:
https://wpt.fyi/results/dom/events/scrolling?label=master&label=experimental&aligned&q=scrollend
<https://wpt.fyi/results/dom/events/scrolling?label=master&label=experimental&aligned&q=scrollend>
We expect the scrollend tests to pass on all the browsers
except Safari which doesn't support scrollend yet I believe.
I've looked more closely into the failures and filed
crbug.com/1430947 <http://crbug.com/1430947> explaining
the reasons they are failing should have them all fixed
soon. They are mostly issues with the way the tests are
written.
Do you have a sense of the Firefox failures? Are they all in
newer tests that were added after they implemented the feature?
I'm slightly concerned we'd ship this with interoperability
issues.
I was able to reproduce the firefox failures locally and I
observed 2 main issues:
i) In some tests Firefox just isn't scrolling or isn't firing
scrollend when we expect it to, even though when I manually
interacting with the firefox browser in the same scenarios it does
scroll and does fire scrollend as expected. These seem to have to
do with the test environment/setup. This affects old tests where
it's not yet clear why the outcome is different in tests than via
manual interaction.
There is an existing mozilla bug for some of these tests:
https://bugzilla.mozilla.org/show_bug.cgi?id=1655754. I will
update the relevant bugs to see if firefox folks can take a look.
There are also newer bugs for more recent tests:
https://bugzilla.mozilla.org/show_bug.cgi?id=1814530,
https://bugzilla.mozilla.org/show_bug.cgi?id=1826912. I will
comment on these bugs as well.
ii) Firefox sometimes (i.e. when scrolling via keyboard) fires
scrollend when there is no scroll - in this case, there shouldn't
be a scrollend event, per the second note in the spec
(https://drafts.csswg.org/cssom-view/#scrolling). With wheel
scrolls, firefox (correctly) does not fire scrollend if there is
no scroll. I will file a mozilla bug for this issue and update
here when I've done so.
Flag name
N/A
base::Feature is autogenerated from
runtime_enabled_features.json5
<https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/platform/runtime_enabled_features.json5;l=2920?q=%22name:%20%22ScrollEndEvents%22%22&sq=&ss=chromium%2Fchromium%2Fsrc>
Requires code in //chrome?
False
Tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=907601
Estimated milestones
M114
Anticipated spec changes
Open questions about a feature may be a
source of future web compat or interop
issues. Please list open issues (e.g.
links to known github issues in the
project for the feature specification)
whose resolution may introduce web
compat/interop risk (e.g., changing to
naming or structure of the API in a
non-backward-compatible way).
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5186382643855360
This intent message was generated by
Chrome Platform Status
<https://chromestatus.com/>.
--
You received this message because you are
subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving
emails from it, send an email to
blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAA6pwF7nGNT0bwM8VY3Jj0TAEe9jNptKuwrMN1%3DO8tnqH2t8JQ%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAA6pwF7nGNT0bwM8VY3Jj0TAEe9jNptKuwrMN1%3DO8tnqH2t8JQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google
Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfV6V7eLcqcgSZfiNP%3Dm8gA5YKKGDfJKLiz5Y%2B8iFEDggQ%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfV6V7eLcqcgSZfiNP%3Dm8gA5YKKGDfJKLiz5Y%2B8iFEDggQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/06f9f250-b1e4-895e-c609-22fa880e26c3%40gmail.com.