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

Side by Side Diff: components/autofill/core/browser/autofill_manager.cc

Issue 133893004: Allow deleting autofill password suggestions on Shift+Delete (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Allow Password autofill suggestions deletion Created 6 years, 10 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 "components/autofill/core/browser/autofill_manager.h" 5 #include "components/autofill/core/browser/autofill_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <limits> 9 #include <limits>
10 #include <map> 10 #include <map>
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 if (!user_did_edit_autofilled_field_) { 347 if (!user_did_edit_autofilled_field_) {
348 user_did_edit_autofilled_field_ = true; 348 user_did_edit_autofilled_field_ = true;
349 metric_logger_->LogUserHappinessMetric( 349 metric_logger_->LogUserHappinessMetric(
350 AutofillMetrics::USER_DID_EDIT_AUTOFILLED_FIELD_ONCE); 350 AutofillMetrics::USER_DID_EDIT_AUTOFILLED_FIELD_ONCE);
351 } 351 }
352 } 352 }
353 353
354 UpdateInitialInteractionTimestamp(timestamp); 354 UpdateInitialInteractionTimestamp(timestamp);
355 } 355 }
356 356
357 void AutofillManager::OnQueryFormFieldAutofill(int query_id, 357 void AutofillManager::OnQueryFormFieldAutofill(
358 const FormData& form, 358 int query_id,
359 const FormFieldData& field, 359 const FormData& form,
360 const gfx::RectF& bounding_box, 360 const FormFieldData& field,
361 bool display_warning) { 361 const PasswordForm& password_form,
362 const gfx::RectF& bounding_box,
363 bool display_warning) {
362 std::vector<base::string16> values; 364 std::vector<base::string16> values;
363 std::vector<base::string16> labels; 365 std::vector<base::string16> labels;
364 std::vector<base::string16> icons; 366 std::vector<base::string16> icons;
365 std::vector<int> unique_ids; 367 std::vector<int> unique_ids;
366 368
367 external_delegate_->OnQuery(query_id, 369 external_delegate_->OnQuery(
368 form, 370 query_id, form, field, password_form, bounding_box, display_warning);
369 field,
370 bounding_box,
371 display_warning);
372 371
373 RenderViewHost* host = NULL; 372 RenderViewHost* host = NULL;
374 FormStructure* form_structure = NULL; 373 FormStructure* form_structure = NULL;
375 AutofillField* autofill_field = NULL; 374 AutofillField* autofill_field = NULL;
376 if (GetHost(&host) && 375 if (GetHost(&host) &&
377 GetCachedFormAndField(form, field, &form_structure, &autofill_field) && 376 GetCachedFormAndField(form, field, &form_structure, &autofill_field) &&
378 // Don't send suggestions for forms that aren't auto-fillable. 377 // Don't send suggestions for forms that aren't auto-fillable.
379 form_structure->IsAutofillable(false)) { 378 form_structure->IsAutofillable(false)) {
380 AutofillType type = autofill_field->Type(); 379 AutofillType type = autofill_field->Type();
381 bool is_filling_credit_card = (type.group() == CREDIT_CARD); 380 bool is_filling_credit_card = (type.group() == CREDIT_CARD);
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
605 } 604 }
606 605
607 void AutofillManager::OnAddPasswordFormMapping( 606 void AutofillManager::OnAddPasswordFormMapping(
608 const FormFieldData& form, 607 const FormFieldData& form,
609 const PasswordFormFillData& fill_data) { 608 const PasswordFormFillData& fill_data) {
610 external_delegate_->AddPasswordFormMapping(form, fill_data); 609 external_delegate_->AddPasswordFormMapping(form, fill_data);
611 } 610 }
612 611
613 void AutofillManager::OnShowPasswordSuggestions( 612 void AutofillManager::OnShowPasswordSuggestions(
614 const FormFieldData& field, 613 const FormFieldData& field,
614 const PasswordForm& password_form,
615 const gfx::RectF& bounds, 615 const gfx::RectF& bounds,
616 const std::vector<base::string16>& suggestions, 616 const std::vector<base::string16>& suggestions,
617 const std::vector<base::string16>& realms) { 617 const std::vector<base::string16>& realms) {
618 external_delegate_->OnShowPasswordSuggestions(suggestions, 618 external_delegate_->OnShowPasswordSuggestions(
619 realms, 619 suggestions, realms, field, password_form, bounds);
620 field,
621 bounds);
622 } 620 }
623 621
624 void AutofillManager::OnSetDataList(const std::vector<base::string16>& values, 622 void AutofillManager::OnSetDataList(const std::vector<base::string16>& values,
625 const std::vector<base::string16>& labels) { 623 const std::vector<base::string16>& labels) {
626 if (values.size() != labels.size()) 624 if (values.size() != labels.size())
627 return; 625 return;
628 626
629 external_delegate_->SetCurrentDataListValues(values, labels); 627 external_delegate_->SetCurrentDataListValues(values, labels);
630 } 628 }
631 629
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
1111 return false; 1109 return false;
1112 1110
1113 // Disregard forms that we wouldn't ever autofill in the first place. 1111 // Disregard forms that we wouldn't ever autofill in the first place.
1114 if (!form.ShouldBeParsed(true)) 1112 if (!form.ShouldBeParsed(true))
1115 return false; 1113 return false;
1116 1114
1117 return true; 1115 return true;
1118 } 1116 }
1119 1117
1120 } // namespace autofill 1118 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698