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

Side by Side Diff: chrome/browser/ui/views/infobars/confirm_infobar.cc

Issue 14327008: Add InitWidgets() phase for GTK infobars. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 8 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/infobars/confirm_infobar.h" 5 #include "chrome/browser/ui/views/infobars/confirm_infobar.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "chrome/browser/infobars/confirm_infobar_delegate.h" 8 #include "chrome/browser/infobars/confirm_infobar_delegate.h"
9 #include "ui/base/window_open_disposition.h" 9 #include "ui/base/window_open_disposition.h"
10 #include "ui/views/controls/button/text_button.h" 10 #include "ui/views/controls/button/text_button.h"
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 } 91 }
92 } 92 }
93 93
94 // This must happen after adding all other children so InfoBarView can ensure 94 // This must happen after adding all other children so InfoBarView can ensure
95 // the close button is the last child. 95 // the close button is the last child.
96 InfoBarView::ViewHierarchyChanged(is_add, parent, child); 96 InfoBarView::ViewHierarchyChanged(is_add, parent, child);
97 } 97 }
98 98
99 void ConfirmInfoBar::ButtonPressed(views::Button* sender, 99 void ConfirmInfoBar::ButtonPressed(views::Button* sender,
100 const ui::Event& event) { 100 const ui::Event& event) {
101 if (!owned()) 101 if (!owner())
102 return; // We're closing; don't call anything, it might access the owner. 102 return; // We're closing; don't call anything, it might access the owner.
103 ConfirmInfoBarDelegate* delegate = GetDelegate(); 103 ConfirmInfoBarDelegate* delegate = GetDelegate();
104 if ((ok_button_ != NULL) && sender == ok_button_) { 104 if ((ok_button_ != NULL) && sender == ok_button_) {
105 if (delegate->Accept()) 105 if (delegate->Accept())
106 RemoveSelf(); 106 RemoveSelf();
107 } else if ((cancel_button_ != NULL) && (sender == cancel_button_)) { 107 } else if ((cancel_button_ != NULL) && (sender == cancel_button_)) {
108 if (delegate->Cancel()) 108 if (delegate->Cancel())
109 RemoveSelf(); 109 RemoveSelf();
110 } else { 110 } else {
111 InfoBarView::ButtonPressed(sender, event); 111 InfoBarView::ButtonPressed(sender, event);
112 } 112 }
113 } 113 }
114 114
115 int ConfirmInfoBar::ContentMinimumWidth() const { 115 int ConfirmInfoBar::ContentMinimumWidth() const {
116 int width = (link_ == NULL) ? 0 : kEndOfLabelSpacing; // Space before link 116 int width = (link_ == NULL) ? 0 : kEndOfLabelSpacing; // Space before link
117 int before_cancel_spacing = kEndOfLabelSpacing; 117 int before_cancel_spacing = kEndOfLabelSpacing;
118 if (ok_button_ != NULL) { 118 if (ok_button_ != NULL) {
119 width += kEndOfLabelSpacing + ok_button_->GetPreferredSize().width(); 119 width += kEndOfLabelSpacing + ok_button_->GetPreferredSize().width();
120 before_cancel_spacing = kButtonButtonSpacing; 120 before_cancel_spacing = kButtonButtonSpacing;
121 } 121 }
122 return width + ((cancel_button_ == NULL) ? 0 : 122 return width + ((cancel_button_ == NULL) ? 0 :
123 (before_cancel_spacing + cancel_button_->GetPreferredSize().width())); 123 (before_cancel_spacing + cancel_button_->GetPreferredSize().width()));
124 } 124 }
125 125
126 void ConfirmInfoBar::LinkClicked(views::Link* source, int event_flags) { 126 void ConfirmInfoBar::LinkClicked(views::Link* source, int event_flags) {
127 if (!owned()) 127 if (!owner())
128 return; // We're closing; don't call anything, it might access the owner. 128 return; // We're closing; don't call anything, it might access the owner.
129 DCHECK(link_ != NULL); 129 DCHECK(link_ != NULL);
130 DCHECK_EQ(link_, source); 130 DCHECK_EQ(link_, source);
131 if (GetDelegate()->LinkClicked(ui::DispositionFromEventFlags(event_flags))) 131 if (GetDelegate()->LinkClicked(ui::DispositionFromEventFlags(event_flags)))
132 RemoveSelf(); 132 RemoveSelf();
133 } 133 }
134 134
135 ConfirmInfoBarDelegate* ConfirmInfoBar::GetDelegate() { 135 ConfirmInfoBarDelegate* ConfirmInfoBar::GetDelegate() {
136 return delegate()->AsConfirmInfoBarDelegate(); 136 return delegate()->AsConfirmInfoBarDelegate();
137 } 137 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/infobars/before_translate_infobar.cc ('k') | chrome/browser/ui/views/infobars/extension_infobar.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698