Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2321)

Unified Diff: Source/platform/graphics/ImageFrameGenerator.cpp

Issue 794223003: Cheaper thread-safe atomic initialization of static references. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add type check for initial value Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/platform/graphics/ImageFrameGenerator.cpp
diff --git a/Source/platform/graphics/ImageFrameGenerator.cpp b/Source/platform/graphics/ImageFrameGenerator.cpp
index f6055513198bbae99a4b7f5cd2d7d0f7c8e3689e..41babb5cce4e5c6a860f124dd029f787dcdd6e0d 100644
--- a/Source/platform/graphics/ImageFrameGenerator.cpp
+++ b/Source/platform/graphics/ImageFrameGenerator.cpp
@@ -94,7 +94,7 @@ ImageFrameGenerator::ImageFrameGenerator(const SkISize& fullSize, PassRefPtr<Sha
ImageFrameGenerator::~ImageFrameGenerator()
{
- ImageDecodingStore::instance()->removeCacheIndexedByGenerator(this);
+ ImageDecodingStore::instance().removeCacheIndexedByGenerator(this);
}
void ImageFrameGenerator::setData(PassRefPtr<SharedBuffer> data, bool allDataReceived)
@@ -194,7 +194,7 @@ SkBitmap ImageFrameGenerator::tryToResumeDecode(const SkISize& scaledSize, size_
TRACE_EVENT1("blink", "ImageFrameGenerator::tryToResumeDecodeAndScale", "index", static_cast<int>(index));
ImageDecoder* decoder = 0;
- const bool resumeDecoding = ImageDecodingStore::instance()->lockDecoder(this, m_fullSize, &decoder);
+ const bool resumeDecoding = ImageDecodingStore::instance().lockDecoder(this, m_fullSize, &decoder);
ASSERT(!resumeDecoding || decoder);
SkBitmap fullSizeImage;
@@ -219,7 +219,7 @@ SkBitmap ImageFrameGenerator::tryToResumeDecode(const SkISize& scaledSize, size_
m_decodeFailedAndEmpty = !m_isMultiFrame && decoder->failed();
if (resumeDecoding)
- ImageDecodingStore::instance()->unlockDecoder(this, decoder);
+ ImageDecodingStore::instance().unlockDecoder(this, decoder);
return SkBitmap();
}
@@ -241,13 +241,13 @@ SkBitmap ImageFrameGenerator::tryToResumeDecode(const SkISize& scaledSize, size_
if (resumeDecoding) {
if (removeDecoder) {
- ImageDecodingStore::instance()->removeDecoder(this, decoder);
+ ImageDecodingStore::instance().removeDecoder(this, decoder);
m_frameComplete.clear();
+ } else {
+ ImageDecodingStore::instance().unlockDecoder(this, decoder);
}
- else
- ImageDecodingStore::instance()->unlockDecoder(this, decoder);
} else if (!removeDecoder) {
- ImageDecodingStore::instance()->insertDecoder(this, decoderContainer.release());
+ ImageDecodingStore::instance().insertDecoder(this, decoderContainer.release());
}
return fullSizeImage;
}

Powered by Google App Engine
This is Rietveld 408576698