WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
250814
scrollTop and scrollLeft always 0 in DOMContentLoaded handler on a scrolled page
https://bugs.webkit.org/show_bug.cgi?id=250814
Summary
scrollTop and scrollLeft always 0 in DOMContentLoaded handler on a scrolled page
Ahmad Saleem
Reported
2023-01-18 17:13:28 PST
Hi Team, While going through Blink's commit, I came across this nasty bug where the test case make Safari do continuous reload and cause issue. I think it is good to fix it right away. Test Case with continuous reloading -
https://jsfiddle.net/v960ryzt/
^ in Safari 16.2 & STP161, it will continuously reload scrollbar while it does not in Chrome Canary 111 and Firefox Nightly 111. It seems like that the navigation is stuck and page is refreshing. Blink Commit -
https://chromium.googlesource.com/chromium/blink/+/3ad81cf0b724a2a25ee5cc79a09541d9a971ae15
WebKit Source -
https://searchfox.org/wubkat/source/Source/WebCore/loader/FrameLoader.cpp#2739
I just wanted to raise bug so we can fix it. Thanks!
Attachments
Add attachment
proposed patch, testcase, etc.
Ahmad Saleem
Comment 1
2023-01-20 04:21:38 PST
I tried this PR -
https://github.com/WebKit/WebKit/pull/8809
>> THIS TIMEOUT - scroll-position-restored-on-back-at-load-event.html
But I think this test is wrong because it is timing-out in EWS as well and I tried fixing based on my understanding but it didn't work. As it is - it is failing in Chrome Canary 111 & Firefox Nightly 111 as well but the scrollbar repainting or refreshing is not as severe as Safari. They just refresh page. ____ As for taking updated copy of test case from source.chromium.org, you have to bring following in WebKit:
> gesture-util.js > back.html [which is just <script>history.back()</script>]
^ Although, I think 'gesture-util.js' is not needed because I tried to look into one by one function or variable which one is from it in the test but couldn't find. ____ Appreciate if someone can give any direction or input to fix this test. Thanks!
Radar WebKit Bug Importer
Comment 2
2023-01-25 17:14:29 PST
<
rdar://problem/104674675
>
Ahmad Saleem
Comment 3
2023-02-19 15:50:39 PST
I manage to fix the last failing test but it is failing in iOS, which might be because we might have platform limitation. Appreciate if someone can have a quick look and see if we need this -
https://github.com/WebKit/WebKit/pull/8809
I can add platform specific exception in iOS unless except if it is genuine bug. I have seen various "scroll" tests being skipped in iOS.
Ahmad Saleem
Comment 4
2023-04-04 05:18:48 PDT
(In reply to Ahmad Saleem from
comment #3
)
> I manage to fix the last failing test but it is failing in iOS, which might > be because we might have platform limitation. > > Appreciate if someone can have a quick look and see if we need this - >
https://github.com/WebKit/WebKit/pull/8809
> > I can add platform specific exception in iOS unless except if it is genuine > bug. I have seen various "scroll" tests being skipped in iOS.
I noticed that the didFirstLayout() code has special path for iOS platform, which was added as part of
bug 125879
. I think we might have to skip these failing tests and since these are only failing tests on iOS platform and all other tests pass. So I think it is safe change. @Simon - Any input?
Ahmad Saleem
Comment 5
2023-09-24 11:04:15 PDT
This also works: if (isBackForwardLoadType(m_loadType) || isReload(m_loadType))
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug