#include "chrome/browser/ui/webauthn/authenticator_request_window.h"
#include <memory>
#include <string>
#include <utility>
#include "base/command_line.h"
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/notreached.h"
#include "base/strings/strcat.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/tabs/tab_enums.h"
#include "chrome/browser/ui/webauthn/user_actions.h"
#include "chrome/browser/webauthn/authenticator_request_dialog_model.h"
#include "chrome/browser/webauthn/gpm_enclave_controller.h"
#include "chrome/browser/webauthn/webauthn_switches.h"
#include "content/public/browser/navigation_controller.h"
#include "content/public/browser/navigation_handle.h"
#include "content/public/browser/web_contents_observer.h"
#include "device/fido/enclave/metrics.h"
#include "device/fido/features.h"
#include "google_apis/gaia/gaia_urls.h"
#include "net/base/url_util.h"
#include "net/http/http_response_headers.h"
#include "net/http/http_status_code.h"
#include "ui/base/page_transition_types.h"
#include "ui/gfx/geometry/point.h"
#include "ui/gfx/geometry/rect.h"
#include "url/origin.h"
namespace {
const char kGpmPinResetReauthUrl[] = …;
const char kGpmPasskeyResetSuccessUrl[] = …;
const char kGpmPasskeyResetFailUrl[] = …;
const char kKdi[] = …;
GURL GetGpmResetPinUrl() { … }
class ReauthWebContentsObserver : public content::WebContentsObserver { … };
class PasskeyResetWebContentsObserver : public content::WebContentsObserver { … };
class AuthenticatorRequestWindow
: public content::WebContentsObserver,
public AuthenticatorRequestDialogModel::Observer { … };
}
void ShowAuthenticatorRequestWindow(content::WebContents* web_contents,
AuthenticatorRequestDialogModel* model) { … }
bool IsAuthenticatorRequestWindowUrl(const GURL& url) { … }