| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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/views/page_info_window.h" | 5 #include "chrome/browser/views/page_info_window.h" |
| 6 | 6 |
| 7 #include <cryptuiapi.h> | 7 #include <cryptuiapi.h> |
| 8 #pragma comment(lib, "cryptui.lib") | 8 #pragma comment(lib, "cryptui.lib") |
| 9 | 9 |
| 10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 } | 163 } |
| 164 | 164 |
| 165 SecurityTabView::Section::~Section() { | 165 SecurityTabView::Section::~Section() { |
| 166 } | 166 } |
| 167 | 167 |
| 168 int SecurityTabView::Section::GetHeightForWidth(int width) { | 168 int SecurityTabView::Section::GetHeightForWidth(int width) { |
| 169 // The height of the section depends on the height of the description label | 169 // The height of the section depends on the height of the description label |
| 170 // (multi-line). We need to know the width of the description label to know | 170 // (multi-line). We need to know the width of the description label to know |
| 171 // its height. | 171 // its height. |
| 172 int height = 0; | 172 int height = 0; |
| 173 CSize size; | 173 gfx::Size size = title_label_->GetPreferredSize(); |
| 174 title_label_->GetPreferredSize(&size); | 174 height += size.height() + kVGapTitleToImage; |
| 175 height += size.cy + kVGapTitleToImage; | |
| 176 | 175 |
| 177 CSize image_size; | 176 gfx::Size image_size = status_image_->GetPreferredSize(); |
| 178 status_image_->GetPreferredSize(&image_size); | |
| 179 | 177 |
| 180 int text_height = 0; | 178 int text_height = 0; |
| 181 if (!head_line_label_->GetText().empty()) { | 179 if (!head_line_label_->GetText().empty()) { |
| 182 head_line_label_->GetPreferredSize(&size); | 180 size = head_line_label_->GetPreferredSize(); |
| 183 text_height = size.cy + kVGapHeadLineToDescription; | 181 text_height = size.height() + kVGapHeadLineToDescription; |
| 184 } | 182 } |
| 185 | 183 |
| 186 int description_width = width - image_size.cx - kHGapImageToDescription - | 184 int description_width = |
| 187 kHGapToBorder; | 185 width - image_size.width() - kHGapImageToDescription - kHGapToBorder; |
| 188 text_height += description_label_->GetHeightForWidth(description_width); | 186 text_height += description_label_->GetHeightForWidth(description_width); |
| 189 | 187 |
| 190 height += std::max(static_cast<int>(image_size.cy), text_height); | 188 height += std::max(image_size.height(), text_height); |
| 191 | 189 |
| 192 return height; | 190 return height; |
| 193 } | 191 } |
| 194 | 192 |
| 195 void SecurityTabView::Section::Layout() { | 193 void SecurityTabView::Section::Layout() { |
| 196 // First, layout the title and separator. | 194 // First, layout the title and separator. |
| 197 int x = 0; | 195 int x = 0; |
| 198 int y = 0; | 196 int y = 0; |
| 199 CSize size; | 197 gfx::Size size = title_label_->GetPreferredSize(); |
| 200 title_label_->GetPreferredSize(&size); | 198 title_label_->SetBounds(x, y, size.width(), size.height()); |
| 201 title_label_->SetBounds(x, y, size.cx, size.cy); | 199 x += size.width() + kHGapTitleToSeparator; |
| 202 x += size.cx + kHGapTitleToSeparator; | |
| 203 separator_->SetBounds(x + kHExtraSeparatorPadding, y, | 200 separator_->SetBounds(x + kHExtraSeparatorPadding, y, |
| 204 width() - x - 2 * kHExtraSeparatorPadding, size.cy); | 201 width() - x - 2 * kHExtraSeparatorPadding, |
| 202 size.height()); |
| 205 | 203 |
| 206 // Then the image, head-line and description. | 204 // Then the image, head-line and description. |
| 207 x = kHGapToBorder; | 205 x = kHGapToBorder; |
| 208 y += title_label_->height() + kVGapTitleToImage; | 206 y += title_label_->height() + kVGapTitleToImage; |
| 209 status_image_->GetPreferredSize(&size); | 207 size = status_image_->GetPreferredSize(); |
| 210 status_image_->SetBounds(x, y, size.cx, size.cy); | 208 status_image_->SetBounds(x, y, size.width(), size.height()); |
| 211 x += size.cx + kHGapImageToDescription; | 209 x += size.width() + kHGapImageToDescription; |
| 212 int w = width() - x; | 210 int w = width() - x; |
| 213 if (!head_line_label_->GetText().empty()) { | 211 if (!head_line_label_->GetText().empty()) { |
| 214 head_line_label_->GetPreferredSize(&size); | 212 size = head_line_label_->GetPreferredSize(); |
| 215 head_line_label_->SetBounds(x, y, w > 0 ? w : 0, size.cy); | 213 head_line_label_->SetBounds(x, y, w > 0 ? w : 0, size.height()); |
| 216 y += size.cy + kVGapHeadLineToDescription; | 214 y += size.height() + kVGapHeadLineToDescription; |
| 217 } else { | 215 } else { |
| 218 head_line_label_->SetBounds(x, y, 0, 0); | 216 head_line_label_->SetBounds(x, y, 0, 0); |
| 219 } | 217 } |
| 220 if (w > 0) { | 218 if (w > 0) { |
| 221 description_label_->SetBounds(x, y, w, | 219 description_label_->SetBounds(x, y, w, |
| 222 description_label_->GetHeightForWidth(w)); | 220 description_label_->GetHeightForWidth(w)); |
| 223 } else { | 221 } else { |
| 224 description_label_->SetBounds(x, y, 0, 0); | 222 description_label_->SetBounds(x, y, 0, 0); |
| 225 } | 223 } |
| 226 } | 224 } |
| (...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 443 // ChromeViews::View overrides: | 441 // ChromeViews::View overrides: |
| 444 virtual void GetPreferredSize(CSize *out) { | 442 virtual void GetPreferredSize(CSize *out) { |
| 445 DCHECK(out); | 443 DCHECK(out); |
| 446 *out = ChromeViews::Window::GetLocalizedContentsSize( | 444 *out = ChromeViews::Window::GetLocalizedContentsSize( |
| 447 IDS_PAGEINFO_DIALOG_WIDTH_CHARS, | 445 IDS_PAGEINFO_DIALOG_WIDTH_CHARS, |
| 448 IDS_PAGEINFO_DIALOG_HEIGHT_LINES).ToSIZE(); | 446 IDS_PAGEINFO_DIALOG_HEIGHT_LINES).ToSIZE(); |
| 449 } | 447 } |
| 450 | 448 |
| 451 virtual void Layout() { | 449 virtual void Layout() { |
| 452 if (cert_viewer_button_) { | 450 if (cert_viewer_button_) { |
| 453 CSize ps; | 451 gfx::Size ps = cert_viewer_button_->GetPreferredSize(); |
| 454 cert_viewer_button_->GetPreferredSize(&ps); | |
| 455 | 452 |
| 456 CRect parent_bounds; | 453 CRect parent_bounds; |
| 457 GetParent()->GetLocalBounds(&parent_bounds, false); | 454 GetParent()->GetLocalBounds(&parent_bounds, false); |
| 458 int y_buttons = parent_bounds.bottom - ps.cy - kButtonVEdgeMargin; | 455 int y_buttons = parent_bounds.bottom - ps.height() - kButtonVEdgeMargin; |
| 459 cert_viewer_button_->SetBounds(kPanelHorizMargin, y_buttons, ps.cx, | 456 cert_viewer_button_->SetBounds(kPanelHorizMargin, y_buttons, ps.width(), |
| 460 ps.cy); | 457 ps.height()); |
| 461 } | 458 } |
| 462 View::Layout(); | 459 View::Layout(); |
| 463 } | 460 } |
| 464 | 461 |
| 465 private: | 462 private: |
| 466 ChromeViews::NativeButton* cert_viewer_button_; | 463 ChromeViews::NativeButton* cert_viewer_button_; |
| 467 | 464 |
| 468 DISALLOW_EVIL_CONSTRUCTORS(PageInfoContentView); | 465 DISALLOW_EVIL_CONSTRUCTORS(PageInfoContentView); |
| 469 }; | 466 }; |
| 470 | 467 |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 693 HCERTSTORE cert_store = view_info.pCertContext->hCertStore; | 690 HCERTSTORE cert_store = view_info.pCertContext->hCertStore; |
| 694 view_info.cStores = 1; | 691 view_info.cStores = 1; |
| 695 view_info.rghStores = &cert_store; | 692 view_info.rghStores = &cert_store; |
| 696 BOOL properties_changed; | 693 BOOL properties_changed; |
| 697 | 694 |
| 698 // This next call blocks but keeps processing windows messages, making it | 695 // This next call blocks but keeps processing windows messages, making it |
| 699 // modal to the browser window. | 696 // modal to the browser window. |
| 700 BOOL rv = ::CryptUIDlgViewCertificate(&view_info, &properties_changed); | 697 BOOL rv = ::CryptUIDlgViewCertificate(&view_info, &properties_changed); |
| 701 } | 698 } |
| 702 | 699 |
| OLD | NEW |