RESOLVED WONTFIX 67583
Make overflowchanged event asynchronous
https://bugs.webkit.org/show_bug.cgi?id=67583
Summary Make overflowchanged event asynchronous
Dimitri Glazkov (Google)
Reported 2011-09-04 20:55:04 PDT
It looks like this is a non-standard event that is the only thing that's keeping us from ditching a fairly massive chunk of FrameAction/FrameActionSchedule machinery. And it's the only thing left that can still go bump in the middle of the night. What I mean by this is it's the only event handler that could still fire while querying properties that cause forced style recalc + layout. Perhaps we could just remove it altogether? Anders, you added it back in http://trac.webkit.org/changeset/15191. Do you remember why we need it?
Attachments
Patch (26.49 KB, patch)
2011-09-05 15:07 PDT, Dimitri Glazkov (Google)
darin: review+
Dimitri Glazkov (Google)
Comment 1 2011-09-05 15:07:58 PDT
Anders Carlsson
Comment 2 2011-09-06 09:39:35 PDT
It was added to support a feature in Mail.app. I'll e-mail someone and check if it's still used.
Anders Carlsson
Comment 3 2011-09-29 11:58:43 PDT
It is still used, but it can definitely be made asynchronous!
Dimitri Glazkov (Google)
Comment 4 2011-09-29 12:25:10 PDT
(In reply to comment #3) > It is still used, but it can definitely be made asynchronous! Yay!! I thereby humbly request your review, kind sir.
mitz
Comment 5 2011-10-17 12:51:18 PDT
This seems like a very risky change. Making scroll events asynchronous has irreparably broken apps and websites, even though it had already been asynchronous in other engines, so people assumed that content was not depending on the synchronous nature. overflowchange, however, originated in WebKit, where it had always fired synchronously, so all apps and web content using it expect it to be synchronous.
Anders Carlsson
Comment 6 2011-10-17 15:00:49 PDT
(In reply to comment #5) > This seems like a very risky change. Making scroll events asynchronous has irreparably broken apps and websites, even though it had already been asynchronous in other engines, so people assumed that content was not depending on the synchronous nature. overflowchange, however, originated in WebKit, where it had always fired synchronously, so all apps and web content using it expect it to be synchronous. There is only one known client that uses this event, and I've verified that this patch doesn't break the client.
Dimitri Glazkov (Google)
Comment 7 2013-01-18 14:14:52 PST
Eric's reminder of r+'d patches led me back to this patch. Darin, Anders, Dan -- are we doing this or not? Let me know. I'll rebase/commit or just wontfix the bug.
Ahmad Saleem
Comment 8 2022-09-29 11:09:02 PDT
It seems that this r+ patch didn't landed in Webkit (checked with Bug ID in Webkit GitHub). Is it still applicable? Thanks!
Darin Adler
Comment 9 2022-09-30 09:55:13 PDT
I don’t know, but think instead we should investigate removing the overflowchanged event.
Darin Adler
Comment 10 2022-09-30 09:57:35 PDT
I believe the only client using this was macOS Mail, and if I am not mistaken it’s no longer used in the new version coming in macOS Ventura. And the TOT WebKit does not need to be compatible with older versions of macOS Mail.
Darin Adler
Comment 11 2022-09-30 09:58:05 PDT
Another alternative that would be helpful but less tidy would be to make sure it’s exposed only in Mail, and not web-exposed.
Alexey Proskuryakov
Comment 12 2022-09-30 13:11:09 PDT
AFAIK this code path is still runtime switchable. Not sure how long we need to support it (probably needs to be discussed elsewhere).
Darin Adler
Comment 13 2022-09-30 14:29:40 PDT
If it’s runtime switchable, and off for web browsers by default, then I agree that internal Apple discussion can help us pinpoint when we can remove it entirely and this bug can be closed as "never to be fixed".
Ahmad Saleem
Comment 14 2024-12-15 07:00:55 PST
Safari 18.2 shipped with overflowchanged event removed successfully. Marking this as `RESOLVED WONTFIX`.
Note You need to log in before you can comment on or make changes to this bug.