// Copyright 2020 Microsoft, Inc. All rights reserved. // Use of this source code is governed by the MIT license that can be // found in the LICENSE file. #ifndef SHELL_BROWSER_PRINTING_PRINT_VIEW_MANAGER_ELECTRON_H_ #define SHELL_BROWSER_PRINTING_PRINT_VIEW_MANAGER_ELECTRON_H_ #include "base/macros.h" #include "build/build_config.h" #include "chrome/browser/printing/print_view_manager_base.h" #include "content/public/browser/web_contents_user_data.h" namespace electron { class PrintViewManagerElectron : public printing::PrintViewManagerBase, public content::WebContentsUserData { public: ~PrintViewManagerElectron() override; static void BindPrintManagerHost( mojo::PendingAssociatedReceiver receiver, content::RenderFrameHost* rfh); void SetupScriptedPrintPreview( SetupScriptedPrintPreviewCallback callback) override; void ShowScriptedPrintPreview(bool source_is_modifiable) override; void RequestPrintPreview( printing::mojom::RequestPrintPreviewParamsPtr params) override; void CheckForCancel(int32_t preview_ui_id, int32_t request_id, CheckForCancelCallback callback) override; private: friend class content::WebContentsUserData; explicit PrintViewManagerElectron(content::WebContents* web_contents); WEB_CONTENTS_USER_DATA_KEY_DECL(); DISALLOW_COPY_AND_ASSIGN(PrintViewManagerElectron); }; } // namespace electron #endif // SHELL_BROWSER_PRINTING_PRINT_VIEW_MANAGER_ELECTRON_H_