When accessing login.live.com and inputting an email, there is a transition to present the next screen for inputting a password. If the user clicks the back arrow to return to the email input, the animation of that transition stutters. This will occur every time the use transitions forwards or backwards in this login flow. Steps to Reproduce: 1. Launch Safari 2. Access login.live.com 3. Input an email 4. Click “Next”, verifying the smooth transition 5. Click the back arrow next to the email address Expected Results: Transition back to the user name field should be smooth Actual Results: Transition back to the user name field is jittery, causing the text to stutter
<rdar://problem/67019460>
Created attachment 408447 [details] Reduction
Created attachment 408528 [details] Patch for EWS
Trying to understand the code here. In RenderLayerCompositor::layerStyleChanged(), I see this comment: // Create or destroy backing here so that code that runs during layout can reliably use isComposited() (though this // is only true for layers composited for direct reasons). // Also, it allows us to avoid a tree walk in updateCompositingLayers() when no layer changed its compositing state. This makes me believe that when we call updateBacking() and that it returns true as the second animation starts (and we have the duplicate fader), the layout isn't up-to-date and so calling repaintOnCompositingChange() under updateBacking() happens before we can paint with the right layout. Calling repaintOnCompositingChange() in a further updateBacking() call for the same layer certainly fixes the issue, but then it's probably called too often and I doubt it's legitimate.
Created attachment 408529 [details] WIP
Created attachment 408531 [details] Patch
Comment on attachment 408531 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=408531&action=review > Source/WebCore/rendering/RenderLayerCompositor.cpp:958 > + repaintOnCompositingChange(layer); This isn't the right place to do this. The bug is about backing sharing. This is not a backing-sharing-specific change.
Created attachment 408552 [details] Patch
Created attachment 408553 [details] Patch
Committed r266972: <https://trac.webkit.org/changeset/266972> All reviewed patches have been landed. Closing bug and clearing flags on attachment 408553 [details].