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

Unified Diff: chrome/browser/views/download_item_view.cc

Issue 7344: Convert GetPreferredSize from:... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/views/download_item_view.cc
===================================================================
--- chrome/browser/views/download_item_view.cc (revision 3391)
+++ chrome/browser/views/download_item_view.cc (working copy)
@@ -73,8 +73,7 @@
save_button_(NULL),
discard_button_(NULL),
dangerous_download_label_(NULL),
- dangerous_download_label_sized_(false),
- cached_button_size_(0, 0) {
+ dangerous_download_label_sized_(false) {
// TODO(idana) Bug# 1163334
//
// We currently do not mirror each download item on the download shelf (even
@@ -178,9 +177,8 @@
else
box_y_ = kVerticalPadding;
- CSize size;
- GetPreferredSize(&size);
- drop_down_x_ = size.cx - normal_drop_down_image_set_.top->width();
+ gfx::Size size = GetPreferredSize();
+ drop_down_x_ = size.width() - normal_drop_down_image_set_.top->width();
body_hover_animation_.reset(new SlideAnimation(this));
drop_hover_animation_.reset(new SlideAnimation(this));
@@ -303,13 +301,13 @@
dangerous_download_label_->SetBounds(x, y,
dangerous_download_label_->width(),
dangerous_download_label_->height());
- CSize button_size;
- GetButtonSize(&button_size);
+ gfx::Size button_size = GetButtonSize();
x += dangerous_download_label_->width() + kLabelPadding;
- y = (height() - button_size.cy) / 2;
- save_button_->SetBounds(x, y, button_size.cx, button_size.cy);
- x += button_size.cx + kButtonPadding;
- discard_button_->SetBounds(x, y, button_size.cx, button_size.cy);
+ y = (height() - button_size.height()) / 2;
+ save_button_->SetBounds(x, y, button_size.width(), button_size.height());
+ x += button_size.width() + kButtonPadding;
+ discard_button_->SetBounds(x, y, button_size.width(),
+ button_size.height());
}
}
@@ -550,20 +548,20 @@
parent_->SchedulePaint();
}
-void DownloadItemView::GetPreferredSize(CSize* out) {
+gfx::Size DownloadItemView::GetPreferredSize() {
int width, height;
if (IsDangerousMode()) {
width = kLeftPadding + dangerous_mode_body_image_set_.top_left->width();
width += warning_icon_->width() + kLabelPadding;
width += dangerous_download_label_->width() + kLabelPadding;
- CSize button_size;
- GetButtonSize(&button_size);
- width += button_size.cx * 2 + kButtonPadding;
+ gfx::Size button_size = GetButtonSize();
+ width += button_size.width() * 2 + kButtonPadding;
width += dangerous_mode_body_image_set_.top_right->width();
height = std::max<int>(2 * kVerticalPadding + 2 * font_.height() +
kVerticalTextPadding,
2 * kVerticalPadding + warning_icon_->height());
- height = std::max<int>(height, 2 * kVerticalPadding + button_size.cy);
+ height = std::max<int>(height,
+ 2 * kVerticalPadding + button_size.height());
} else {
width = kLeftPadding + normal_body_image_set_.top_left->width();
width += download_util::kSmallProgressIconSize;
@@ -574,8 +572,7 @@
kVerticalTextPadding,
download_util::kSmallProgressIconSize);
}
- out->cx = width;
- out->cy = height;
+ return gfx::Size(width, height);
}
void DownloadItemView::OnMouseExited(const ChromeViews::MouseEvent& event) {
@@ -728,27 +725,27 @@
NewCallback(this, &DownloadItemView::OnExtractIconComplete));
}
-void DownloadItemView::GetButtonSize(CSize* size) {
+gfx::Size DownloadItemView::GetButtonSize() {
DCHECK(save_button_ && discard_button_);
+ gfx::Size size;
+
// We cache the size when successfully retrieved, not for performance reasons
// but because if this DownloadItemView is being animated while the tab is
// not showing, the native buttons are not parented and their preferred size
// is 0, messing-up the layout.
- if (cached_button_size_.cx != 0) {
- *size = cached_button_size_;
- }
+ if (cached_button_size_.width() != 0)
+ size = cached_button_size_;
- CSize tmp_size;
- save_button_->GetMinimumSize(size);
- discard_button_->GetMinimumSize(&tmp_size);
+ size = save_button_->GetMinimumSize();
+ gfx::Size discard_size = discard_button_->GetMinimumSize();
- size->cx = std::max(size->cx, tmp_size.cx);
- size->cy = std::max(size->cy, tmp_size.cy);
+ size.SetSize(std::max(size.width(), discard_size.width()),
+ std::max(size.height(), discard_size.height()));
- if (size->cx != 0) {
- cached_button_size_.cx = size->cx;
- cached_button_size_.cy = size->cy;
- }
+ if (size.width() != 0)
+ cached_button_size_ = size;
+
+ return size;
}
// This method computes the miminum width of the label for diplaying its text
@@ -766,22 +763,22 @@
// current width.
dangerous_download_label_->SetBounds(0, 0, 1000, 1000);
- CSize size(0, 0);
+ gfx::Size size;
int min_width = -1;
int sp_index = text.find(L" ");
while (sp_index != std::wstring::npos) {
text.replace(sp_index, 1, L"\n");
dangerous_download_label_->SetText(text);
- dangerous_download_label_->GetPreferredSize(&size);
+ size = dangerous_download_label_->GetPreferredSize();
if (min_width == -1)
- min_width = size.cx;
+ min_width = size.width();
- // If thw width is growing again, it means we passed the optimal width spot.
- if (size.cx > min_width)
+ // If the width is growing again, it means we passed the optimal width spot.
+ if (size.width() > min_width)
break;
else
- min_width = size.cx;
+ min_width = size.width();
// Restore the string.
text.replace(sp_index, 1, L" ");
@@ -791,8 +788,8 @@
// If we have a line with no space, we won't cut it.
if (min_width == -1)
- dangerous_download_label_->GetPreferredSize(&size);
+ size = dangerous_download_label_->GetPreferredSize();
- dangerous_download_label_->SetBounds(0, 0, size.cx, size.cy);
+ dangerous_download_label_->SetBounds(gfx::Point(), size);
dangerous_download_label_sized_ = true;
}

Powered by Google App Engine
This is Rietveld 408576698