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

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

Issue 271013002: Compute minimum widths for the toolbar components. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 | 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/ev_bubble_view.h" 5 #include "chrome/browser/ui/views/location_bar/ev_bubble_view.h"
6 #include "grit/theme_resources.h" 6 #include "grit/theme_resources.h"
7 #include "ui/views/controls/label.h"
7 #include "ui/views/painter.h" 8 #include "ui/views/painter.h"
8 9
9 10
10 namespace { 11 namespace {
11 const int kBackgroundImages[] = IMAGE_GRID(IDR_OMNIBOX_EV_BUBBLE); 12 const int kBackgroundImages[] = IMAGE_GRID(IDR_OMNIBOX_EV_BUBBLE);
12 } 13 }
13 14
14 15
15 EVBubbleView::EVBubbleView(const gfx::FontList& font_list, 16 EVBubbleView::EVBubbleView(const gfx::FontList& font_list,
16 SkColor text_color, 17 SkColor text_color,
17 SkColor parent_background_color, 18 SkColor parent_background_color,
18 LocationBarView* location_bar) 19 LocationBarView* location_bar)
19 : IconLabelBubbleView(kBackgroundImages, NULL, IDR_OMNIBOX_HTTPS_VALID, 20 : IconLabelBubbleView(kBackgroundImages, NULL, IDR_OMNIBOX_HTTPS_VALID,
20 font_list, text_color, parent_background_color, true), 21 font_list, text_color, parent_background_color, true),
21 page_info_helper_(this, location_bar) { 22 page_info_helper_(this, location_bar) {
22 } 23 }
23 24
24 EVBubbleView::~EVBubbleView() { 25 EVBubbleView::~EVBubbleView() {
25 } 26 }
26 27
27 gfx::Size EVBubbleView::GetMinimumSize() { 28 gfx::Size EVBubbleView::GetMinimumSize() {
28 // Height will be ignored by the LocationBarView. 29 return GetMinimumSizeForPreferredSize(GetPreferredSize());
29 gfx::Size minimum(GetPreferredSize());
30 static const int kMinBubbleWidth = 150;
31 minimum.SetToMax(gfx::Size(kMinBubbleWidth, 0));
32 return minimum;
33 } 30 }
34 31
35 bool EVBubbleView::OnMousePressed(const ui::MouseEvent& event) { 32 bool EVBubbleView::OnMousePressed(const ui::MouseEvent& event) {
36 // We want to show the dialog on mouse release; that is the standard behavior 33 // We want to show the dialog on mouse release; that is the standard behavior
37 // for buttons. 34 // for buttons.
38 return true; 35 return true;
39 } 36 }
40 37
41 void EVBubbleView::OnMouseReleased(const ui::MouseEvent& event) { 38 void EVBubbleView::OnMouseReleased(const ui::MouseEvent& event) {
42 page_info_helper_.ProcessEvent(event); 39 page_info_helper_.ProcessEvent(event);
43 } 40 }
44 41
45 void EVBubbleView::OnGestureEvent(ui::GestureEvent* event) { 42 void EVBubbleView::OnGestureEvent(ui::GestureEvent* event) {
46 if (event->type() == ui::ET_GESTURE_TAP) { 43 if (event->type() == ui::ET_GESTURE_TAP) {
47 page_info_helper_.ProcessEvent(*event); 44 page_info_helper_.ProcessEvent(*event);
48 event->SetHandled(); 45 event->SetHandled();
49 } 46 }
50 } 47 }
48
49 gfx::Size EVBubbleView::GetMinimumSizeForLabelText(
50 const base::string16& text) const {
51 views::Label label(text, font_list());
52 return GetMinimumSizeForPreferredSize(
53 GetSizeForLabelWidth(label.GetPreferredSize().width()));
54 }
55
56 gfx::Size EVBubbleView::GetMinimumSizeForPreferredSize(gfx::Size size) const {
57 const int kMinCharacters = 10;
58 size.SetToMin(
59 GetSizeForLabelWidth(font_list().GetExpectedTextWidth(kMinCharacters)));
60 return size;
61 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/location_bar/ev_bubble_view.h ('k') | chrome/browser/ui/views/location_bar/icon_label_bubble_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698