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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.cpp

Issue 2628773002: Replaced RefPtr::release with std::move in Source/platform. (Closed)
Patch Set: Created 3 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 std::unique_ptr<ImageDecoder> actualDecoder = 67 std::unique_ptr<ImageDecoder> actualDecoder =
68 ImageDecoder::create(data, dataComplete, alphaOption, colorBehavior); 68 ImageDecoder::create(data, dataComplete, alphaOption, colorBehavior);
69 if (!actualDecoder) 69 if (!actualDecoder)
70 return nullptr; 70 return nullptr;
71 71
72 std::unique_ptr<DeferredImageDecoder> decoder( 72 std::unique_ptr<DeferredImageDecoder> decoder(
73 new DeferredImageDecoder(std::move(actualDecoder))); 73 new DeferredImageDecoder(std::move(actualDecoder)));
74 74
75 // Since we've just instantiated a fresh decoder, there's no need to reset its 75 // Since we've just instantiated a fresh decoder, there's no need to reset its
76 // data. 76 // data.
77 decoder->setDataInternal(data.release(), dataComplete, false); 77 decoder->setDataInternal(std::move(data), dataComplete, false);
78 78
79 return decoder; 79 return decoder;
80 } 80 }
81 81
82 std::unique_ptr<DeferredImageDecoder> DeferredImageDecoder::createForTesting( 82 std::unique_ptr<DeferredImageDecoder> DeferredImageDecoder::createForTesting(
83 std::unique_ptr<ImageDecoder> actualDecoder) { 83 std::unique_ptr<ImageDecoder> actualDecoder) {
84 return WTF::wrapUnique(new DeferredImageDecoder(std::move(actualDecoder))); 84 return WTF::wrapUnique(new DeferredImageDecoder(std::move(actualDecoder)));
85 } 85 }
86 86
87 DeferredImageDecoder::DeferredImageDecoder( 87 DeferredImageDecoder::DeferredImageDecoder(
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 sk_sp<SkROBuffer> roBuffer(m_rwBuffer->newRBufferSnapshot()); 322 sk_sp<SkROBuffer> roBuffer(m_rwBuffer->newRBufferSnapshot());
323 RefPtr<SegmentReader> segmentReader = 323 RefPtr<SegmentReader> segmentReader =
324 SegmentReader::createFromSkROBuffer(std::move(roBuffer)); 324 SegmentReader::createFromSkROBuffer(std::move(roBuffer));
325 325
326 SkImageInfo info = SkImageInfo::MakeN32( 326 SkImageInfo info = SkImageInfo::MakeN32(
327 decodedSize.width(), decodedSize.height(), 327 decodedSize.width(), decodedSize.height(),
328 knownToBeOpaque ? kOpaque_SkAlphaType : kPremul_SkAlphaType, 328 knownToBeOpaque ? kOpaque_SkAlphaType : kPremul_SkAlphaType,
329 m_colorSpaceForSkImages); 329 m_colorSpaceForSkImages);
330 330
331 DecodingImageGenerator* generator = new DecodingImageGenerator( 331 DecodingImageGenerator* generator = new DecodingImageGenerator(
332 m_frameGenerator, info, segmentReader.release(), m_allDataReceived, index, 332 m_frameGenerator, info, std::move(segmentReader), m_allDataReceived,
333 m_frameData[index].m_uniqueID); 333 index, m_frameData[index].m_uniqueID);
334 sk_sp<SkImage> image = SkImage::MakeFromGenerator( 334 sk_sp<SkImage> image = SkImage::MakeFromGenerator(
335 generator); // SkImage takes ownership of the generator. 335 generator); // SkImage takes ownership of the generator.
336 if (!image) 336 if (!image)
337 return nullptr; 337 return nullptr;
338 338
339 // We can consider decoded bitmap constant and reuse uniqueID only after all 339 // We can consider decoded bitmap constant and reuse uniqueID only after all
340 // data is received. We reuse it also for multiframe images when image data 340 // data is received. We reuse it also for multiframe images when image data
341 // is partially received but the frame data is fully received. 341 // is partially received but the frame data is fully received.
342 if (m_allDataReceived || m_frameData[index].m_isComplete) { 342 if (m_allDataReceived || m_frameData[index].m_isComplete) {
343 DCHECK(m_frameData[index].m_uniqueID == 343 DCHECK(m_frameData[index].m_uniqueID ==
(...skipping 19 matching lines...) Expand all
363 363
364 namespace WTF { 364 namespace WTF {
365 template <> 365 template <>
366 struct VectorTraits<blink::DeferredFrameData> 366 struct VectorTraits<blink::DeferredFrameData>
367 : public SimpleClassVectorTraits<blink::DeferredFrameData> { 367 : public SimpleClassVectorTraits<blink::DeferredFrameData> {
368 STATIC_ONLY(VectorTraits); 368 STATIC_ONLY(VectorTraits);
369 static const bool canInitializeWithMemset = 369 static const bool canInitializeWithMemset =
370 false; // Not all DeferredFrameData members initialize to 0. 370 false; // Not all DeferredFrameData members initialize to 0.
371 }; 371 };
372 } 372 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698