[Webkit-unassigned] [Bug 65063] REGRESSION(r91628): 3 canvas tests crash on Chromium Linux and one test fail on Chromium Mac

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Aug 3 13:02:25 PDT 2011


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





--- Comment #18 from Tom Hudson <tomhudson at google.com>  2011-08-03 13:02:25 PST ---
(In reply to comment #14)
> (From update of attachment 102814 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=102814&action=review
> 
> > Source/WebCore/platform/graphics/cg/GraphicsContext3DCG.cpp:103
> > +    bool hasAlpha = image->hasTransparency();
> 
> This now seems to have slightly different semantics:  it checks if currentFrameHasAlpha(), rather than frame 0. Is that intentional?  (Maybe this is actually more correct?)

(In reply to comment #14)
> (From update of attachment 102814 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=102814&action=review
> 
> > Source/WebCore/platform/graphics/cg/GraphicsContext3DCG.cpp:103
> > +    bool hasAlpha = image->hasTransparency();
> 
> This now seems to have slightly different semantics:  it checks if currentFrameHasAlpha(), rather than frame 0. Is that intentional?  (Maybe this is actually more correct?)

Oh, good point. I think we need somebody familiar with the CG port here - it looks like the subsequent code SOMETIMES operates on frame 0, and SOMETIMES on the current frame?

This may mean that the attempt to define "isBitmapImage()" as "semantically bitmap-like" rather than "fake WebCore::BitmapImage RTTI" isn't going to work, and we'll have to make one of the other fixes discussed in email.

I will be out of the office for 2 of the next 3 weeks; if somebody wants to fix this bug before then, other routes forward we've considered are:

1. Return false from BitmapImageSingleFrameSkia::isBitmapImage(); add a new function (hasRaster()? hasBitmapSemantics()?) and use that in RenderLayerBacking::isDirectlyCompositedImage(),
ImageQualityController::shouldPaintAtLowQuality(), and possibly CachedImage::destroyDecodedData().

2. Have BitmapImageSingleFrameSkia inherit from WebCore::BitmapImage, and stub out all of the functionality there we don't want.

3. Separate out AnimatedBitmapImage from BitmapImage; make BitmapImageSingleFrameSkia inherit from BitmapImage. This feels to me like it leaves the source code in the cleanest state, but has a heavy impact on all the other ports.

-- 
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