OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/ui/cocoa/web_intent_picker_cocoa.h" | 5 #include "chrome/browser/ui/cocoa/web_intent_picker_cocoa.h" |
6 | 6 |
7 #import <Cocoa/Cocoa.h> | 7 #import <Cocoa/Cocoa.h> |
8 | 8 |
9 #include "chrome/browser/ui/browser.h" | 9 #include "chrome/browser/ui/browser.h" |
10 #include "chrome/browser/ui/browser_window.h" | 10 #include "chrome/browser/ui/browser_window.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 anchor = [browser->window()->GetNativeHandle() convertBaseToScreen:anchor]; | 39 anchor = [browser->window()->GetNativeHandle() convertBaseToScreen:anchor]; |
40 | 40 |
41 // The controller is deallocated when the window is closed, so no need to | 41 // The controller is deallocated when the window is closed, so no need to |
42 // worry about it here. | 42 // worry about it here. |
43 [[WebIntentBubbleController alloc] initWithPicker:this | 43 [[WebIntentBubbleController alloc] initWithPicker:this |
44 parentWindow:parentWindow | 44 parentWindow:parentWindow |
45 anchoredAt:anchor]; | 45 anchoredAt:anchor]; |
46 } | 46 } |
47 | 47 |
48 void WebIntentPickerCocoa::SetServiceURLs(const std::vector<GURL>& urls) { | 48 void WebIntentPickerCocoa::SetServiceURLs(const std::vector<GURL>& urls) { |
| 49 DCHECK(controller_); |
| 50 scoped_nsobject<NSMutableArray> urlArray( |
| 51 [[NSMutableArray alloc] initWithCapacity:urls.size()]); |
| 52 |
| 53 for (std::vector<GURL>::const_iterator iter(urls.begin()); |
| 54 iter != urls.end(); ++iter) { |
| 55 [urlArray addObject: |
| 56 [NSString stringWithUTF8String:iter->spec().c_str()]]; |
| 57 } |
| 58 |
| 59 [controller_ setServiceURLs:urlArray]; |
49 } | 60 } |
50 | 61 |
51 void WebIntentPickerCocoa::SetServiceIcon(size_t index, const SkBitmap& icon) { | 62 void WebIntentPickerCocoa::SetServiceIcon(size_t index, const SkBitmap& icon) { |
52 DCHECK(controller_); | 63 DCHECK(controller_); |
53 if (icon.empty()) | 64 if (icon.empty()) |
54 return; | 65 return; |
55 | 66 |
56 NSImage* image = gfx::SkBitmapToNSImage(icon); | 67 NSImage* image = gfx::SkBitmapToNSImage(icon); |
57 [controller_ replaceImageAtIndex:index withImage:image]; | 68 [controller_ replaceImageAtIndex:index withImage:image]; |
58 } | 69 } |
(...skipping 15 matching lines...) Expand all Loading... |
74 | 85 |
75 void WebIntentPickerCocoa::OnServiceChosen(size_t index) { | 86 void WebIntentPickerCocoa::OnServiceChosen(size_t index) { |
76 DCHECK(delegate_); | 87 DCHECK(delegate_); |
77 delegate_->OnServiceChosen(index); | 88 delegate_->OnServiceChosen(index); |
78 } | 89 } |
79 | 90 |
80 void WebIntentPickerCocoa::set_controller( | 91 void WebIntentPickerCocoa::set_controller( |
81 WebIntentBubbleController* controller) { | 92 WebIntentBubbleController* controller) { |
82 controller_ = controller; | 93 controller_ = controller; |
83 } | 94 } |
OLD | NEW |