Closed Bug 1554755 Opened 4 months ago Closed 4 months ago

The optimization introduced by bug 1367906 is not really sound.

Categories

(Core :: Layout, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla69
Tracking Status
firefox69 --- fixed

People

(Reporter: emilio, Assigned: emilio)

References

Details

Attachments

(1 file)

Bug 1367906 added an optimization to skip computing border radius of elements without border radii. This bit is only invalidated when the element's style changes, however in the presence of percentage radii that's not all there is to it. The radii also depends on the frame size, for example.

Attachment 9067845 [details] shows an example where we paint a square rather than a circle because this bit is not properly invalidated.

Assignee: nobody → emilio
Status: NEW → ASSIGNED

I think most of the sizes that get here are going to be equivalent to
mRect.Size(), but that seems really hard to prove.

Attachment #9067860 - Attachment description: Bug 1554755 - Don't set nsIFrame::mMayHaveRoundedCorners to false when there are non-zero percent borders, as we don't track all sizes that are passed to this function. r=mstange,dbaron → Bug 1554755 - Don't set nsIFrame::mMayHaveRoundedCorners to false when there are non-zero percent borders, as we don't track all sizes that are passed to this function. r=mattwoodrow
Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9c1c939712a6
Don't set nsIFrame::mMayHaveRoundedCorners to false when there are non-zero percent borders, as we don't track all sizes that are passed to this function. r=mattwoodrow
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/17092 for changes under testing/web-platform/tests
Upstream web-platform-tests status checks passed, PR will merge once commit reaches central.
Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla69
Upstream PR merged
You need to log in before you can comment on or make changes to this bug.