#include "chrome/test/chromedriver/webauthn_commands.h"
#include <string>
#include <utility>
#include <vector>
#include "base/base64.h"
#include "base/base64url.h"
#include "base/containers/flat_map.h"
#include "base/functional/callback.h"
#include "base/values.h"
#include "chrome/test/chromedriver/chrome/status.h"
#include "chrome/test/chromedriver/chrome/web_view.h"
#include "chrome/test/chromedriver/session.h"
namespace {
static constexpr char kBase64UrlError[] = …;
static constexpr char kExtensionsMustBeList[] = …;
static constexpr char kDevToolsDidNotReturnExpectedValue[] = …;
static constexpr char kUnrecognizedExtension[] = …;
static constexpr char kUnrecognizedProtocol[] = …;
base::Value::Dict MapParams(
const base::flat_map<const char*, const char*>& mapping,
const base::Value::Dict& params) { … }
Status ConvertBase64UrlToBase64(base::Value::Dict& params,
const std::vector<std::string> keys) { … }
void ConvertBase64ToBase64Url(base::Value::Dict& params,
const std::vector<std::string> keys) { … }
}
Status ExecuteWebAuthnCommand(const WebAuthnCommand& command,
Session* session,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value) { … }
Status ExecuteAddVirtualAuthenticator(WebView* web_view,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value) { … }
Status ExecuteRemoveVirtualAuthenticator(WebView* web_view,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value) { … }
Status ExecuteAddCredential(WebView* web_view,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value) { … }
Status ExecuteGetCredentials(WebView* web_view,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value) { … }
Status ExecuteRemoveCredential(WebView* web_view,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value) { … }
Status ExecuteRemoveAllCredentials(WebView* web_view,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value) { … }
Status ExecuteSetUserVerified(WebView* web_view,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value) { … }
Status ExecuteSetCredentialProperties(WebView* web_view,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value) { … }