Bug 118026
| Summary: | CSS clip property should not force additional clamping to border box | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Ryosuke Niwa <rniwa> |
| Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | ahmad.saleem792, bdakin, simon.fraser, thorton, vitor.roriz |
| Priority: | P2 | Keywords: | BlinkMergeCandidate |
| Version: | 528+ (Nightly build) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Ryosuke Niwa
Merge https://chromium.googlesource.com/chromium/blink/+/3f848e4438bc0c6da76778a91761d61fcc3bd2e8
For a composited layer computing its bounds, there is a code path that
clamps a layer's cliprect to the corresponding element's border box.
However, this is incorrect, since a CSS clip may have valid bounds that
include things outside the border box. So, that clamping should only occur
if there is an overflow clip.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Ryosuke Niwa
Also merge https://chromium.googlesource.com/chromium/blink/+/bb121b3868296b08830181e1787ae6da1a7d6609
Ahmad Saleem
Renamed to - hasNonVisibleOverflow after this commit:
https://github.com/WebKit/WebKit/commit/10c7d6957a522b7a2db927f31f4c45b17ab02378
Change here - https://github.com/WebKit/WebKit/blob/5730d5c8fb455166bc00aaaef3689b3d07dcdc34/Source/WebCore/rendering/RenderLayer.cpp#L4550
} else {
to
} else if (renderer()-> hasNonVisibleOverflow()) {
^ This was revert back to original in below:
______
In other, no need to change this because it already has hasNonVisibleOverflow:
https://github.com/WebKit/WebKit/blob/5730d5c8fb455166bc00aaaef3689b3d07dcdc34/Source/WebCore/rendering/RenderLayer.cpp#L4424
and not sure on what to do here:
https://github.com/WebKit/WebKit/blob/5730d5c8fb455166bc00aaaef3689b3d07dcdc34/Source/WebCore/rendering/RenderLayer.cpp#L4428
and this can be removed (hasClip):
https://github.com/WebKit/WebKit/blob/5730d5c8fb455166bc00aaaef3689b3d07dcdc34/Source/WebCore/rendering/RenderLayer.cpp#L4445
and this FIXME need to be updated:
https://github.com/WebKit/WebKit/blob/5730d5c8fb455166bc00aaaef3689b3d07dcdc34/Source/WebCore/rendering/RenderLayer.cpp#L4542
and add remaining bits here:
https://github.com/WebKit/WebKit/blob/5730d5c8fb455166bc00aaaef3689b3d07dcdc34/Source/WebCore/rendering/RenderLayer.cpp#L4560