Open Bug 1715693 Opened 4 years ago Updated 1 year ago

OOP iframe contents are not rendered if the iframe is inside an SVG effect not supported by WebRender

Categories

(Core :: Graphics: WebRender, defect, P3)

defect

Tracking

()

Fission Milestone Future
Tracking Status
firefox91 --- affected

People

(Reporter: botond, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Attached file Testcase

STR

Load the attached testcase with Fission enabled.

Expected results

The iframe contents (which is just some text) are rendered, with the SVG "dilate" effect applied (making the text thicker).

This is what happens with Fission disabled.

Actual result

The iframe contents are blank.

Attachment #9226264 - Attachment mime type: text/plain → text/html
See Also: → 1698693
Summary: OOP iframe contents are not rendered if they are inside an SVG effect not supported by WebRender → OOP iframe contents are not rendered if the iframe is inside an SVG effect not supported by WebRender

Botond, do you know of any real websites that apply an SVG effect (not supported by WebRender) to an OOP iframe? Do you think this bug should block Fission MVP? It sounds like it would be an uncommon use case.

Sounds like there are two possible fixes:

  1. Add support for all SVG effects to WebRender.
  2. Or fix the rendering issue in the fallback compositor

Is this a WebRender bug (to implement all the SVG effects) or a fallback compositor bug (to fix the fallback case)?

Should we add telemetry to find out how uncommon this scenario actually is?

Fission Milestone: --- → ?
Flags: needinfo?(botond)

(In reply to Chris Peterson [:cpeterson] from comment #1)

Botond, do you know of any real websites that apply an SVG effect (not supported by WebRender) to an OOP iframe? Do you think this bug should block Fission MVP? It sounds like it would be an uncommon use case.

I don't know of any; I discovered this issue through the code audit in bug 1698693. I agree this is likely to be uncommon, and would lean towards not blocking Fission for it (but will let Jeff weigh in as well).

Sounds like there are two possible fixes:

  1. Add support for all SVG effects to WebRender.
  2. Or fix the rendering issue in the fallback compositor

Is this a WebRender bug (to implement all the SVG effects) or a fallback compositor bug (to fix the fallback case)?

Should we add telemetry to find out how uncommon this scenario actually is?

I think Jeff's probably in a better position to answer whether we want to try and address this at all, and if so, through which avenue.

Flags: needinfo?(botond) → needinfo?(jmuizelaar)

I think Jeff's probably in a better position to answer whether we want to try and address this at all, and if so, through which avenue.

Even if this case is uncommon, Nika thinks fixing this bug is probably important.

Tracking for Fission MVP until we hear from Jeff how hard this bug will be to fix.

Fission Milestone: ? → MVP

This is not easy particularly easy to fix.

  1. Is quite a bit of work
  2. I don't know if we have a practical way to hack around the lack of support in WebRender.

I think Matt has probably thought about this more than I have so he might have some suggestions.

FWIW, Safari doesn't support filters on the iframe at all. They just end up on top. That being said, I don't think we have an easy way to implement this behaviour either.

Flags: needinfo?(jmuizelaar) → needinfo?(matt.woodrow)

We added telemetry for this in bug 1480695, which is visible here: https://mozilla.github.io/usecounters/index.html#kind=page&group=null&channel=beta&version=91

0.008% of top-level page loads in beta include filtering of a cross-origin iframe, and that includes the ones that we support with WR, so the broken subset is significantly smaller again.

I think it's fine to continue not to worry about this.

Flags: needinfo?(matt.woodrow)

Some additional background here - https://bugzilla.mozilla.org/show_bug.cgi?id=1480566

I will raise this with Product, but at this point I'm feeling this should get booted from fission's MVP and marked instead as future.

Severity: -- → S4
Priority: -- → P3

(In reply to Jim Mathies [:jimm] from comment #6)

I will raise this with Product, but at this point I'm feeling this should get booted from fission's MVP and marked instead as future.

Jim, did you talk with Product about the priority of this WebRender bug about SVG animations and OOP iframes?

Based on the telemetry Matt shared in comment 5 (0.008% of top-level page loads in beta include filtering of a cross-origin iframe, and that includes the ones that we support with WR) and that we don't know of any real sites that are affected or broken, I will tentatively defer this bug from Fission MVP to Future, unless you recommend otherwise.

Fission Milestone: MVP → Future
Flags: needinfo?(jmathies)

(In reply to Chris Peterson [:cpeterson] from comment #7)

(In reply to Jim Mathies [:jimm] from comment #6)

I will raise this with Product, but at this point I'm feeling this should get booted from fission's MVP and marked instead as future.

Jim, did you talk with Product about the priority of this WebRender bug about SVG animations and OOP iframes?

Based on the telemetry Matt shared in comment 5 (0.008% of top-level page loads in beta include filtering of a cross-origin iframe, and that includes the ones that we support with WR) and that we don't know of any real sites that are affected or broken, I will tentatively defer this bug from Fission MVP to Future, unless you recommend otherwise.

Thanks., this fits our understanding as well in terms of priority.

Flags: needinfo?(jmathies)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: