[Webkit-unassigned] [Bug 270898] New: macOS 14.4 Regression: HTML elements in a WebView (Legacy) do not repaint when their width/height change

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Mar 12 23:20:52 PDT 2024


https://bugs.webkit.org/show_bug.cgi?id=270898

            Bug ID: 270898
           Summary: macOS 14.4 Regression: HTML elements in a WebView
                    (Legacy) do not repaint when their width/height change
           Product: WebKit
           Version: Safari 17
          Hardware: Mac (Apple Silicon)
                OS: macOS 14
            Status: NEW
          Severity: Blocker
          Priority: P2
         Component: Layout and Rendering
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: jonathan at tumult.com
                CC: bfulgham at webkit.org, simon.fraser at apple.com,
                    zalan at apple.com

Created attachment 470332

  --> https://bugs.webkit.org/attachment.cgi?id=470332&action=review

Screenshot of reproduction

SUMMARY:
Using the old WebView class, elements with 3D transforms do not repaint when their size changes programmatically.

STEPS TO REPRODUCE:
1. Create an app that uses an WebView (the pre-WKWebView one)
2. Have code like:

    <div id="elm" style="transform: rotateY(0deg); height: 100px; width: 100px; background-color:#ccc"></div>
    <script>
        window.setTimeout(function() {
            elm.style.height = "10px";
        }, 1000);
    </script>

EXPECTED RESULTS:
The height of the div should change from 100px to 10px after one second.

ACTUAL RESULTS:
It does not change, the div continues to look like it is 100px.
(If you do certain things that trigger a repaint though (like click in the webview), you will eventually see it.)

FILES:
I have attached a screenshot comparing WebView(Legacy) and WKWebView, along with an Xcode project that reproduces the problem.

NOTES:
- This is a *regression* in macOS 14.4. 
- It does not occur in macOS 14.3.
- It does not occur with WKWebViews.
- It does not occur if you remove the 'transform: rotateY(0deg)' style.

HARM:
This affects all users of Tumult Hype: http://tumult.com/hype/. Resizing elements is a critical function of the application!

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240313/3297e891/attachment.htm>


More information about the webkit-unassigned mailing list