| OLD | NEW | 
|   1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |   1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
|   2 // Use of this source code is governed by a BSD-style license that can be |   2 // Use of this source code is governed by a BSD-style license that can be | 
|   3 // found in the LICENSE file. |   3 // found in the LICENSE file. | 
|   4  |   4  | 
|   5 #include "chrome/browser/icon_loader.h" |   5 #include "chrome/browser/icon_loader.h" | 
|   6  |   6  | 
|   7 #import <AppKit/AppKit.h> |   7 #import <AppKit/AppKit.h> | 
|   8  |   8  | 
|   9 #include "base/bind.h" |   9 #include "base/bind.h" | 
|  10 #include "base/files/file_path.h" |  10 #include "base/files/file_path.h" | 
|  11 #include "base/message_loop/message_loop.h" |  11 #include "base/message_loop/message_loop.h" | 
|  12 #include "base/strings/sys_string_conversions.h" |  12 #include "base/strings/sys_string_conversions.h" | 
|  13 #include "base/threading/thread.h" |  13 #include "base/threading/thread.h" | 
|  14 #include "ui/gfx/image/image_skia.h" |  14 #include "ui/gfx/image/image_skia.h" | 
|  15 #include "ui/gfx/image/image_skia_util_mac.h" |  15 #include "ui/gfx/image/image_skia_util_mac.h" | 
|  16  |  16  | 
|  17 // static |  17 // static | 
|  18 IconGroupID IconLoader::ReadGroupIDFromFilepath( |  18 IconGroupID IconLoader::ReadGroupIDFromFilepath( | 
|  19     const base::FilePath& filepath) { |  19     const base::FilePath& filepath) { | 
|  20   return filepath.Extension(); |  20   return filepath.Extension(); | 
|  21 } |  21 } | 
|  22  |  22  | 
 |  23 // static | 
|  23 bool IconLoader::IsIconMutableFromFilepath(const base::FilePath&) { |  24 bool IconLoader::IsIconMutableFromFilepath(const base::FilePath&) { | 
|  24   return false; |  25   return false; | 
|  25 } |  26 } | 
|  26  |  27  | 
 |  28 // static | 
 |  29 content::BrowserThread::ID IconLoader::ReadIconThreadID() { | 
 |  30   return content::BrowserThread::FILE; | 
 |  31 } | 
 |  32  | 
|  27 void IconLoader::ReadIcon() { |  33 void IconLoader::ReadIcon() { | 
|  28   NSString* group = base::SysUTF8ToNSString(group_); |  34   NSString* group = base::SysUTF8ToNSString(group_); | 
|  29   NSWorkspace* workspace = [NSWorkspace sharedWorkspace]; |  35   NSWorkspace* workspace = [NSWorkspace sharedWorkspace]; | 
|  30   NSImage* icon = [workspace iconForFileType:group]; |  36   NSImage* icon = [workspace iconForFileType:group]; | 
|  31  |  37  | 
|  32   if (icon_size_ == ALL) { |  38   if (icon_size_ == ALL) { | 
|  33     // The NSImage already has all sizes. |  39     // The NSImage already has all sizes. | 
|  34     image_.reset(new gfx::Image([icon retain])); |  40     image_.reset(new gfx::Image([icon retain])); | 
|  35   } else { |  41   } else { | 
|  36     NSSize size = NSZeroSize; |  42     NSSize size = NSZeroSize; | 
| (...skipping 10 matching lines...) Expand all  Loading... | 
|  47     gfx::ImageSkia image_skia(gfx::ImageSkiaFromResizedNSImage(icon, size)); |  53     gfx::ImageSkia image_skia(gfx::ImageSkiaFromResizedNSImage(icon, size)); | 
|  48     if (!image_skia.isNull()) { |  54     if (!image_skia.isNull()) { | 
|  49       image_skia.MakeThreadSafe(); |  55       image_skia.MakeThreadSafe(); | 
|  50       image_.reset(new gfx::Image(image_skia)); |  56       image_.reset(new gfx::Image(image_skia)); | 
|  51     } |  57     } | 
|  52   } |  58   } | 
|  53  |  59  | 
|  54   target_message_loop_->PostTask(FROM_HERE, |  60   target_message_loop_->PostTask(FROM_HERE, | 
|  55       base::Bind(&IconLoader::NotifyDelegate, this)); |  61       base::Bind(&IconLoader::NotifyDelegate, this)); | 
|  56 } |  62 } | 
| OLD | NEW |