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

Unified Diff: chrome/browser/ui/views/autofill/decorated_textfield.cc

Issue 55243005: Implement learn more bubble on views. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/autofill/decorated_textfield.cc
diff --git a/chrome/browser/ui/views/autofill/decorated_textfield.cc b/chrome/browser/ui/views/autofill/decorated_textfield.cc
index 47d3b30da56ed413492b8a7e3796dd4a9362d02e..21cf38435d7f90999f7d17f80e77bb09bc34f2d9 100644
--- a/chrome/browser/ui/views/autofill/decorated_textfield.cc
+++ b/chrome/browser/ui/views/autofill/decorated_textfield.cc
@@ -5,7 +5,7 @@
#include "chrome/browser/ui/views/autofill/decorated_textfield.h"
#include "chrome/browser/ui/autofill/autofill_dialog_types.h"
-#include "chrome/browser/ui/views/autofill/tooltip_icon.h"
+#include "chrome/browser/ui/views/autofill/learn_more_icon.h"
#include "ui/gfx/canvas.h"
#include "ui/views/background.h"
#include "ui/views/controls/button/label_button.h"
@@ -94,7 +94,9 @@ void DecoratedTextfield::SetIcon(const gfx::Image& icon) {
IconChanged();
}
-void DecoratedTextfield::SetTooltipIcon(const base::string16& text) {
+void DecoratedTextfield::SetLearnMoreIcon(
+ const base::string16& text,
+ const base::WeakPtr<LearnMoreIconDelegate>& delegate) {
if (!icon_view_ && text.empty())
return;
@@ -102,7 +104,7 @@ void DecoratedTextfield::SetTooltipIcon(const base::string16& text) {
RemoveChildView(icon_view_.get());
if (!text.empty()) {
- icon_view_.reset(new TooltipIcon(text));
+ icon_view_.reset(new LearnMoreIcon(text, delegate));
AddChildView(icon_view_.get());
}
@@ -122,7 +124,9 @@ const char* DecoratedTextfield::GetClassName() const {
views::View* DecoratedTextfield::GetEventHandlerForPoint(
const gfx::Point& point) {
- return native_wrapper_->GetView();
+ if (icon_view_ && icon_view_->GetClassName() != LearnMoreIcon::kViewClassName)
+ return native_wrapper_->GetView();
+ return views::Textfield::GetEventHandlerForPoint(point);
Evan Stade 2013/11/05 02:01:40 I'd write this as: views::View* handler = views::
Dan Beam 2013/11/05 07:00:55 Done.
}
void DecoratedTextfield::OnFocus() {
@@ -170,6 +174,9 @@ void DecoratedTextfield::IconChanged() {
// Don't show the icon if nothing else is showing.
icon_view_->SetVisible(editable_ || !text().empty());
+ if (!icon_view_->visible())
+ icon_view_->SetSize(gfx::Size());
Evan Stade 2013/11/05 02:01:40 why necessary?
Dan Beam 2013/11/05 07:00:55 not
+
int icon_space = icon_view_ ?
icon_view_->GetPreferredSize().width() + 2 * kTextfieldIconPadding : 0;

Powered by Google App Engine
This is Rietveld 408576698