chromium/third_party/blink/renderer/modules/credentialmanagement/testing/internals_fed_cm.idl

// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// This should match the DialogButton enum in browser_protocol.pdl
enum DialogButton {
  "ConfirmIdpLoginContinue",
  "ErrorGotIt",
  "ErrorMoreDetails",
};

[
  ImplementedAs=InternalsFedCm
] partial interface Internals {
  [CallWith=ScriptState] Promise<DOMString> getFedCmDialogType();
  [CallWith=ScriptState] Promise<DOMString> getFedCmTitle();
  [CallWith=ScriptState, RaisesException] Promise<undefined> selectFedCmAccount(long accountIndex);
  [CallWith=ScriptState] Promise<undefined> dismissFedCmDialog();
  [CallWith=ScriptState] Promise<undefined> clickFedCmDialogButton(DialogButton dialogButton);
};