#ifndef CHROME_RENDERER_PRINTING_CHROME_PRINT_RENDER_FRAME_HELPER_DELEGATE_H_
#define CHROME_RENDERER_PRINTING_CHROME_PRINT_RENDER_FRAME_HELPER_DELEGATE_H_
#include <optional>
#include "components/printing/renderer/print_render_frame_helper.h"
class ChromePrintRenderFrameHelperDelegate
: public printing::PrintRenderFrameHelper::Delegate {
public:
explicit ChromePrintRenderFrameHelperDelegate(
std::optional<bool> print_preview_enabled = std::nullopt);
ChromePrintRenderFrameHelperDelegate(
const ChromePrintRenderFrameHelperDelegate&) = delete;
ChromePrintRenderFrameHelperDelegate& operator=(
const ChromePrintRenderFrameHelperDelegate&) = delete;
~ChromePrintRenderFrameHelperDelegate() override;
static void SetNextPrintPreviewEnabled(std::optional<bool> enabled);
private:
blink::WebElement GetPdfElement(blink::WebLocalFrame* frame) override;
bool IsPrintPreviewEnabled() override;
bool OverridePrint(blink::WebLocalFrame* frame) override;
bool ShouldGenerateTaggedPDF() override;
const std::optional<bool> print_preview_enabled_;
};
#endif