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 |