Make gfx::Image instance a local variable.
This follows https://codereview.chromium.org/2709683002
This commit is contained in:
parent
c1d68974ab
commit
b3743058c0
4 changed files with 18 additions and 12 deletions
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include "base/bind.h"
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/memory/ptr_util.h"
|
||||
#include "base/message_loop/message_loop.h"
|
||||
#include "base/strings/sys_string_conversions.h"
|
||||
#include "base/threading/thread.h"
|
||||
|
@ -30,9 +31,11 @@ void IconLoader::ReadIcon() {
|
|||
NSWorkspace* workspace = [NSWorkspace sharedWorkspace];
|
||||
NSImage* icon = [workspace iconForFileType:group];
|
||||
|
||||
std::unique_ptr<gfx::Image> image;
|
||||
|
||||
if (icon_size_ == ALL) {
|
||||
// The NSImage already has all sizes.
|
||||
image_.reset(new gfx::Image([icon retain]));
|
||||
image = base::MakeUnique<gfx::Image>([icon retain]);
|
||||
} else {
|
||||
NSSize size = NSZeroSize;
|
||||
switch (icon_size_) {
|
||||
|
@ -48,11 +51,11 @@ void IconLoader::ReadIcon() {
|
|||
gfx::ImageSkia image_skia(gfx::ImageSkiaFromResizedNSImage(icon, size));
|
||||
if (!image_skia.isNull()) {
|
||||
image_skia.MakeThreadSafe();
|
||||
image_.reset(new gfx::Image(image_skia));
|
||||
image = base::MakeUnique<gfx::Image>(image_skia);
|
||||
}
|
||||
}
|
||||
|
||||
target_task_runner_->PostTask(
|
||||
FROM_HERE, base::Bind(callback_, base::Passed(&image_), group_));
|
||||
FROM_HERE, base::Bind(callback_, base::Passed(&image), group_));
|
||||
delete this;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue