Bug 150108

Summary: Change GraphicsContext image-drawing functions to take references
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: New BugsAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: simon.fraser
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch sam: review+

Simon Fraser (smfr)
Reported 2015-10-13 16:59:16 PDT
Change GraphicsContext image-drawing functions to take references
Attachments
Patch (92.94 KB, patch)
2015-10-13 17:00 PDT, Simon Fraser (smfr)
no flags
Patch (96.83 KB, patch)
2015-10-13 18:11 PDT, Simon Fraser (smfr)
no flags
Patch (98.03 KB, patch)
2015-10-13 18:43 PDT, Simon Fraser (smfr)
no flags
Patch (94.78 KB, patch)
2015-10-13 20:07 PDT, Simon Fraser (smfr)
no flags
Patch (99.80 KB, patch)
2015-10-13 20:48 PDT, Simon Fraser (smfr)
no flags
Patch (100.57 KB, patch)
2015-10-14 08:43 PDT, Simon Fraser (smfr)
sam: review+
Simon Fraser (smfr)
Comment 1 2015-10-13 17:00:54 PDT
Tim Horton
Comment 2 2015-10-13 17:09:19 PDT
Comment on attachment 263038 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=263038&action=review > Source/WebCore/platform/graphics/filters/FEBlend.cpp:76 > + if (!imageBuffer || !imageBuffer2) > + return; Please make sure this doesn't cause us to end up with uninitialized data in a filter buffer. > Source/WebCore/platform/graphics/filters/FEColorMatrix.cpp:151 > + if (inBuffer) As above. I really think crashing might be better in some of these cases. > Source/WebCore/platform/graphics/filters/FEMerge.cpp:54 > + if (ImageBuffer* inBuffer = in->asImageBuffer()) Ditto. > Source/WebCore/platform/graphics/filters/FEOffset.cpp:83 > + if (!resultImage || !inBuffer) Ditto. > Source/WebCore/platform/graphics/filters/FETile.cpp:51 > + if (!resultImage || !inBuffer) Ditto. > Source/WebCore/platform/graphics/filters/SourceAlpha.cpp:57 > + if (!imageBuffer) Ditto. > Source/WebCore/platform/graphics/filters/SourceGraphic.cpp:56 > + if (!resultImage || !sourceImage) Ditto maybe? > Source/WebCore/rendering/FilterEffectRenderer.cpp:432 > + if (ImageBuffer* outputBuffer = filter->output()) { I'm going to stop dittoing now.
Simon Fraser (smfr)
Comment 3 2015-10-13 17:48:49 PDT
I simulated failure in some of the FE* cases and got blank, not garbage pixels.
Simon Fraser (smfr)
Comment 4 2015-10-13 18:11:47 PDT
Tim Horton
Comment 5 2015-10-13 18:38:57 PDT
Comment on attachment 263046 [details] Patch EWS is still not happy.
Simon Fraser (smfr)
Comment 6 2015-10-13 18:43:58 PDT
Simon Fraser (smfr)
Comment 7 2015-10-13 20:07:57 PDT
Simon Fraser (smfr)
Comment 8 2015-10-13 20:48:29 PDT
Simon Fraser (smfr)
Comment 9 2015-10-14 08:43:12 PDT
Simon Fraser (smfr)
Comment 10 2015-10-14 11:11:27 PDT
Note You need to log in before you can comment on or make changes to this bug.