password_autofill_util.cc revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
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 3// found in the LICENSE file. 4 5#include "components/autofill/core/common/password_autofill_util.h" 6 7#include "base/command_line.h" 8#include "base/metrics/field_trial.h" 9#include "components/autofill/core/common/autofill_switches.h" 10 11namespace autofill { 12 13namespace { 14 15const char kDisableIgnoreAutocompleteOffFieldTrialName[] = 16 "DisableIgnoreAutocompleteOff"; 17const char kEnablingGroup[] = "ENABLED"; 18 19bool InDisableIgnoreAutocompleteOffGroup() { 20 std::string group_name = base::FieldTrialList::FindFullName( 21 kDisableIgnoreAutocompleteOffFieldTrialName); 22 23 return group_name.compare(kEnablingGroup) == 0; 24} 25 26} // namespace 27 28// We ignore autocomplete='off' unless the user has specified the command line 29// flag instructing otherwise or is in the field trial group specifying that 30// ignore autocomplete='off' should be disabled. 31bool ShouldIgnoreAutocompleteOffForPasswordFields() { 32 // TODO(jww): The field trial is scheduled to end 2014/9/1. At latest, we 33 // should remove the field trial and switch by then. 34 return !InDisableIgnoreAutocompleteOffGroup() && 35 !CommandLine::ForCurrentProcess()->HasSwitch( 36 switches::kDisableIgnoreAutocompleteOff); 37} 38 39} // namespace autofill 40