Bug 213788 - REGRESSION(r260276): Overflow scrolling layers misplaced inside SVG foreign object
Summary: REGRESSION(r260276): Overflow scrolling layers misplaced inside SVG foreign o...
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: Safari 12
Hardware: iPhone / iPad iOS 13
: P2 Normal
Assignee: Simon Fraser (smfr)
Keywords: InRadar
Depends on:
Reported: 2020-06-30 06:03 PDT by Muhammet Olcay
Modified: 2020-07-11 10:55 PDT (History)
22 users (show)

See Also:

example view (89.46 KB, image/png)
2020-06-30 06:03 PDT, Muhammet Olcay
no flags Details
Example Html (7.50 KB, text/html)
2020-07-02 02:00 PDT, Muhammet Olcay
no flags Details
safari from simulator iphone 11 (187.13 KB, image/png)
2020-07-02 03:19 PDT, Muhammet Olcay
no flags Details
Patch (11.16 KB, patch)
2020-07-10 21:21 PDT, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Muhammet Olcay 2020-06-30 06:03:32 PDT
Created attachment 403191 [details]
example view

you can see difference between UIWebView and WKWebView svg rendering difference

broken html code part is;

<foreignObject x="24" y="175" width="327" height="120">
    <textarea readonly="" xmlns="http://www.w3.org/1999/xhtml" placeholder="Placeholder text will be display here."></textarea>

I faced that problem only when use textarea element in svg objects and I tested all iphone devices which is support version of wkwebview.

Comment 1 Alexey Proskuryakov 2020-07-01 17:42:58 PDT
It looks like the WKWebView rendering is wrong. Can you reproduce this in Safari, and share the complete test case please?
Comment 2 Muhammet Olcay 2020-07-02 02:00:30 PDT
Created attachment 403354 [details]
Example Html
Comment 3 Muhammet Olcay 2020-07-02 03:19:28 PDT
Created attachment 403360 [details]
safari from simulator iphone 11

Hi Alexey,
I just added [https://bugs.webkit.org/attachment.cgi?id=403354] example html file for test case
Open that html file on mobile safari or wkwebview and you will face that problem instantly
Comment 4 Alexey Proskuryakov 2020-07-02 10:09:47 PDT
I get a different yet result from Safari on iOS 14 beta on iPhone 11 Pro. And even though Mac Safari looks good, Mac WebKit2 MiniBrowser does not. In MiniBrowser, I see that the textarea is absolutely positioned, but the text moves as I resize the window.

My guess would be different viewport handling between WKWebView and UIWebView, but CC'ing some experts.
Comment 5 Radar WebKit Bug Importer 2020-07-02 10:10:00 PDT
Comment 6 Simon Fraser (smfr) 2020-07-09 20:59:42 PDT
This is basically bug 23113.
Comment 7 Simon Fraser (smfr) 2020-07-10 21:21:31 PDT
Created attachment 404042 [details]
Comment 8 zalan 2020-07-11 10:30:46 PDT
Comment on attachment 404042 [details]

View in context: https://bugs.webkit.org/attachment.cgi?id=404042&action=review

> Source/WebCore/dom/Document.h:1275
> +    bool mayHaveRenderedSVGForeignObjects() const { return m_mayHaveRenderedSVGForeignObjects; }
> +    void setMayHaveRenderedSVGForeignObjects() { m_mayHaveRenderedSVGForeignObjects = true; }

It's a pity though that we set this bit on the Document and the only client is the RenderLayer (while we always have a top level layer).
Comment 9 EWS 2020-07-11 10:55:05 PDT
Committed r264269: <https://trac.webkit.org/changeset/264269>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404042 [details].