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

Side by Side Diff: chrome/browser/ui/views/passwords/manage_passwords_bubble_view.cc

Issue 2954093002: Adding an edit button for username correction while saving new credentials for password management. (Closed)
Patch Set: Added the feature tag and edit button view Created 3 years, 5 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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/passwords/manage_passwords_bubble_view.h" 5 #include "chrome/browser/ui/views/passwords/manage_passwords_bubble_view.h"
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "base/metrics/user_metrics.h" 8 #include "base/metrics/user_metrics.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "base/timer/timer.h" 10 #include "base/timer/timer.h"
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 } 281 }
282 282
283 void ManagePasswordsBubbleView::AutoSigninView::OnTimer() { 283 void ManagePasswordsBubbleView::AutoSigninView::OnTimer() {
284 parent_->model()->OnAutoSignInToastTimeout(); 284 parent_->model()->OnAutoSignInToastTimeout();
285 parent_->CloseBubble(); 285 parent_->CloseBubble();
286 } 286 }
287 287
288 // ManagePasswordsBubbleView::PendingView ------------------------------------- 288 // ManagePasswordsBubbleView::PendingView -------------------------------------
289 289
290 // A view offering the user the ability to save credentials. Contains a 290 // A view offering the user the ability to save credentials. Contains a
291 // single ManagePasswordItemsView, along with a "Save Passwords" button 291 // single ManagePasswordItemsView, along with a "Save Passwords" button,
292 // and a "Never" button. 292 // a "Never" button and an "Edit" button to edit username field.
293 class ManagePasswordsBubbleView::PendingView 293 class ManagePasswordsBubbleView::PendingView
294 : public views::View, 294 : public views::View,
295 public views::ButtonListener, 295 public views::ButtonListener,
296 public views::StyledLabelListener { 296 public views::StyledLabelListener {
297 public: 297 public:
298 explicit PendingView(ManagePasswordsBubbleView* parent); 298 explicit PendingView(ManagePasswordsBubbleView* parent);
299 ~PendingView() override; 299 ~PendingView() override;
300 300
301 private: 301 private:
302 // views::ButtonListener: 302 // views::ButtonListener:
303 void ButtonPressed(views::Button* sender, const ui::Event& event) override; 303 void ButtonPressed(views::Button* sender, const ui::Event& event) override;
304 304
305 // views::StyledLabelListener: 305 // views::StyledLabelListener:
306 void StyledLabelLinkClicked(views::StyledLabel* label, 306 void StyledLabelLinkClicked(views::StyledLabel* label,
307 const gfx::Range& range, 307 const gfx::Range& range,
308 int event_flags) override; 308 int event_flags) override;
309 309
310 ManagePasswordsBubbleView* parent_; 310 ManagePasswordsBubbleView* parent_;
311 311
312 views::Button* edit_button_;
312 views::Button* save_button_; 313 views::Button* save_button_;
313 views::Button* never_button_; 314 views::Button* never_button_;
314 315
315 DISALLOW_COPY_AND_ASSIGN(PendingView); 316 DISALLOW_COPY_AND_ASSIGN(PendingView);
316 }; 317 };
317 318
318 ManagePasswordsBubbleView::PendingView::PendingView( 319 ManagePasswordsBubbleView::PendingView::PendingView(
319 ManagePasswordsBubbleView* parent) 320 ManagePasswordsBubbleView* parent)
320 : parent_(parent) { 321 : parent_(parent) {
321 views::GridLayout* layout = new views::GridLayout(this); 322 views::GridLayout* layout = new views::GridLayout(this);
322 layout->set_minimum_size(gfx::Size(kDesiredBubbleWidth, 0)); 323 layout->set_minimum_size(gfx::Size(kDesiredBubbleWidth, 0));
323 SetLayoutManager(layout); 324 SetLayoutManager(layout);
324 325
325 // Create the pending credential item, save button and refusal combobox. 326 // Create the pending credential item, save button and refusal combobox.
326 ManagePasswordItemsView* item = nullptr; 327 ManagePasswordItemsView* item = nullptr;
327 if (!parent->model()->pending_password().username_value.empty()) { 328 if (!parent->model()->pending_password().username_value.empty()) {
328 item = new ManagePasswordItemsView(parent_->model(), 329 item = new ManagePasswordItemsView(parent_->model(),
329 &parent->model()->pending_password()); 330 &parent->model()->pending_password());
330 } 331 }
332 edit_button_ = views::MdTextButton::CreateSecondaryUiButton(
333 this, l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_EDIT_BUTTON));
331 save_button_ = views::MdTextButton::CreateSecondaryUiBlueButton( 334 save_button_ = views::MdTextButton::CreateSecondaryUiBlueButton(
332 this, l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_SAVE_BUTTON)); 335 this, l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_SAVE_BUTTON));
333 never_button_ = views::MdTextButton::CreateSecondaryUiButton( 336 never_button_ = views::MdTextButton::CreateSecondaryUiButton(
334 this, 337 this,
335 l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_BUBBLE_BLACKLIST_BUTTON)); 338 l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_BUBBLE_BLACKLIST_BUTTON));
336 339
337 // Title row. 340 // Title row.
338 BuildColumnSet(layout, SINGLE_VIEW_COLUMN_SET); 341 BuildColumnSet(layout, SINGLE_VIEW_COLUMN_SET);
339 AddTitleRowWithLink(layout, parent_->model(), this); 342 AddTitleRowWithLink(layout, parent_->model(), this);
340 343
341 // Credential row. 344 // Credential row.
342 if (item) { 345 if (item) {
343 layout->StartRow(0, SINGLE_VIEW_COLUMN_SET); 346 layout->StartRow(0, SINGLE_VIEW_COLUMN_SET);
344 layout->AddView(item); 347 layout->AddView(item);
345 layout->AddPaddingRow(0, 348 layout->AddPaddingRow(0,
346 ChromeLayoutProvider::Get() 349 ChromeLayoutProvider::Get()
347 ->GetInsetsMetric(views::INSETS_DIALOG_CONTENTS) 350 ->GetInsetsMetric(views::INSETS_DIALOG_CONTENTS)
348 .bottom()); 351 .bottom());
349 } 352 }
350 353
351 // Button row. 354 // Button row.
352 BuildColumnSet(layout, DOUBLE_BUTTON_COLUMN_SET); 355 BuildColumnSet(layout, TRIPLE_BUTTON_COLUMN_SET);
vasilii 2017/06/23 12:02:07 Funny that the style exists even though it was unu
irmakk 2017/06/23 12:19:56 I was surprised too, maybe they used it before and
353 layout->StartRow(0, DOUBLE_BUTTON_COLUMN_SET); 356 layout->StartRow(0, TRIPLE_BUTTON_COLUMN_SET);
357 layout->AddView(edit_button_);
354 layout->AddView(save_button_); 358 layout->AddView(save_button_);
355 layout->AddView(never_button_); 359 layout->AddView(never_button_);
356 360
357 parent_->set_initially_focused_view(save_button_); 361 parent_->set_initially_focused_view(save_button_);
358 } 362 }
359 363
360 ManagePasswordsBubbleView::PendingView::~PendingView() { 364 ManagePasswordsBubbleView::PendingView::~PendingView() {
361 } 365 }
362 366
363 void ManagePasswordsBubbleView::PendingView::ButtonPressed( 367 void ManagePasswordsBubbleView::PendingView::ButtonPressed(
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
901 } else if (model_.state() == 905 } else if (model_.state() ==
902 password_manager::ui::CHROME_DESKTOP_IOS_PROMO_STATE) { 906 password_manager::ui::CHROME_DESKTOP_IOS_PROMO_STATE) {
903 AddChildView(new DesktopIOSPromotionBubbleView( 907 AddChildView(new DesktopIOSPromotionBubbleView(
904 model_.GetProfile(), 908 model_.GetProfile(),
905 desktop_ios_promotion::PromotionEntryPoint::SAVE_PASSWORD_BUBBLE)); 909 desktop_ios_promotion::PromotionEntryPoint::SAVE_PASSWORD_BUBBLE));
906 #endif 910 #endif
907 } else { 911 } else {
908 AddChildView(new ManageView(this)); 912 AddChildView(new ManageView(this));
909 } 913 }
910 } 914 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698