#ifndef CHROME_BROWSER_UI_PASSWORDS_PASSWORD_GENERATION_POPUP_CONTROLLER_IMPL_H_
#define CHROME_BROWSER_UI_PASSWORDS_PASSWORD_GENERATION_POPUP_CONTROLLER_IMPL_H_
#include <stddef.h>
#include <memory>
#include <string>
#include <vector>
#include "base/i18n/rtl.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/scoped_observation.h"
#include "build/build_config.h"
#include "chrome/browser/ui/autofill/popup_controller_common.h"
#include "chrome/browser/ui/passwords/password_generation_popup_controller.h"
#include "components/autofill/core/browser/ui/popup_open_enums.h"
#include "components/autofill/core/common/signatures.h"
#include "components/autofill/core/common/unique_ids.h"
#include "components/password_manager/core/browser/password_form.h"
#include "content/public/browser/web_contents_observer.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/rect_f.h"
#include "ui/gfx/native_widget_types.h"
#if !BUILDFLAG(IS_ANDROID)
#include "components/zoom/zoom_observer.h"
#endif
namespace content {
class WebContents;
}
namespace input {
struct NativeWebKeyboardEvent;
}
namespace password_manager {
class PasswordManagerDriver;
}
namespace autofill {
class FormData;
namespace password_generation {
enum class PasswordGenerationType;
struct PasswordGenerationUIData;
}
}
class PasswordGenerationPopupObserver;
class PasswordGenerationPopupView;
class PrefService;
class PasswordGenerationPopupControllerImpl
: public PasswordGenerationPopupController,
public content::WebContentsObserver
#if !BUILDFLAG(IS_ANDROID)
,
public zoom::ZoomObserver
#endif
{ … };
#endif