[webkit-changes] [WebKit/WebKit] 41852c: Speedometer 3: Fix rendering issue on TodoMVC-Reac...
mattwoodrow
noreply at github.com
Wed Jan 8 15:07:12 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 41852cb138bc10b39fdd1826e076b894787388db
https://github.com/WebKit/WebKit/commit/41852cb138bc10b39fdd1826e076b894787388db
Author: Matt Woodrow <mattwoodrow at apple.com>
Date: 2025-01-08 (Wed, 08 Jan 2025)
Changed paths:
M Source/WebCore/editing/FrameSelection.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
Log Message:
-----------
Speedometer 3: Fix rendering issue on TodoMVC-React-Complex-DOM.
https://bugs.webkit.org/show_bug.cgi?id=283949
<rdar://140217928>
Reviewed by Simon Fraser.
Occasionally the hidden dropdown menus are seen animating opacity during the
test.
This happens becuase the react code calls 'focus' on an element, and that can
force a style flush. If that happens before all the stylesheets have loaded,
then we initialize style with an opacity of 1. When the stylesheet loads, we set
opacity to 0 and initiate a transition.
Fix this by not synchronously update style and layout when the selection change.
These should be write only, and don't immediately need the results.
Also make the EditorState::PostLayoutData that we send to the UI process
conditional on all stylesheets being available.
* Source/WebCore/editing/FrameSelection.cpp:
(WebCore::FrameSelection::updateCaretVisibility):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState const):
Canonical link: https://commits.webkit.org/288617@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list