blob: c825e6f8e6dcbfa025236c0625d1aad294d3b590 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_PASSWORD_MANAGER_CONTENT_COMMON_CREDENTIAL_MANAGER_TYPES_H_
#define COMPONENTS_PASSWORD_MANAGER_CONTENT_COMMON_CREDENTIAL_MANAGER_TYPES_H_
#include <string>
#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "base/strings/string16.h"
#include "url/gurl.h"
namespace autofill {
struct PasswordForm;
}
namespace password_manager {
// Limit the size of the federations array that we pass to the browser to
// something reasonably sane.
const size_t kMaxFederations = 50u;
enum CredentialType {
CREDENTIAL_TYPE_UNKNOWN = 0,
CREDENTIAL_TYPE_LOCAL,
CREDENTIAL_TYPE_FEDERATED,
CREDENTIAL_TYPE_LAST = CREDENTIAL_TYPE_FEDERATED
};
struct CredentialInfo {
CredentialInfo();
CredentialInfo(const base::string16& id,
const base::string16& name,
const GURL& avatar);
CredentialInfo(const autofill::PasswordForm& form);
~CredentialInfo();
CredentialType type;
// An identifier (username, email address, etc). Corresponds to
// WebCredential's id property.
base::string16 id;
// An user-friendly name ("John Doe"). Corresponds to WebCredential's name
// property.
base::string16 name;
// The address of a user's avatar. Corresponds to WebCredential's avatar
// property.
GURL avatar;
// Corresponds to WebLocalCredential's password property.
base::string16 password;
// Corresponds to WebFederatedCredential's federation property, which is an
// origin serialized as a URL (e.g. "https://example.com/").
GURL federation;
};
} // namespace password_manager
#endif // COMPONENTS_PASSWORD_MANAGER_CONTENT_COMMON_CREDENTIAL_MANAGER_TYPES_H_