Bug 126664
Summary: | Subpixel layout: LayoutUnit::fromFloatFloor needs flooring the CSS pixel value. | ||
---|---|---|---|
Product: | WebKit | Reporter: | zalan <zalan> |
Component: | Layout and Rendering | Assignee: | zalan <zalan> |
Status: | RESOLVED INVALID | ||
Severity: | Normal | CC: | jonlee, simon.fraser, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | |||
Bug Blocks: | 126283 |
zalan
HitTestLocation operates on flooredLayoutPoint which calls fromFloatFloor() to floor the LayoutUnit values. This produces different values when subpixel is on and may result in hitting different part of the document .
failed case: (hittesting on a transformed render layer's content)
fast/html/regions/overflow-region-transform.html
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Simon Fraser (smfr)
fast/regions/overflow-region-transform.html
Simon Fraser (smfr)
Needs some debugging to see what the issues are.
Radar WebKit Bug Importer
<rdar://problem/15815563>
zalan
the current behavior is correct as snapping any user generated input (even after a transform) would generate false results.
1. user clicks at position x,y
2. after applying the render transform, it gets the value of 11.6px float.
3. the pixelsnaped value is -> 12(*64)=768, while normal rounding value is -> round(11.6*64)=742.
4. This pixelsnapped value would make the hittest code find the layer painted at 768/64=12px, while the user clicked at 11.6px (after transform)