| Summary: | Flaky background-position test and on window resize fail | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Ahmad Saleem <ahmad.saleem792> | ||||||
| Component: | CSS | Assignee: | Nobody <webkit-unassigned> | ||||||
| Status: | NEW --- | ||||||||
| Severity: | Normal | CC: | bfulgham, karlcow, ntim, simon.fraser, webkit-bug-importer, zalan | ||||||
| Priority: | P2 | Keywords: | InRadar | ||||||
| Version: | Safari Technology Preview | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Attachments: |
|
||||||||
|
Description
Ahmad Saleem
2023-06-24 06:41:08 PDT
NOTE - I did patch with and without this change and without change, we fail the test and on resize, we will have 'red' strip. Created attachment 466877 [details]
Missing paint
I think we've got multiple bugs here:
- missing initial paint when image becomes available
- incorrect position on vertical-rl body/html
Created attachment 466878 [details]
Incorrect position
(In reply to Ahmad Saleem from comment #0) > Hi Team, > > While going through some Blink merge, I noticed that my patch affected below > three tests, while investigating, I noticed that we 'PASS' them but upon > checking, noticed that if we resize the browser, it start showing 'red' > strip, which means, we fail later on resize. > > https://wpt.fyi/results/css/css-writing- > modes?label=master&label=experimental&aligned&q=background-position-vrl-0 > > Live Test Line (Sample): > http://wpt.live/css/css-writing-modes/background-position-vrl-020.xht > > ^ Open this in Safari Technology Preview 172 and resize browser window, we > will now have 'red' strip. > > __________ > > I did this patch here: > > Link: > https://github.com/WebKit/WebKit/blob/ > d5918187d18a309512bf04da9a709f43762634a0/Source/WebCore/rendering/ > BackgroundPainter.cpp#L554 > > LayoutRect extendedBackgroundRect = > view.frameView().extendedBackgroundRectForPainting(); > + if (renderer.style().writingMode() == > WritingMode::RightToLeft) > + left = borderBoxRect.width() - > positioningAreaSize.width() - right - renderer.marginRight(); > + else > > __________ > > Blink Commit: > https://src.chromium.org/viewvc/blink?view=revision&revision=194132 > > ________ > > Just wanted to raise, so we can track these failures. > > Thanks! The second case fails with Chrome too so I assume the fix is not sufficient. (In reply to zalan from comment #4) > (In reply to Ahmad Saleem from comment #0) > > Hi Team, > > > > While going through some Blink merge, I noticed that my patch affected below > > three tests, while investigating, I noticed that we 'PASS' them but upon > > checking, noticed that if we resize the browser, it start showing 'red' > > strip, which means, we fail later on resize. > > > > https://wpt.fyi/results/css/css-writing- > > modes?label=master&label=experimental&aligned&q=background-position-vrl-0 > > > > Live Test Line (Sample): > > http://wpt.live/css/css-writing-modes/background-position-vrl-020.xht > > > > ^ Open this in Safari Technology Preview 172 and resize browser window, we > > will now have 'red' strip. > > > > __________ > > > > I did this patch here: > > > > Link: > > https://github.com/WebKit/WebKit/blob/ > > d5918187d18a309512bf04da9a709f43762634a0/Source/WebCore/rendering/ > > BackgroundPainter.cpp#L554 > > > > LayoutRect extendedBackgroundRect = > > view.frameView().extendedBackgroundRectForPainting(); > > + if (renderer.style().writingMode() == > > WritingMode::RightToLeft) > > + left = borderBoxRect.width() - > > positioningAreaSize.width() - right - renderer.marginRight(); > > + else > > > > __________ > > > > Blink Commit: > > https://src.chromium.org/viewvc/blink?view=revision&revision=194132 > > > > ________ > > > > Just wanted to raise, so we can track these failures. > > > > Thanks! > The second case fails with Chrome too so I assume the fix is not sufficient. Indeed, just tested on Chrome Canary 117 and only Firefox Nightly 116 is passing it. Thanks for your input as always. |