[Webkit-unassigned] [Bug 54561] [chromium] Layout Test fast/canvas/setWidthResetAfterForcedRender.html fails on accelerated 2D canvas

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Feb 16 10:46:11 PST 2011


https://bugs.webkit.org/show_bug.cgi?id=54561





--- Comment #1 from Stephen White <senorblanco at chromium.org>  2011-02-16 10:46:11 PST ---
Notes for posterity:

This seems to be due to an interaction between the compositor and the accelerated 2D canvas.  If I run DumpRenderTree on this test with only --enable-accelerated-2d-canvas, it gives the correct result.  It's only when both that flag and --enable-accelerated-compositing are enabled that it fails (green square instead of white).

It seems as if the compositor is not updating the canvas after the DrawingBuffer is reset.  My first attempt was to try to update the compositor via a call to setNeedsStyleRecalc() in HTMLCanvasElement.cpp:

251c251,256
<             if (hadImageBuffer)
---
>             if (hadImageBuffer) {
> #if USE(IOSURFACE_CANVAS_BACKING_STORE) || (ENABLE(ACCELERATED_2D_CANVAS) && USE(ACCELERATED_COMPOSITING))
>                 // Force a compositor update as well.
>                 if (m_context)
>                     setNeedsStyleRecalc(SyntheticStyleChange);
> #endif
252a258,259
>             }
> 

But this seems to cause the compositor to redraw the entire page.  So the canvas rectangle is white (good), but the rest of the page is full intensity, i.e., not covered by the half-alpha mask which indicates non-repainted areas (bad).

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list