-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
overflow:hidden changes the stacking order #8122
Comments
If this one is free for the taking I would like to have a look into it. |
Sure looks like it! |
For the moment I'm stuck with this one. I have established that it works with overflow auto, scroll and visible. I have looked in There's two files in this directory. One of them is the optimizer. I have taken out the optimizer (I've had it return the same I then looked at the I've search Do you have any suggestions as to where I could look next or any ideas? I'm hoping for some angle on how to tackle this next. |
CC @mrobinson |
I believe this is also fixed by #8266. |
Sometimes positioned content needs to be layered on top of stacking contexts. The layer synthesis code can do this, but the current design prevents it because stacking contexts are stored in a separate struct member. In order to preserve tree order, mix stacking contexts into the positioned content list, by adding a new StackingContextClass DisplayItem. Such items do not have a base DisplayItem. In some ways this simplifies the code, because we no longer have to have a separate code path in the StackingContextLayerCreator. Fixes servo#7779. Fixes servo#7983. Fixes servo#8122.
Sometimes positioned content needs to be layered on top of stacking contexts. The layer synthesis code can do this, but the current design prevents it because stacking contexts are stored in a separate struct member. In order to preserve tree order, mix stacking contexts into the positioned content list, by adding a new StackingContextClass DisplayItem. Such items do not have a base DisplayItem. In some ways this simplifies the code, because we no longer have to have a separate code path in the StackingContextLayerCreator. Fixes servo#7779. Fixes servo#7983. Fixes servo#8122.
Adding overflow:hidden to an absolute positioned div will change it's stacking order. referencing servo#8122
@mrobinson I have made a wpt test with the case written by @paulrouget which I have committed to a branch (gilles-leblanc@b2ba72a). I then pulled and merged your branch master...mrobinson:stacking-context-mix and tested it but I'm still getting a failure on the test case. |
@gilles-leblanc I ran your test locally on top of master...mrobinson:stacking-context-mix and it seems to pass for me. Can you double-check by pulling the branch at https://github.com/mrobinson/servo/tree/gilles-test and testing again? If it continues to fail for you, would you post or describe the image diff from the test results analyzer at http://hoppipolla.co.uk/410/reftest-analyser-structured.xhtml? |
@mrobinson I pulled the branch and it's still failing but it's probably something on my side, some sort of mistake I did. I've created a gist with the log file: https://gist.github.com/gilles-leblanc/8e6467040d342272a996 which you can paste in the reftest analyser. |
@gilles-leblanc Tests that were added for issues in previous PRs that I have landed seem to be failing as well. Can you double-check that you are not running the tests with a stale build? One thing that I sometimes do is to only compile a debug build and accidentally run the tests with --release flag or the opposite. |
@mrobinson Oh my bad I thought that the tests were ran with the last build, in my case a release build so I didn't supply the --release switch for the test command. Sorry! Everything now works. |
Sometimes positioned content needs to be layered on top of stacking contexts. The layer synthesis code can do this, but the current design prevents it because stacking contexts are stored in a separate struct member. In order to preserve tree order, mix stacking contexts into the positioned content list, by adding a new StackingContextClass DisplayItem. Such items do not have a base DisplayItem. In some ways this simplifies the code, because we no longer have to have a separate code path in the StackingContextLayerCreator. Fixes servo#7779. Fixes servo#7983. Fixes servo#8122. Fixes servo#8310.
The text was updated successfully, but these errors were encountered: