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

Side by Side Diff: chrome/browser/ui/views/validation_message_bubble_delegate.cc

Issue 24469006: Fixing crash Report - Magic Signature: views::View::ConvertPointToScreen (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: A self check encountered a few things.. Created 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/validation_message_bubble_delegate.h" 5 #include "chrome/browser/ui/views/validation_message_bubble_delegate.h"
6 6
7 #include "grit/theme_resources.h" 7 #include "grit/theme_resources.h"
8 #include "ui/base/resource/resource_bundle.h" 8 #include "ui/base/resource/resource_bundle.h"
9 #include "ui/views/controls/image_view.h" 9 #include "ui/views/controls/image_view.h"
10 #include "ui/views/controls/label.h" 10 #include "ui/views/controls/label.h"
11 #include "ui/views/widget/widget.h" 11 #include "ui/views/widget/widget.h"
12 12
13 // static 13 // static
14 const int ValidationMessageBubbleDelegate::kWindowMinWidth = 64; 14 const int ValidationMessageBubbleDelegate::kWindowMinWidth = 64;
15 // static 15 // static
16 const int ValidationMessageBubbleDelegate::kWindowMaxWidth = 256; 16 const int ValidationMessageBubbleDelegate::kWindowMaxWidth = 256;
17 static const int kPadding = 0; 17 static const int kPadding = 0;
18 static const int kIconTextMargin = 8; 18 static const int kIconTextMargin = 8;
19 static const int kTextVerticalMargin = 4; 19 static const int kTextVerticalMargin = 4;
20 20
21 ValidationMessageBubbleDelegate::ValidationMessageBubbleDelegate( 21 ValidationMessageBubbleDelegate::ValidationMessageBubbleDelegate(
22 const gfx::Rect& anchor_in_screen, 22 const gfx::Rect& anchor_in_screen,
23 const string16& main_text, 23 const string16& main_text,
24 const string16& sub_text, 24 const string16& sub_text,
25 Observer* observer) 25 Observer* observer)
26 : observer_(observer), width_(0), height_(0) { 26 : observer_(observer), width_(0), height_(0) {
27 set_use_focusless(true); 27 set_use_focusless(true);
28 set_arrow(views::BubbleBorder::TOP_LEFT); 28 set_arrow(views::BubbleBorder::TOP_LEFT);
29 set_anchor_rect(anchor_in_screen); 29 SetAnchorRect(anchor_in_screen);
30 30
31 ResourceBundle& bundle = ResourceBundle::GetSharedInstance(); 31 ResourceBundle& bundle = ResourceBundle::GetSharedInstance();
32 views::ImageView* icon = new views::ImageView(); 32 views::ImageView* icon = new views::ImageView();
33 icon->SetImage(*bundle.GetImageSkiaNamed(IDR_INPUT_ALERT)); 33 icon->SetImage(*bundle.GetImageSkiaNamed(IDR_INPUT_ALERT));
34 gfx::Size size = icon->GetPreferredSize(); 34 gfx::Size size = icon->GetPreferredSize();
35 icon->SetBounds(kPadding, kPadding, size.width(), size.height()); 35 icon->SetBounds(kPadding, kPadding, size.width(), size.height());
36 AddChildView(icon); 36 AddChildView(icon);
37 37
38 views::Label* label = new views::Label(main_text); 38 views::Label* label = new views::Label(main_text);
39 label->SetHorizontalAlignment(gfx::ALIGN_LEFT); 39 label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 79
80 ValidationMessageBubbleDelegate::~ValidationMessageBubbleDelegate() {} 80 ValidationMessageBubbleDelegate::~ValidationMessageBubbleDelegate() {}
81 81
82 void ValidationMessageBubbleDelegate::Close() { 82 void ValidationMessageBubbleDelegate::Close() {
83 GetWidget()->Close(); 83 GetWidget()->Close();
84 observer_ = NULL; 84 observer_ = NULL;
85 } 85 }
86 86
87 void ValidationMessageBubbleDelegate::SetPositionRelativeToAnchor( 87 void ValidationMessageBubbleDelegate::SetPositionRelativeToAnchor(
88 const gfx::Rect& anchor_in_screen) { 88 const gfx::Rect& anchor_in_screen) {
89 set_anchor_rect(anchor_in_screen); 89 SetAnchorRect(anchor_in_screen);
90 SizeToContents(); 90 SizeToContents();
91 } 91 }
92 92
93 gfx::Size ValidationMessageBubbleDelegate::GetPreferredSize() { 93 gfx::Size ValidationMessageBubbleDelegate::GetPreferredSize() {
94 return gfx::Size(width_, height_); 94 return gfx::Size(width_, height_);
95 } 95 }
96 96
97 void ValidationMessageBubbleDelegate::DeleteDelegate() { 97 void ValidationMessageBubbleDelegate::DeleteDelegate() {
98 delete this; 98 delete this;
99 } 99 }
100 100
101 void ValidationMessageBubbleDelegate::WindowClosing() { 101 void ValidationMessageBubbleDelegate::WindowClosing() {
102 if (observer_ != NULL) 102 if (observer_ != NULL)
103 observer_->WindowClosing(); 103 observer_->WindowClosing();
104 } 104 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698