Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upHidden iframes sometimes don't get recomposited properly #6849
Comments
|
Blocks #6677 |
|
@glennw @mrobinson As far as I've been able to trace this, we correctly remove the compositor layer when we set a construction result of None. The constellation code correctly sees the pipeline in the current frame in the resulting FrameRect message, and sends the compositor a SetLayerRect message. The compositor finds the layer and updates the bounds, but |
|
I think this is a regression from servo/rust-layers#182. Layers can either mask their children or not and iframe containers always mask their children. Now, it seems that the property is only respected for layers that create a new RenderContext3D. |
|
In theory, iframe root layers should always create a new RenderContext3D, which should handle that situation correctly. But perhaps there's a bug and iframe root layers don't result in a RenderContext3D being created? |
|
Okay. After some investigation I have a fix lined up for rust-layers (servo/rust-layers#201). Once that lands I'll do a PR for servo with a test. |
|
An update on this one. I think the rust-layers PR fixes the bug, but I'm having a bit of trouble writing a non-flaky reference test for this issue. It is very sensitive to timing. :/ |
This should fix a bug where hidden iframes are not properly clipped away from the compositor scene. This commit adds a test for this behavior. Fixes servo#6849.
Upgrade to the latest rust-layers This should fix a bug where hidden iframes are not properly clipped away from the compositor scene. This commit adds a test for this behavior. Fixes #6849. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7503) <!-- Reviewable:end -->
This should fix a bug where hidden iframes are not properly clipped away from the compositor scene. This commit adds a test for this behavior. Fixes servo#6849.
iframe1.html
iframe2.html
Iframe contentThe iframe border disappears, but the content sticks around consistently for me.