diff options
-rw-r--r-- | chrome/browser/autofill/autofill_dialog_gtk.cc | 7 | ||||
-rw-r--r-- | chrome/browser/autofill/autofill_infobar_delegate.cc | 5 | ||||
-rw-r--r-- | chrome/browser/autofill/autofill_manager.cc | 4 | ||||
-rw-r--r-- | chrome/browser/autofill/autofill_manager.h | 3 | ||||
-rw-r--r-- | chrome/browser/views/autofill_profiles_view_win.cc | 31 | ||||
-rw-r--r-- | chrome/browser/views/autofill_profiles_view_win.h | 6 |
6 files changed, 49 insertions, 7 deletions
diff --git a/chrome/browser/autofill/autofill_dialog_gtk.cc b/chrome/browser/autofill/autofill_dialog_gtk.cc index 9b7d4b8..7c0f5b6 100644 --- a/chrome/browser/autofill/autofill_dialog_gtk.cc +++ b/chrome/browser/autofill/autofill_dialog_gtk.cc @@ -12,6 +12,7 @@ #include "base/logging.h" #include "base/message_loop.h" #include "base/utf_string_conversions.h" +#include "chrome/browser/autofill/autofill_manager.h" #include "chrome/browser/autofill/autofill_profile.h" #include "chrome/browser/autofill/credit_card.h" #include "chrome/browser/autofill/form_group.h" @@ -760,11 +761,9 @@ void AutoFillDialog::OnLabelChanged(GtkEntry* label, GtkWidget* expander) { } void AutoFillDialog::OnLinkActivated() { - // TODO(jhawkins): Maybe this should be in a grd file? - GURL url = - GURL("http://www.google.com/support/chrome/bin/answer.py?answer=142893"); Browser* browser = BrowserList::GetLastActive(); - browser->OpenURL(url, GURL(), NEW_FOREGROUND_TAB, PageTransition::TYPED); + browser->OpenURL(GURL(kAutoFillLearnMoreUrl), GURL(), NEW_FOREGROUND_TAB, + PageTransition::TYPED); } GtkWidget* AutoFillDialog::InitGroup(int name_id, diff --git a/chrome/browser/autofill/autofill_infobar_delegate.cc b/chrome/browser/autofill/autofill_infobar_delegate.cc index 4f1fc35..c092249 100644 --- a/chrome/browser/autofill/autofill_infobar_delegate.cc +++ b/chrome/browser/autofill/autofill_infobar_delegate.cc @@ -98,8 +98,7 @@ std::wstring AutoFillInfoBarDelegate::GetLinkText() { } bool AutoFillInfoBarDelegate::LinkClicked(WindowOpenDisposition disposition) { - GURL url = - GURL("http://www.google.com/support/chrome/bin/answer.py?answer=142893"); - browser_->OpenURL(url, GURL(), NEW_FOREGROUND_TAB, PageTransition::TYPED); + browser_->OpenURL(GURL(kAutoFillLearnMoreUrl), GURL(), NEW_FOREGROUND_TAB, + PageTransition::TYPED); return true; } diff --git a/chrome/browser/autofill/autofill_manager.cc b/chrome/browser/autofill/autofill_manager.cc index 8a6d3a7..5ae1cd5 100644 --- a/chrome/browser/autofill/autofill_manager.cc +++ b/chrome/browser/autofill/autofill_manager.cc @@ -30,6 +30,10 @@ const double kAutoFillPositiveUploadRateDefaultValue = 0.01; const double kAutoFillNegativeUploadRateDefaultValue = 0.01; } // namespace +// TODO(jhawkins): Maybe this should be in a grd file? +const char* kAutoFillLearnMoreUrl = + "http://www.google.com/support/chrome/bin/answer.py?answer=142893"; + AutoFillManager::AutoFillManager(TabContents* tab_contents) : tab_contents_(tab_contents), diff --git a/chrome/browser/autofill/autofill_manager.h b/chrome/browser/autofill/autofill_manager.h index b9eafbf..4f455b9 100644 --- a/chrome/browser/autofill/autofill_manager.h +++ b/chrome/browser/autofill/autofill_manager.h @@ -27,6 +27,9 @@ class FormStructure; class PrefService; class TabContents; +// TODO(jhawkins): Maybe this should be in a grd file? +extern const char* kAutoFillLearnMoreUrl; + // Manages saving and restoring the user's personal information entered into web // forms. class AutoFillManager : public RenderViewHostDelegate::AutoFill, diff --git a/chrome/browser/views/autofill_profiles_view_win.cc b/chrome/browser/views/autofill_profiles_view_win.cc index 5951b49..db30b6f 100644 --- a/chrome/browser/views/autofill_profiles_view_win.cc +++ b/chrome/browser/views/autofill_profiles_view_win.cc @@ -9,6 +9,7 @@ #include "app/l10n_util.h" #include "app/resource_bundle.h" #include "base/message_loop.h" +#include "chrome/browser/autofill/autofill_manager.h" #include "chrome/browser/browser.h" #include "chrome/browser/browser_list.h" #include "chrome/browser/browser_window.h" @@ -236,6 +237,27 @@ std::wstring AutoFillProfilesView::GetDialogButtonLabel( return std::wstring(); } +views::View* AutoFillProfilesView::GetExtraView() { + // The dialog sizes the extra view to fill the entire available space. + // We use a container to lay it out properly. + views::View* link_container = new views::View(); + views::GridLayout* layout = new views::GridLayout(link_container); + link_container->SetLayoutManager(layout); + + views::ColumnSet* column_set = layout->AddColumnSet(0); + column_set->AddPaddingColumn(0, kDialogPadding); + column_set->AddColumn(views::GridLayout::LEADING, + views::GridLayout::LEADING, 0, + views::GridLayout::USE_PREF, 0, 0); + layout->StartRow(0, 0); + views::Link* link = new views::Link( + l10n_util::GetString(IDS_AUTOFILL_LEARN_MORE)); + link->SetController(this); + layout->AddView(link); + + return link_container; +} + bool AutoFillProfilesView::IsDialogButtonEnabled( MessageBoxFlags::DialogButton button) const { switch (button) { @@ -306,6 +328,15 @@ void AutoFillProfilesView::ButtonPressed(views::Button* sender, } ///////////////////////////////////////////////////////////////////////////// +// AutoFillProfilesView, views::LinkController implementations: +void AutoFillProfilesView::LinkActivated(views::Link* source, int event_flags) { + Browser* browser = BrowserList::GetLastActive(); + browser->OpenURL(GURL(kAutoFillLearnMoreUrl), GURL(), NEW_FOREGROUND_TAB, + PageTransition::TYPED); +} + + +///////////////////////////////////////////////////////////////////////////// // AutoFillProfilesView, views::FocusChangeListener implementations: void AutoFillProfilesView::FocusWillChange(views::View* focused_before, views::View* focused_now) { diff --git a/chrome/browser/views/autofill_profiles_view_win.h b/chrome/browser/views/autofill_profiles_view_win.h index 1e1a911..524b90e 100644 --- a/chrome/browser/views/autofill_profiles_view_win.h +++ b/chrome/browser/views/autofill_profiles_view_win.h @@ -13,6 +13,7 @@ #include "chrome/browser/autofill/autofill_profile.h" #include "chrome/browser/autofill/personal_data_manager.h" #include "views/controls/combobox/combobox.h" +#include "views/controls/link.h" #include "views/controls/textfield/textfield.h" #include "views/focus/focus_manager.h" #include "views/view.h" @@ -51,6 +52,7 @@ class PrefService; class AutoFillProfilesView : public views::View, public views::DialogDelegate, public views::ButtonListener, + public views::LinkController, public views::FocusChangeListener, public PersonalDataManager::Observer { public: @@ -98,6 +100,7 @@ class AutoFillProfilesView : public views::View, virtual int GetDialogButtons() const; virtual std::wstring GetDialogButtonLabel( MessageBoxFlags::DialogButton button) const; + virtual View* GetExtraView(); virtual bool IsDialogButtonEnabled( MessageBoxFlags::DialogButton button) const; virtual bool CanResize() const { return true; } @@ -113,6 +116,9 @@ class AutoFillProfilesView : public views::View, virtual void ButtonPressed(views::Button* sender, const views::Event& event); + // views::LinkController methods: + virtual void LinkActivated(views::Link* source, int event_flags); + // views::FocusChangeListener methods: virtual void FocusWillChange(views::View* focused_before, views::View* focused_now); |