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

Side by Side Diff: chrome/browser/cocoa/page_info_window_mac.mm

Issue 3560004: Refactor the code for loading icons into the PageInfoModel. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: cleanup Created 10 years, 2 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 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/cocoa/page_info_window_mac.h" 5 #include "chrome/browser/cocoa/page_info_window_mac.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "app/l10n_util.h" 9 #include "app/l10n_util.h"
10 #include "base/scoped_cftyperef.h" 10 #include "base/scoped_cftyperef.h"
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 } // namespace browser 60 } // namespace browser
61 61
62 PageInfoWindowMac::PageInfoWindowMac(PageInfoWindowController* controller, 62 PageInfoWindowMac::PageInfoWindowMac(PageInfoWindowController* controller,
63 Profile* profile, 63 Profile* profile,
64 const GURL& url, 64 const GURL& url,
65 const NavigationEntry::SSLStatus& ssl, 65 const NavigationEntry::SSLStatus& ssl,
66 bool show_history) 66 bool show_history)
67 : controller_(controller), 67 : controller_(controller),
68 model_(new PageInfoModel(profile, url, ssl, show_history, this)), 68 model_(new PageInfoModel(profile, url, ssl, show_history, this)),
69 cert_id_(ssl.cert_id()) { 69 cert_id_(ssl.cert_id()) {
70 Init();
71 } 70 }
72 71
73 PageInfoWindowMac::PageInfoWindowMac(PageInfoWindowController* controller, 72 PageInfoWindowMac::PageInfoWindowMac(PageInfoWindowController* controller,
74 PageInfoModel* model) 73 PageInfoModel* model)
75 : controller_(controller), 74 : controller_(controller),
76 model_(model), 75 model_(model),
77 cert_id_(0) { 76 cert_id_(0) {
78 Init();
79 } 77 }
80 78
81 // static 79 // static
82 void PageInfoWindowMac::ShowPageInfo(gfx::NativeWindow parent, 80 void PageInfoWindowMac::ShowPageInfo(gfx::NativeWindow parent,
83 Profile* profile, 81 Profile* profile,
84 const GURL& url, 82 const GURL& url,
85 const NavigationEntry::SSLStatus& ssl, 83 const NavigationEntry::SSLStatus& ssl,
86 bool show_history) { 84 bool show_history) {
87 // The controller will clean itself up after the NSWindow it manages closes. 85 // The controller will clean itself up after the NSWindow it manages closes.
88 // We do not manage it as it owns us. 86 // We do not manage it as it owns us.
89 PageInfoWindowController* controller = 87 PageInfoWindowController* controller =
90 [[PageInfoWindowController alloc] init]; 88 [[PageInfoWindowController alloc] init];
91 PageInfoWindowMac* page_info = new PageInfoWindowMac(controller, 89 PageInfoWindowMac* page_info = new PageInfoWindowMac(controller,
92 profile, 90 profile,
93 url, 91 url,
94 ssl, 92 ssl,
95 show_history); 93 show_history);
96 [controller setPageInfo:page_info]; 94 [controller setPageInfo:page_info];
97 page_info->LayoutSections(); 95 page_info->LayoutSections();
98 page_info->Show(); 96 page_info->Show();
99 } 97 }
100 98
101 void PageInfoWindowMac::Init() {
102 // Load the image refs.
103 ResourceBundle& rb = ResourceBundle::GetSharedInstance();
104 good_image_.reset([rb.GetNSImageNamed(IDR_PAGEINFO_GOOD) retain]);
105 DCHECK_GE(kImageSize, [good_image_ size].width);
106 DCHECK_GE(kImageSize, [good_image_ size].height);
107 bad_image_.reset([rb.GetNSImageNamed(IDR_PAGEINFO_BAD) retain]);
108 DCHECK_GE(kImageSize, [bad_image_ size].width);
109 DCHECK_GE(kImageSize, [bad_image_ size].height);
110 }
111
112 PageInfoWindowMac::~PageInfoWindowMac() { 99 PageInfoWindowMac::~PageInfoWindowMac() {
113 } 100 }
114 101
115 void PageInfoWindowMac::ShowCertDialog(int) { 102 void PageInfoWindowMac::ShowCertDialog(int) {
116 DCHECK(cert_id_ != 0); 103 DCHECK(cert_id_ != 0);
117 ShowCertificateViewerByID([controller_ window], cert_id_); 104 ShowCertificateViewerByID([controller_ window], cert_id_);
118 } 105 }
119 106
120 void PageInfoWindowMac::ModelChanged() { 107 void PageInfoWindowMac::ModelChanged() {
121 LayoutSections(); 108 LayoutSections();
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 [text_field setFrame:text_field_rect]; 193 [text_field setFrame:text_field_rect];
207 194
208 // Insert the image subview. 195 // Insert the image subview.
209 NSRect image_view_rect = 196 NSRect image_view_rect =
210 NSMakeRect(kBoxHorizontalSpacing, 197 NSMakeRect(kBoxHorizontalSpacing,
211 box_height - (kImageSize + kBoxTopSpacing), 198 box_height - (kImageSize + kBoxTopSpacing),
212 kImageSize, kImageSize); 199 kImageSize, kImageSize);
213 scoped_nsobject<NSImageView> image_view( 200 scoped_nsobject<NSImageView> image_view(
214 [[NSImageView alloc] initWithFrame:image_view_rect]); 201 [[NSImageView alloc] initWithFrame:image_view_rect]);
215 [image_view setImageFrameStyle:NSImageFrameNone]; 202 [image_view setImageFrameStyle:NSImageFrameNone];
216 [image_view setImage:(info.state == PageInfoModel::SECTION_STATE_OK) ? 203 [image_view setImage:model_->GetIconImage(info.icon_id)];
217 good_image_.get() : bad_image_.get()];
218 204
219 // Add the box to the list of new subviews. 205 // Add the box to the list of new subviews.
220 [box addSubview:image_view.get()]; 206 [box addSubview:image_view.get()];
221 [box addSubview:text_field.get()]; 207 [box addSubview:text_field.get()];
222 [subviews addObject:box.get()]; 208 [subviews addObject:box.get()];
223 } 209 }
224 210
225 // Replace the window's content. 211 // Replace the window's content.
226 [[[controller_ window] contentView] setSubviews:subviews]; 212 [[[controller_ window] contentView] setSubviews:subviews];
227 213
(...skipping 15 matching lines...) Expand all
243 [cert_button setEnabled:YES]; 229 [cert_button setEnabled:YES];
244 } 230 }
245 } 231 }
246 232
247 // Resize the window. Only animate if the window is visible, otherwise it 233 // Resize the window. Only animate if the window is visible, otherwise it
248 // could be "growing" while it's opening, looking awkward. 234 // could be "growing" while it's opening, looking awkward.
249 [[controller_ window] setFrame:window_frame 235 [[controller_ window] setFrame:window_frame
250 display:YES 236 display:YES
251 animate:[[controller_ window] isVisible]]; 237 animate:[[controller_ window] isVisible]];
252 } 238 }
OLDNEW
« no previous file with comments | « chrome/browser/cocoa/page_info_window_mac.h ('k') | chrome/browser/cocoa/page_info_window_mac_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698