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 upBox with overflow:hidden cut inner div with absolute position by content edge, not by padding edge #16576
Comments
|
What's the best way to recreate these manual testcases? Would it be to create a wpt? Or just create a |
|
@aacunningham It's easiest to create a local html file and point Servo at it. To submit an actual fix, it's recommended to convert it into a reftest as part of the automated testsuite. |
|
After reading through some of the spec on block widths, learning some lingo, and reading a bit of code, I think I'd like to take this on. Do I assign myself with highfive or through you, @jdm? |
|
Is it possible that issue #16559 is also related to this since they do seem to have some traits in common? |
|
I am doubtful. |
|
Same, since that issue seems to apply more to the hover action and not an issue with the rendered width of boxes. I'm about to do some debugging today, but I'm going to start my look in the width calculations for absolute nonreplaced blocks and see where that gets me Edit: that or look into how overflow is handled, who knows |
|
https://github.com/servo/servo/wiki/Getting-started-with-layout may have tips to help you understand the code a bit better. |
|
Additionally, we have https://github.com/servo/servo/tree/master/etc/layout_viewer which can help break down what happens in which part of layout for a given testcase. |
|
Don't think I've read that one yet, thanks! |
|
I retract my earlier doubt. @sciguyryan is right; this looks like it's a regression from #16336 as well. |
|
cc @mrobinson |
|
I probably shouldn't have had any doubt since I'm pretty new to this, but also retracted. What's the best way moving forward with this ticket then? Would it make more sense to have a new issue made that's a little more overarching, or is this issue fine? And since mrobinson would know the most about how the regression was introduced, would it make more sense to have them take over, or is it fine if I keep looking into the issue? |
|
Clearly the cause of regression is the same, but the fix for both issues might be different, so I don't think it makes sense to file an overarching one. I don't think there's anything wrong with you continuing to investigate this weekend; if you come up with any conclusions then perhaps @mrobinson could provide useful input on Monday. |
|
Perfect, thanks a lot! |
|
Alright, here's what I've discovered: Using Pre #16336
Post #16336
Diffed the two, found the main difference being that the new code adds a Going into this, I found that the If none of this seems completely crazy, I'll clean up my code, learn how to add a reftest, and push up a PR. |
|
Seems plausible! https://github.com/servo/servo/blob/master/tests/wpt/README.md#writing-new-tests has information about adding a new test. |
The clip for overflow:scroll clip was not including the space for padding, which could lead to some content being clipped when it shouldn't. This changes fixes that issue. Fixes servo#16576.
The clip for overflow:scroll clip was not including the space for padding, which could lead to some content being clipped when it shouldn't. This changes fixes that issue. A test is skipped because this fix also stops hiding a failure due to mispositioned text. Fixes servo#16576.
|
I have a fix for this at mrobinson@f190445. It's just waiting on the WebRender update. |
The clip for overflow:scroll clip was not including the space for padding, which could lead to some content being clipped when it shouldn't. This changes fixes that issue. A test is skipped because this fix also stops hiding a failure due to mispositioned text. Fixes servo#16576.
The clip for overflow:scroll clip was not including the space for padding, which could lead to some content being clipped when it shouldn't. This changes fixes that issue. A test is skipped because this fix also stops hiding a failure due to mispositioned text. Fixes servo#16576.
The clip for overflow:scroll clip was not including the space for padding, which could lead to some content being clipped when it shouldn't. This changes fixes that issue. A test is skipped because this fix also stops hiding a failure due to mispositioned text. Fixes servo#16576.
Fix the size and position of overflow:scroll clip The clip for overflow:scroll clip was not including the space for padding, which could lead to some content being clipped when it shouldn't. This changes fixes that issue. A test is skipped because this fix also stops hiding a failure due to mispositioned text. Fixes #16576. <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #16576 (github issue number if applicable). <!-- Either: --> - [x] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17712) <!-- Reviewable:end -->
Fix the size and position of overflow:scroll clip The clip for overflow:scroll clip was not including the space for padding, which could lead to some content being clipped when it shouldn't. This changes fixes that issue. A test is skipped because this fix also stops hiding a failure due to mispositioned text. Fixes #16576. <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #16576 (github issue number if applicable). <!-- Either: --> - [x] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17712) <!-- Reviewable:end -->
Tested on Windows 8.1 x64