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

Side by Side Diff: chrome/browser/ui/views/location_bar/content_setting_image_view.cc

Issue 25039002: Always aligns text at vertically center (Textfield, Label). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Synced. Created 7 years, 1 month 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 | Annotate | Revision Log
OLDNEW
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/ui/views/location_bar/content_setting_image_view.h" 5 #include "chrome/browser/ui/views/location_bar/content_setting_image_view.h"
6 6
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "chrome/browser/content_settings/tab_specific_content_settings.h" 8 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
9 #include "chrome/browser/ui/content_settings/content_setting_bubble_model.h" 9 #include "chrome/browser/ui/content_settings/content_setting_bubble_model.h"
10 #include "chrome/browser/ui/content_settings/content_setting_image_model.h" 10 #include "chrome/browser/ui/content_settings/content_setting_image_model.h"
(...skipping 16 matching lines...) Expand all
27 27
28 // static 28 // static
29 const int ContentSettingImageView::kOpenTimeMS = 150; 29 const int ContentSettingImageView::kOpenTimeMS = 150;
30 const int ContentSettingImageView::kAnimationDurationMS = 30 const int ContentSettingImageView::kAnimationDurationMS =
31 (kOpenTimeMS * 2) + kStayOpenTimeMS; 31 (kOpenTimeMS * 2) + kStayOpenTimeMS;
32 32
33 ContentSettingImageView::ContentSettingImageView( 33 ContentSettingImageView::ContentSettingImageView(
34 ContentSettingsType content_type, 34 ContentSettingsType content_type,
35 LocationBarView* parent, 35 LocationBarView* parent,
36 const gfx::FontList& font_list, 36 const gfx::FontList& font_list,
37 int font_y_offset,
38 SkColor text_color, 37 SkColor text_color,
39 SkColor parent_background_color) 38 SkColor parent_background_color)
40 : parent_(parent), 39 : parent_(parent),
41 content_setting_image_model_( 40 content_setting_image_model_(
42 ContentSettingImageModel::CreateContentSettingImageModel( 41 ContentSettingImageModel::CreateContentSettingImageModel(
43 content_type)), 42 content_type)),
44 background_painter_( 43 background_painter_(
45 views::Painter::CreateImageGridPainter(kBackgroundImages)), 44 views::Painter::CreateImageGridPainter(kBackgroundImages)),
46 icon_(new views::ImageView), 45 icon_(new views::ImageView),
47 text_label_(new views::Label(string16(), font_list)), 46 text_label_(new views::Label(string16(), font_list)),
48 slide_animator_(this), 47 slide_animator_(this),
49 pause_animation_(false), 48 pause_animation_(false),
50 pause_animation_state_(0.0), 49 pause_animation_state_(0.0),
51 bubble_widget_(NULL) { 50 bubble_widget_(NULL) {
52 icon_->SetHorizontalAlignment(views::ImageView::LEADING); 51 icon_->SetHorizontalAlignment(views::ImageView::LEADING);
53 AddChildView(icon_); 52 AddChildView(icon_);
54 53
55 text_label_->SetVisible(false); 54 text_label_->SetVisible(false);
56 text_label_->set_border(
57 views::Border::CreateEmptyBorder(font_y_offset, 0, 0, 0));
58 text_label_->SetEnabledColor(text_color); 55 text_label_->SetEnabledColor(text_color);
59 // Calculate the actual background color for the label. The background images 56 // Calculate the actual background color for the label. The background images
60 // are painted atop |parent_background_color|. We grab the color of the 57 // are painted atop |parent_background_color|. We grab the color of the
61 // middle pixel of the middle image of the background, which we treat as the 58 // middle pixel of the middle image of the background, which we treat as the
62 // representative color of the entire background (reasonable, given the 59 // representative color of the entire background (reasonable, given the
63 // current appearance of these images). Then we alpha-blend it over the 60 // current appearance of these images). Then we alpha-blend it over the
64 // parent background color to determine the actual color the label text will 61 // parent background color to determine the actual color the label text will
65 // sit atop. 62 // sit atop.
66 const SkBitmap& bitmap( 63 const SkBitmap& bitmap(
67 ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed( 64 ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 } 200 }
204 201
205 void ContentSettingImageView::Layout() { 202 void ContentSettingImageView::Layout() {
206 const int icon_width = icon_->GetPreferredSize().width(); 203 const int icon_width = icon_->GetPreferredSize().width();
207 icon_->SetBounds( 204 icon_->SetBounds(
208 std::min((width() - icon_width) / 2, GetBubbleOuterPadding(true)), 0, 205 std::min((width() - icon_width) / 2, GetBubbleOuterPadding(true)), 0,
209 icon_width, height()); 206 icon_width, height());
210 text_label_->SetBounds( 207 text_label_->SetBounds(
211 icon_->bounds().right() + LocationBarView::GetItemPadding(), 0, 208 icon_->bounds().right() + LocationBarView::GetItemPadding(), 0,
212 std::max(width() - GetTotalSpacingWhileAnimating() - icon_width, 0), 209 std::max(width() - GetTotalSpacingWhileAnimating() - icon_width, 0),
213 text_label_->GetPreferredSize().height()); 210 height());
214 } 211 }
215 212
216 bool ContentSettingImageView::OnMousePressed(const ui::MouseEvent& event) { 213 bool ContentSettingImageView::OnMousePressed(const ui::MouseEvent& event) {
217 // We want to show the bubble on mouse release; that is the standard behavior 214 // We want to show the bubble on mouse release; that is the standard behavior
218 // for buttons. 215 // for buttons.
219 return true; 216 return true;
220 } 217 }
221 218
222 void ContentSettingImageView::OnMouseReleased(const ui::MouseEvent& event) { 219 void ContentSettingImageView::OnMouseReleased(const ui::MouseEvent& event) {
223 if (HitTestPoint(event.location())) 220 if (HitTestPoint(event.location()))
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 bubble_widget_ = 270 bubble_widget_ =
274 parent_->delegate()->CreateViewsBubble(new ContentSettingBubbleContents( 271 parent_->delegate()->CreateViewsBubble(new ContentSettingBubbleContents(
275 ContentSettingBubbleModel::CreateContentSettingBubbleModel( 272 ContentSettingBubbleModel::CreateContentSettingBubbleModel(
276 parent_->delegate()->GetContentSettingBubbleModelDelegate(), 273 parent_->delegate()->GetContentSettingBubbleModelDelegate(),
277 web_contents, parent_->profile(), 274 web_contents, parent_->profile(),
278 content_setting_image_model_->get_content_settings_type()), 275 content_setting_image_model_->get_content_settings_type()),
279 this, views::BubbleBorder::TOP_RIGHT)); 276 this, views::BubbleBorder::TOP_RIGHT));
280 bubble_widget_->AddObserver(this); 277 bubble_widget_->AddObserver(this);
281 bubble_widget_->Show(); 278 bubble_widget_->Show();
282 } 279 }
283
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698