blob: 688e38b134ed3e51fc5ef1d4d444eefe8f82691e [file] [log] [blame]
// Copyright (c) 2019 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 CHROME_TEST_CHROMEDRIVER_WEBAUTHN_COMMANDS_H_
#define CHROME_TEST_CHROMEDRIVER_WEBAUTHN_COMMANDS_H_
#include <memory>
#include "base/callback_forward.h"
namespace base {
class DictionaryValue;
class Value;
} // namespace base
struct Session;
class Status;
class WebView;
using WebAuthnCommand =
base::RepeatingCallback<Status(WebView* web_view,
const base::Value& params,
std::unique_ptr<base::Value>* value)>;
// Executes a WebAuthn command.
Status ExecuteWebAuthnCommand(const WebAuthnCommand& command,
Session* session,
const base::DictionaryValue& params,
std::unique_ptr<base::Value>* value);
// Add a virtual authenticator.
Status ExecuteAddVirtualAuthenticator(WebView* web_view,
const base::Value& params,
std::unique_ptr<base::Value>* value);
// Remove a virtual authenticator.
Status ExecuteRemoveVirtualAuthenticator(WebView* web_view,
const base::Value& params,
std::unique_ptr<base::Value>* value);
// Inject a credential into an authenticator.
Status ExecuteAddCredential(WebView* web_view,
const base::Value& params,
std::unique_ptr<base::Value>* value);
// Retrieve all the credentials stored in an authenticator.
Status ExecuteGetCredentials(WebView* web_view,
const base::Value& params,
std::unique_ptr<base::Value>* value);
// Remove a single credential stored in an authenticator.
Status ExecuteRemoveCredential(WebView* web_view,
const base::Value& params,
std::unique_ptr<base::Value>* value);
// Remove all the credentials stored in an authenticator.
Status ExecuteRemoveAllCredentials(WebView* web_view,
const base::Value& params,
std::unique_ptr<base::Value>* value);
// Set whether user verification will succeed or fail on authentication requests
// for the authenticator.
Status ExecuteSetUserVerified(WebView* web_view,
const base::Value& params,
std::unique_ptr<base::Value>* value);
#endif // CHROME_TEST_CHROMEDRIVER_WEBAUTHN_COMMANDS_H_