Closed Bug 1845646 Opened 1 year ago Closed 9 months ago

Fix a race condition where we don't properly handle scroll position updates until we received the proper layersId from the parent process painting

Categories

(Core :: Panning and Zooming, defect, P3)

defect

Tracking

()

RESOLVED FIXED
125 Branch
Tracking Status
firefox125 --- fixed

People

(Reporter: hiro, Assigned: hiro)

References

(Blocks 4 open bugs)

Details

Attachments

(3 files, 3 obsolete files)

The race is the root cause of bug 1841305. And I believe with the fix for the race we can drop a workaround for the same root cause issue in our mochitests introduced in https://hg.mozilla.org/integration/autoland/rev/49393cd5db23 .

Attaching file contains a wpt to cause the race at least on my local Linux box.

Blocks: 1786332
Blocks: 1794097
Blocks: 1862592
Blocks: 1871760

With restricting to the scroll position updates in the first paint data, fixing the race was so hard. So I'd like to start with the approach with the restriction here in this bug, and later if we could still see this race we can extend the approach to address non-first paint cases.

One caveat is that I can no longer see the test failure attached in comment 0 locally without any changes on the current m-c. That said, the test, after-scrollable-range-shrinkage-004.html surely fails without any changes, but doesn't fail the approach as far as I can tell.

One more note; I saw scroll-behavior-main-frame-root.html failed on a try run which includes both fixes for this bug and bug 1871760, it maybe mean that it's in fact non-first paint cases, but I am not sure. Anyways since then I haven't seen any failures, so I'd go with the current approach for now.

Assignee: nobody → hikezoe.birchill
Attachment #9380331 - Attachment description: WIP: Bug 1845646 - Make sure to update scroll position updates in the first paint where the referent id hasn't been received. → Bug 1845646 - Make sure to update scroll position updates in the first paint where the referent id hasn't been received. r?botond
Status: NEW → ASSIGNED
Attachment #9380332 - Attachment description: WIP: Bug 1845646 - Drop the workaround introduced in bug 1437295. → Bug 1845646 - Drop the workaround introduced in bug 1437295. r?botond
Attachment #9380333 - Attachment description: WIP: Bug 1845646 - Drop PASS or FAIL annotations from the tests which had been affected by bug 1845646. → Bug 1845646 - Drop PASS or FAIL annotations from the tests which had been affected by bug 1845646. r?botond
Blocks: 1881985

Comment on attachment 9380332 [details]
Bug 1845646 - Drop the workaround introduced in bug 1437295. r?botond

Revision D201922 was moved to bug 1881985. Setting attachment 9380332 [details] to obsolete.

Attachment #9380332 - Attachment is obsolete: true
Pushed by hikezoe.birchill@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1d4a8f6f0ca8 Make sure to update scroll position updates in the first paint where the referent id hasn't been received. r=botond https://hg.mozilla.org/integration/autoland/rev/76a3e268757c Drop PASS or FAIL annotations from the tests which had been affected by bug 1845646. r=botond
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/44780 for changes under testing/web-platform/tests
Status: ASSIGNED → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Target Milestone: --- → 125 Branch
Upstream PR merged by moz-wptsync-bot

And add a caveat about windowSoftInputMode in a document.

We implement interactive-widget [1] in a way that the content is laid out as if
the window doesn't get resized even if the application window gets resized by
the software keyboard. To make this way work, using adjustResize is mandatory.

An alternative approach to implement it is to change windowSoftInputMode value
depending on each content's interactive-widget value in each Android Activity,
i.e., set to adjustResize on interactive-widget=resizes-content mode, set to
adjustUnspecified on interactive-widget=resizes-visual or on
interactive-widget=overlays-mode. It will force applications to do more work.

[1] https://drafts.csswg.org/css-viewport/#interactive-widget-section

Comment on attachment 9390414 [details]
Bug 1845646 - Explicitly set android.windowSoftInputMode to GeckoView test runner. r?#geckoview-reviewers

Revision D204165 was moved to bug 1831649. Setting attachment 9390414 [details] to obsolete.

Attachment #9390414 - Attachment is obsolete: true

Comment on attachment 9390418 [details]
Bug 1845646 - Tweak viewport stuff while the dynamic toolbar is moving for interactive-widget. r?botond

Revision D204169 was moved to bug 1831649. Setting attachment 9390418 [details] to obsolete.

Attachment #9390418 - Attachment is obsolete: true
Blocks: 1885073
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: