Fix a race condition on SkBitmap::lockPixels()/unlockPixels() for lazy image decoding
Created attachment 183685 [details] Patch
Comment on attachment 183685 [details] Patch This looks OK to me, but I'll wait for hclam to take a look.
Comment on attachment 183685 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=183685&action=review > Source/WebCore/platform/graphics/chromium/ImageDecodingStore.cpp:135 > + image->bitmap().lockPixels(); Make this call after line 147 so you don't need to take lock here.
Created attachment 184014 [details] Patch
Comment on attachment 183685 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=183685&action=review >>> Source/WebCore/platform/graphics/chromium/ImageDecodingStore.cpp:135 >>> + image->bitmap().lockPixels(); >> >> Make this call after line 147 so you don't need to take lock here. > > Make this call after line 147 so you don't need to take lock here. Done
Comment on attachment 184014 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=184014&action=review > Source/WebCore/platform/graphics/chromium/ImageDecodingStore.cpp:143 > + image->bitmap().lockPixels(); image is NULL at this point. So this should be cachedImage->bitmap().lockPixels().
After the fix then lgtm.
Created attachment 184018 [details] Patch
Comment on attachment 184014 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=184014&action=review >> Source/WebCore/platform/graphics/chromium/ImageDecodingStore.cpp:143 >> + image->bitmap().lockPixels(); > > image is NULL at this point. So this should be cachedImage->bitmap().lockPixels(). ah...Didn't notice that CreateAndUse() will take the OwnPtr away. Fixed.
Comment on attachment 184018 [details] Patch Transitively OK. r=me
Comment on attachment 184018 [details] Patch Rejecting attachment 184018 [details] from commit-queue. New failing tests: inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html Full output: http://queues.webkit.org/results/16063133
Comment on attachment 184018 [details] Patch Last cq was rejected because of unrelated flakyness. Try again.
Comment on attachment 184018 [details] Patch Clearing flags on attachment: 184018 Committed r140454: <http://trac.webkit.org/changeset/140454>
All reviewed patches have been landed. Closing bug.