Bug 285282
| Summary: | Account for perspective of the scroller when determining a transformed child's contribution to layout overflow | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Ahmad Saleem <ahmad.saleem792> |
| Component: | Layout and Rendering | Assignee: | Ahmad Saleem <ahmad.saleem792> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | bfulgham, karlcow, simon.fraser, webkit-bug-importer, zalan |
| Priority: | P2 | Keywords: | BrowserCompat, InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Ahmad Saleem
Hi Team,
While going through Blink's commit, I came across another failing test case in Safari / WebKit only.
Test Case: https://jsfiddle.net/sqnrw1v5/1/
^ Not scrollbars.
Blink Commit: https://chromium.googlesource.com/chromium/src.git/+/602f4cdf9e0944a68fe91d12ead5b2ece186b8e3
Haven't explored whether we can merge it or not but from quick look, we might be able to do it.
Just raising, so we can fix it.
Thanks!
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/142573993>
Ahmad Saleem
This compiles and progress above test case:
if (paintGeometryAffectsLayoutOverflow) {
// If we are relatively positioned or if we have a transform, then we have to convert
// this rectangle into physical coordinates, apply relative positioning and transforms
// to it, and then convert it back.
// It ensures that the overflow rect tracks the paint geometry and not the inflow layout position.
flipForWritingMode(rect);
LayoutSize containerOffset;
if (isInFlowPositioned())
containerOffset = offsetForInFlowPosition();
auto container = this->container();
if (shouldUseTransformFromContainer(container)) {
TransformationMatrix t;
getTransformFromContainer(containerOffset, t);
rect = t.mapRect(rect);
} else
rect.move(offsetForInFlowPosition());
// Now we need to flip back.
flipForWritingMode(rect);
}
Ahmad Saleem
Pull request: https://github.com/WebKit/WebKit/pull/47032
EWS
Committed 296652@main (7005f16aba81): <https://commits.webkit.org/296652@main>
Reviewed commits have been landed. Closing PR #47032 and removing active labels.