mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			582 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			582 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
diff --git chrome/browser/ui/cocoa/applescript/tab_applescript.mm chrome/browser/ui/cocoa/applescript/tab_applescript.mm
 | 
						|
index 7ec0135..9f68626 100644
 | 
						|
--- chrome/browser/ui/cocoa/applescript/tab_applescript.mm
 | 
						|
+++ chrome/browser/ui/cocoa/applescript/tab_applescript.mm
 | 
						|
@@ -9,7 +9,6 @@
 | 
						|
 #include "base/logging.h"
 | 
						|
 #import "base/mac/scoped_nsobject.h"
 | 
						|
 #include "base/strings/sys_string_conversions.h"
 | 
						|
-#include "chrome/browser/printing/print_view_manager.h"
 | 
						|
 #include "chrome/browser/sessions/session_tab_helper.h"
 | 
						|
 #include "chrome/browser/ui/cocoa/applescript/apple_event_util.h"
 | 
						|
 #include "chrome/browser/ui/cocoa/applescript/error_applescript.h"
 | 
						|
@@ -25,8 +24,13 @@
 | 
						|
 #include "content/public/browser/save_page_type.h"
 | 
						|
 #include "content/public/browser/web_contents.h"
 | 
						|
 #include "content/public/browser/web_contents_delegate.h"
 | 
						|
+#include "printing/features/features.h"
 | 
						|
 #include "url/gurl.h"
 | 
						|
 
 | 
						|
+#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
+#include "chrome/browser/printing/print_view_manager.h"
 | 
						|
+#endif
 | 
						|
+
 | 
						|
 using content::NavigationController;
 | 
						|
 using content::NavigationEntry;
 | 
						|
 using content::OpenURLParams;
 | 
						|
@@ -231,11 +235,15 @@ - (void)handlesStopScriptCommand:(NSScriptCommand*)command {
 | 
						|
 
 | 
						|
 - (void)handlesPrintScriptCommand:(NSScriptCommand*)command {
 | 
						|
   AppleScript::LogAppleScriptUMA(AppleScript::AppleScriptCommand::TAB_PRINT);
 | 
						|
+#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
   bool initiated = printing::PrintViewManager::FromWebContents(webContents_)
 | 
						|
                        ->PrintNow(webContents_->GetMainFrame());
 | 
						|
   if (!initiated) {
 | 
						|
     AppleScript::SetError(AppleScript::errInitiatePrinting);
 | 
						|
   }
 | 
						|
+#else
 | 
						|
+  NOTIMPLEMENTED();
 | 
						|
+#endif
 | 
						|
 }
 | 
						|
 
 | 
						|
 - (void)handlesSaveScriptCommand:(NSScriptCommand*)command {
 | 
						|
diff --git components/printing/common/print_messages.cc components/printing/common/print_messages.cc
 | 
						|
index a9291a2..1a50724 100644
 | 
						|
--- components/printing/common/print_messages.cc
 | 
						|
+++ components/printing/common/print_messages.cc
 | 
						|
@@ -107,7 +107,6 @@ void PrintMsg_PrintPages_Params::Reset() {
 | 
						|
   pages = std::vector<int>();
 | 
						|
 }
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 PrintHostMsg_RequestPrintPreview_Params::
 | 
						|
     PrintHostMsg_RequestPrintPreview_Params()
 | 
						|
     : is_modifiable(false),
 | 
						|
@@ -129,4 +128,3 @@ PrintHostMsg_SetOptionsFromDocument_Params::
 | 
						|
 PrintHostMsg_SetOptionsFromDocument_Params::
 | 
						|
     ~PrintHostMsg_SetOptionsFromDocument_Params() {
 | 
						|
 }
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
diff --git components/printing/common/print_messages.h components/printing/common/print_messages.h
 | 
						|
index 3679499..b2d2544 100644
 | 
						|
--- components/printing/common/print_messages.h
 | 
						|
+++ components/printing/common/print_messages.h
 | 
						|
@@ -74,7 +74,6 @@ struct PrintMsg_PrintPages_Params {
 | 
						|
   std::vector<int> pages;
 | 
						|
 };
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 struct PrintHostMsg_RequestPrintPreview_Params {
 | 
						|
   PrintHostMsg_RequestPrintPreview_Params();
 | 
						|
   ~PrintHostMsg_RequestPrintPreview_Params();
 | 
						|
@@ -93,7 +92,6 @@ struct PrintHostMsg_SetOptionsFromDocument_Params {
 | 
						|
   printing::DuplexMode duplex;
 | 
						|
   printing::PageRanges page_ranges;
 | 
						|
 };
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
 #endif  // COMPONENTS_PRINTING_COMMON_PRINT_MESSAGES_H_
 | 
						|
 
 | 
						|
@@ -186,7 +184,6 @@ IPC_STRUCT_TRAITS_BEGIN(printing::PageRange)
 | 
						|
   IPC_STRUCT_TRAITS_MEMBER(to)
 | 
						|
 IPC_STRUCT_TRAITS_END()
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 IPC_STRUCT_TRAITS_BEGIN(PrintHostMsg_RequestPrintPreview_Params)
 | 
						|
   IPC_STRUCT_TRAITS_MEMBER(is_modifiable)
 | 
						|
   IPC_STRUCT_TRAITS_MEMBER(webnode_only)
 | 
						|
@@ -207,7 +204,6 @@ IPC_STRUCT_TRAITS_BEGIN(PrintHostMsg_SetOptionsFromDocument_Params)
 | 
						|
   // Specifies page range to be printed.
 | 
						|
   IPC_STRUCT_TRAITS_MEMBER(page_ranges)
 | 
						|
 IPC_STRUCT_TRAITS_END()
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
 IPC_STRUCT_TRAITS_BEGIN(printing::PageSizeMargins)
 | 
						|
   IPC_STRUCT_TRAITS_MEMBER(content_width)
 | 
						|
@@ -227,7 +223,6 @@ IPC_STRUCT_TRAITS_BEGIN(PrintMsg_PrintPages_Params)
 | 
						|
   IPC_STRUCT_TRAITS_MEMBER(pages)
 | 
						|
 IPC_STRUCT_TRAITS_END()
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 // Parameters to describe a rendered document.
 | 
						|
 IPC_STRUCT_BEGIN(PrintHostMsg_DidPreviewDocument_Params)
 | 
						|
   // A shared memory handle to metafile data.
 | 
						|
@@ -284,7 +279,6 @@ IPC_STRUCT_BEGIN(PrintHostMsg_DidGetPreviewPageCount_Params)
 | 
						|
   // Indicates whether the existing preview data needs to be cleared or not.
 | 
						|
   IPC_STRUCT_MEMBER(bool, clear_preview_data)
 | 
						|
 IPC_STRUCT_END()
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
 // Parameters to describe a rendered page.
 | 
						|
 IPC_STRUCT_BEGIN(PrintHostMsg_DidPrintPage_Params)
 | 
						|
@@ -323,22 +317,20 @@ IPC_STRUCT_END()
 | 
						|
 
 | 
						|
 // Messages sent from the browser to the renderer.
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 // Tells the RenderFrame to initiate print preview for the entire document.
 | 
						|
 IPC_MESSAGE_ROUTED1(PrintMsg_InitiatePrintPreview, bool /* has_selection */)
 | 
						|
-#endif
 | 
						|
 
 | 
						|
 // Tells the RenderFrame to initiate printing or print preview for a particular
 | 
						|
 // node, depending on which mode the RenderFrame is in.
 | 
						|
 IPC_MESSAGE_ROUTED0(PrintMsg_PrintNodeUnderContextMenu)
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_BASIC_PRINTING) && BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
+#if BUILDFLAG(ENABLE_BASIC_PRINTING)
 | 
						|
 // Tells the renderer to print the print preview tab's PDF plugin without
 | 
						|
 // showing the print dialog. (This is the final step in the print preview
 | 
						|
 // workflow.)
 | 
						|
 IPC_MESSAGE_ROUTED1(PrintMsg_PrintForPrintPreview,
 | 
						|
                     base::DictionaryValue /* settings */)
 | 
						|
-#endif  // BUILDFLAG(ENABLE_BASIC_PRINTING) && BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
+#endif  // BUILDFLAG(ENABLE_BASIC_PRINTING)
 | 
						|
 
 | 
						|
 #if BUILDFLAG(ENABLE_BASIC_PRINTING)
 | 
						|
 // Tells the RenderFrame to switch the CSS to print media type, renders every
 | 
						|
@@ -356,13 +348,11 @@ IPC_MESSAGE_ROUTED1(PrintMsg_PrintingDone,
 | 
						|
 // Tells the RenderFrame whether printing is enabled or not.
 | 
						|
 IPC_MESSAGE_ROUTED1(PrintMsg_SetPrintingEnabled, bool /* enabled */)
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 // Tells the RenderFrame to switch the CSS to print media type, renders every
 | 
						|
 // requested pages for print preview using the given |settings|. This gets
 | 
						|
 // called multiple times as the user updates settings.
 | 
						|
 IPC_MESSAGE_ROUTED1(PrintMsg_PrintPreview,
 | 
						|
                     base::DictionaryValue /* settings */)
 | 
						|
-#endif
 | 
						|
 
 | 
						|
 // Messages sent from the renderer to the browser.
 | 
						|
 
 | 
						|
@@ -418,7 +408,6 @@ IPC_MESSAGE_CONTROL2(PrintHostMsg_TempFileForPrintingWritten,
 | 
						|
                      int /* fd in browser */)
 | 
						|
 #endif  // defined(OS_ANDROID)
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 // Asks the browser to do print preview.
 | 
						|
 IPC_MESSAGE_ROUTED1(PrintHostMsg_RequestPrintPreview,
 | 
						|
                     PrintHostMsg_RequestPrintPreview_Params /* params */)
 | 
						|
@@ -452,7 +441,6 @@ IPC_SYNC_MESSAGE_ROUTED2_1(PrintHostMsg_CheckForCancel,
 | 
						|
 // The memory handle in this message is already valid in the browser process.
 | 
						|
 IPC_MESSAGE_ROUTED1(PrintHostMsg_MetafileReadyForPrinting,
 | 
						|
                     PrintHostMsg_DidPreviewDocument_Params /* params */)
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
 // This is sent when there are invalid printer settings.
 | 
						|
 IPC_MESSAGE_ROUTED0(PrintHostMsg_ShowInvalidPrinterSettingsError)
 | 
						|
@@ -461,7 +449,6 @@ IPC_MESSAGE_ROUTED0(PrintHostMsg_ShowInvalidPrinterSettingsError)
 | 
						|
 IPC_MESSAGE_ROUTED1(PrintHostMsg_PrintingFailed,
 | 
						|
                     int /* document cookie */)
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 // Tell the browser print preview failed.
 | 
						|
 IPC_MESSAGE_ROUTED1(PrintHostMsg_PrintPreviewFailed,
 | 
						|
                     int /* document cookie */)
 | 
						|
@@ -488,4 +475,3 @@ IPC_MESSAGE_ROUTED1(PrintHostMsg_ShowScriptedPrintPreview,
 | 
						|
 // Notify the browser to set print presets based on source PDF document.
 | 
						|
 IPC_MESSAGE_ROUTED1(PrintHostMsg_SetOptionsFromDocument,
 | 
						|
                     PrintHostMsg_SetOptionsFromDocument_Params /* params */)
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
diff --git components/printing/renderer/print_web_view_helper.cc components/printing/renderer/print_web_view_helper.cc
 | 
						|
index 3144c40..8679f72 100644
 | 
						|
--- components/printing/renderer/print_web_view_helper.cc
 | 
						|
+++ components/printing/renderer/print_web_view_helper.cc
 | 
						|
@@ -89,6 +89,9 @@ const float kPrintingMinimumShrinkFactor = 1.333f;
 | 
						|
 
 | 
						|
 #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 bool g_is_preview_enabled = true;
 | 
						|
+#else
 | 
						|
+bool g_is_preview_enabled = false;
 | 
						|
+#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
 const char kPageLoadScriptFormat[] =
 | 
						|
     "document.open(); document.write(%s); document.close();";
 | 
						|
@@ -103,9 +106,6 @@ void ExecuteScript(blink::WebFrame* frame,
 | 
						|
   std::string script = base::StringPrintf(script_format, json.c_str());
 | 
						|
   frame->executeScript(blink::WebString(base::UTF8ToUTF16(script)));
 | 
						|
 }
 | 
						|
-#else
 | 
						|
-bool g_is_preview_enabled = false;
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
 int GetDPI(const PrintMsg_Print_Params* print_params) {
 | 
						|
 #if defined(OS_MACOSX)
 | 
						|
@@ -323,7 +323,6 @@ bool PrintingNodeOrPdfFrame(const blink::WebLocalFrame* frame,
 | 
						|
   return plugin && plugin->supportsPaginatedPrint();
 | 
						|
 }
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 // Returns true if the current destination printer is PRINT_TO_PDF.
 | 
						|
 bool IsPrintToPdfRequested(const base::DictionaryValue& job_settings) {
 | 
						|
   bool print_to_pdf = false;
 | 
						|
@@ -345,7 +344,6 @@ bool PrintingFrameHasPageSizeStyle(blink::WebLocalFrame* frame,
 | 
						|
   }
 | 
						|
   return frame_has_custom_page_size_style;
 | 
						|
 }
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
 #if BUILDFLAG(ENABLE_PRINTING)
 | 
						|
 // Disable scaling when either:
 | 
						|
@@ -401,7 +399,6 @@ MarginType GetMarginsForPdf(blink::WebLocalFrame* frame,
 | 
						|
 }
 | 
						|
 #endif
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 bool FitToPageEnabled(const base::DictionaryValue& job_settings) {
 | 
						|
   bool fit_to_paper_size = false;
 | 
						|
   if (!job_settings.GetBoolean(kSettingFitToPageEnabled, &fit_to_paper_size)) {
 | 
						|
@@ -444,7 +441,6 @@ blink::WebPrintScalingOption GetPrintScalingOption(
 | 
						|
   }
 | 
						|
   return blink::WebPrintScalingOptionFitToPrintableArea;
 | 
						|
 }
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
 // Helper function to scale and round an integer value with a double valued
 | 
						|
 // scaling.
 | 
						|
@@ -563,7 +559,6 @@ blink::WebView* FrameReference::view() {
 | 
						|
   return view_;
 | 
						|
 }
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 // static - Not anonymous so that platform implementations can use it.
 | 
						|
 void PrintWebViewHelper::PrintHeaderAndFooter(
 | 
						|
     blink::WebCanvas* canvas,
 | 
						|
@@ -621,7 +616,6 @@ void PrintWebViewHelper::PrintHeaderAndFooter(
 | 
						|
 
 | 
						|
   web_view->close();
 | 
						|
 }
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
 // static - Not anonymous so that platform implementations can use it.
 | 
						|
 float PrintWebViewHelper::RenderPageContent(blink::WebFrame* frame,
 | 
						|
@@ -906,6 +900,7 @@ PrintWebViewHelper::PrintWebViewHelper(content::RenderFrame* render_frame,
 | 
						|
       print_for_preview_(false),
 | 
						|
       delegate_(std::move(delegate)),
 | 
						|
       print_node_in_progress_(false),
 | 
						|
+      force_print_preview_(false),
 | 
						|
       is_loading_(false),
 | 
						|
       is_scripted_preview_delayed_(false),
 | 
						|
       ipc_nesting_level_(0),
 | 
						|
@@ -966,10 +961,8 @@ void PrintWebViewHelper::ScriptedPrint(bool user_initiated) {
 | 
						|
     return;
 | 
						|
 
 | 
						|
   if (g_is_preview_enabled) {
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
     print_preview_context_.InitWithFrame(web_frame);
 | 
						|
     RequestPrintPreview(PRINT_PREVIEW_SCRIPTED);
 | 
						|
-#endif
 | 
						|
   } else {
 | 
						|
 #if BUILDFLAG(ENABLE_BASIC_PRINTING)
 | 
						|
     Print(web_frame, blink::WebNode(), true /* is_scripted? */);
 | 
						|
@@ -997,14 +990,10 @@ bool PrintWebViewHelper::OnMessageReceived(const IPC::Message& message) {
 | 
						|
     IPC_MESSAGE_HANDLER(PrintMsg_PrintPages, OnPrintPages)
 | 
						|
     IPC_MESSAGE_HANDLER(PrintMsg_PrintForSystemDialog, OnPrintForSystemDialog)
 | 
						|
 #endif  // BUILDFLAG(ENABLE_BASIC_PRINTING)
 | 
						|
-#if BUILDFLAG(ENABLE_BASIC_PRINTING) && BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
     IPC_MESSAGE_HANDLER(PrintMsg_PrintForPrintPreview, OnPrintForPrintPreview)
 | 
						|
-#endif
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
     IPC_MESSAGE_HANDLER(PrintMsg_InitiatePrintPreview, OnInitiatePrintPreview)
 | 
						|
     IPC_MESSAGE_HANDLER(PrintMsg_PrintPreview, OnPrintPreview)
 | 
						|
     IPC_MESSAGE_HANDLER(PrintMsg_PrintingDone, OnPrintingDone)
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
     IPC_MESSAGE_HANDLER(PrintMsg_SetPrintingEnabled, OnSetPrintingEnabled)
 | 
						|
     IPC_MESSAGE_UNHANDLED(handled = false)
 | 
						|
   IPC_END_MESSAGE_MAP()
 | 
						|
@@ -1048,7 +1037,6 @@ void PrintWebViewHelper::OnPrintForSystemDialog() {
 | 
						|
 }
 | 
						|
 #endif  // BUILDFLAG(ENABLE_BASIC_PRINTING)
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_BASIC_PRINTING) && BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 void PrintWebViewHelper::OnPrintForPrintPreview(
 | 
						|
     const base::DictionaryValue& job_settings) {
 | 
						|
   CHECK_LE(ipc_nesting_level_, 1);
 | 
						|
@@ -1107,7 +1095,6 @@ void PrintWebViewHelper::OnPrintForPrintPreview(
 | 
						|
     DidFinishPrinting(FAIL_PRINT);
 | 
						|
   }
 | 
						|
 }
 | 
						|
-#endif  // BUILDFLAG(ENABLE_BASIC_PRINTING) && BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
 void PrintWebViewHelper::GetPageSizeAndContentAreaFromPageLayout(
 | 
						|
     const PageSizeMargins& page_layout_in_points,
 | 
						|
@@ -1132,7 +1119,6 @@ void PrintWebViewHelper::UpdateFrameMarginsCssInfo(
 | 
						|
   ignore_css_margins_ = (margins_type != DEFAULT_MARGINS);
 | 
						|
 }
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 void PrintWebViewHelper::OnPrintPreview(const base::DictionaryValue& settings) {
 | 
						|
   if (ipc_nesting_level_ > 1)
 | 
						|
     return;
 | 
						|
@@ -1317,7 +1303,7 @@ bool PrintWebViewHelper::CreatePreviewDocument() {
 | 
						|
   return true;
 | 
						|
 }
 | 
						|
 
 | 
						|
-#if !defined(OS_MACOSX) && BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
+#if !defined(OS_MACOSX)
 | 
						|
 bool PrintWebViewHelper::RenderPreviewPage(
 | 
						|
     int page_number,
 | 
						|
     const PrintMsg_Print_Params& print_params) {
 | 
						|
@@ -1347,7 +1333,7 @@ bool PrintWebViewHelper::RenderPreviewPage(
 | 
						|
   }
 | 
						|
   return PreviewPageRendered(page_number, draft_metafile.get());
 | 
						|
 }
 | 
						|
-#endif  // !defined(OS_MACOSX) && BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
+#endif  // !defined(OS_MACOSX)
 | 
						|
 
 | 
						|
 bool PrintWebViewHelper::FinalizePrintReadyDocument() {
 | 
						|
   DCHECK(!is_print_ready_metafile_sent_);
 | 
						|
@@ -1377,7 +1363,6 @@ bool PrintWebViewHelper::FinalizePrintReadyDocument() {
 | 
						|
   Send(new PrintHostMsg_MetafileReadyForPrinting(routing_id(), preview_params));
 | 
						|
   return true;
 | 
						|
 }
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
 void PrintWebViewHelper::OnPrintingDone(bool success) {
 | 
						|
   if (ipc_nesting_level_ > 1)
 | 
						|
@@ -1392,7 +1377,6 @@ void PrintWebViewHelper::OnSetPrintingEnabled(bool enabled) {
 | 
						|
   is_printing_enabled_ = enabled;
 | 
						|
 }
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 void PrintWebViewHelper::OnInitiatePrintPreview(bool has_selection) {
 | 
						|
   if (ipc_nesting_level_ > 1)
 | 
						|
     return;
 | 
						|
@@ -1403,7 +1387,9 @@ void PrintWebViewHelper::OnInitiatePrintPreview(bool has_selection) {
 | 
						|
   // that instead.
 | 
						|
   auto plugin = delegate_->GetPdfElement(frame);
 | 
						|
   if (!plugin.isNull()) {
 | 
						|
+    force_print_preview_ = true;
 | 
						|
     PrintNode(plugin);
 | 
						|
+    force_print_preview_ = false;
 | 
						|
     return;
 | 
						|
   }
 | 
						|
   print_preview_context_.InitWithFrame(frame);
 | 
						|
@@ -1411,7 +1397,6 @@ void PrintWebViewHelper::OnInitiatePrintPreview(bool has_selection) {
 | 
						|
                           ? PRINT_PREVIEW_USER_INITIATED_SELECTION
 | 
						|
                           : PRINT_PREVIEW_USER_INITIATED_ENTIRE_FRAME);
 | 
						|
 }
 | 
						|
-#endif
 | 
						|
 
 | 
						|
 bool PrintWebViewHelper::IsPrintingEnabled() const {
 | 
						|
   return is_printing_enabled_;
 | 
						|
@@ -1433,11 +1418,9 @@ void PrintWebViewHelper::PrintNode(const blink::WebNode& node) {
 | 
						|
 
 | 
						|
   print_node_in_progress_ = true;
 | 
						|
 
 | 
						|
-  if (g_is_preview_enabled) {
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
+  if (g_is_preview_enabled || force_print_preview_) {
 | 
						|
     print_preview_context_.InitWithNode(node);
 | 
						|
     RequestPrintPreview(PRINT_PREVIEW_USER_INITIATED_CONTEXT_NODE);
 | 
						|
-#endif
 | 
						|
   } else {
 | 
						|
 #if BUILDFLAG(ENABLE_BASIC_PRINTING)
 | 
						|
     // Make a copy of the node, in case RenderView::OnContextMenuClosed() resets
 | 
						|
@@ -1526,7 +1509,6 @@ void PrintWebViewHelper::DidFinishPrinting(PrintingResult result) {
 | 
						|
       }
 | 
						|
       break;
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
     case FAIL_PREVIEW:
 | 
						|
       int cookie =
 | 
						|
           print_pages_params_ ? print_pages_params_->params.document_cookie : 0;
 | 
						|
@@ -1538,7 +1520,6 @@ void PrintWebViewHelper::DidFinishPrinting(PrintingResult result) {
 | 
						|
       }
 | 
						|
       print_preview_context_.Failed(notify_browser_of_print_failure_);
 | 
						|
       break;
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
   }
 | 
						|
   prep_frame_view_.reset();
 | 
						|
   print_pages_params_.reset();
 | 
						|
@@ -1670,7 +1651,6 @@ bool PrintWebViewHelper::CalculateNumberOfPages(blink::WebLocalFrame* frame,
 | 
						|
   return true;
 | 
						|
 }
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 bool PrintWebViewHelper::SetOptionsFromPdfDocument(
 | 
						|
     PrintHostMsg_SetOptionsFromDocument_Params* options) {
 | 
						|
   blink::WebLocalFrame* source_frame = print_preview_context_.source_frame();
 | 
						|
@@ -1777,7 +1757,6 @@ bool PrintWebViewHelper::UpdatePrintSettings(
 | 
						|
     print_preview_context_.set_error(PREVIEW_ERROR_INVALID_PRINTER_SETTINGS);
 | 
						|
   return false;
 | 
						|
 }
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
 #if BUILDFLAG(ENABLE_BASIC_PRINTING)
 | 
						|
 void PrintWebViewHelper::GetPrintSettingsFromUser(
 | 
						|
@@ -1884,7 +1863,6 @@ void PrintWebViewHelper::PrintPageInternal(
 | 
						|
 
 | 
						|
   MetafileSkiaWrapper::SetMetafileOnCanvas(*canvas, metafile);
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
   if (params.params.display_header_footer) {
 | 
						|
     // TODO(thestig): Figure out why Linux needs this. It is almost certainly
 | 
						|
     // |printingMinimumShrinkFactor| from Blink.
 | 
						|
@@ -1899,7 +1877,6 @@ void PrintWebViewHelper::PrintPageInternal(
 | 
						|
                          scale_factor / fudge_factor, page_layout_in_points,
 | 
						|
                          params.params);
 | 
						|
   }
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
   float webkit_scale_factor =
 | 
						|
       RenderPageContent(frame, params.page_number, canvas_area, content_area,
 | 
						|
@@ -1935,7 +1912,6 @@ bool PrintWebViewHelper::CopyMetafileDataToSharedMem(
 | 
						|
   return true;
 | 
						|
 }
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 void PrintWebViewHelper::ShowScriptedPrintPreview() {
 | 
						|
   if (is_scripted_preview_delayed_) {
 | 
						|
     is_scripted_preview_delayed_ = false;
 | 
						|
@@ -2066,7 +2042,6 @@ bool PrintWebViewHelper::PreviewPageRendered(int page_number,
 | 
						|
   Send(new PrintHostMsg_DidPreviewPage(routing_id(), preview_page_params));
 | 
						|
   return true;
 | 
						|
 }
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
 PrintWebViewHelper::PrintPreviewContext::PrintPreviewContext()
 | 
						|
     : total_page_count_(0),
 | 
						|
diff --git components/printing/renderer/print_web_view_helper.h components/printing/renderer/print_web_view_helper.h
 | 
						|
index e603411..ec4b7d8 100644
 | 
						|
--- components/printing/renderer/print_web_view_helper.h
 | 
						|
+++ components/printing/renderer/print_web_view_helper.h
 | 
						|
@@ -145,9 +145,7 @@ class PrintWebViewHelper
 | 
						|
     OK,
 | 
						|
     FAIL_PRINT_INIT,
 | 
						|
     FAIL_PRINT,
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
     FAIL_PREVIEW,
 | 
						|
-#endif
 | 
						|
   };
 | 
						|
 
 | 
						|
   enum PrintPreviewErrorBuckets {
 | 
						|
@@ -183,10 +181,8 @@ class PrintWebViewHelper
 | 
						|
   void OnPrintForSystemDialog();
 | 
						|
   void OnPrintForPrintPreview(const base::DictionaryValue& job_settings);
 | 
						|
 #endif  // BUILDFLAG(ENABLE_BASIC_PRINTING)
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
   void OnInitiatePrintPreview(bool has_selection);
 | 
						|
   void OnPrintPreview(const base::DictionaryValue& settings);
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
   void OnPrintingDone(bool success);
 | 
						|
 
 | 
						|
   // Get |page_size| and |content_area| information from
 | 
						|
@@ -199,7 +195,6 @@ class PrintWebViewHelper
 | 
						|
   // Update |ignore_css_margins_| based on settings.
 | 
						|
   void UpdateFrameMarginsCssInfo(const base::DictionaryValue& settings);
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
   // Prepare frame for creating preview document.
 | 
						|
   void PrepareFrameForPreviewDocument();
 | 
						|
 
 | 
						|
@@ -216,7 +211,6 @@ class PrintWebViewHelper
 | 
						|
 
 | 
						|
   // Finalize the print ready preview document.
 | 
						|
   bool FinalizePrintReadyDocument();
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
   // Enable/Disable printing.
 | 
						|
   void OnSetPrintingEnabled(bool enabled);
 | 
						|
@@ -246,7 +240,6 @@ class PrintWebViewHelper
 | 
						|
                               const blink::WebNode& node,
 | 
						|
                               int* number_of_pages);
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
   // Set options for print preset from source PDF document.
 | 
						|
   bool SetOptionsFromPdfDocument(
 | 
						|
       PrintHostMsg_SetOptionsFromDocument_Params* options);
 | 
						|
@@ -257,7 +250,6 @@ class PrintWebViewHelper
 | 
						|
   bool UpdatePrintSettings(blink::WebLocalFrame* frame,
 | 
						|
                            const blink::WebNode& node,
 | 
						|
                            const base::DictionaryValue& passed_job_settings);
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
 #if BUILDFLAG(ENABLE_BASIC_PRINTING)
 | 
						|
   // Get final print settings from the user.
 | 
						|
@@ -335,7 +327,6 @@ class PrintWebViewHelper
 | 
						|
       const PrintMsg_PrintPages_Params& params,
 | 
						|
       int page_count);
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
   // Given the |device| and |canvas| to draw on, prints the appropriate headers
 | 
						|
   // and footers using strings from |header_footer_info| on to the canvas.
 | 
						|
   static void PrintHeaderAndFooter(blink::WebCanvas* canvas,
 | 
						|
@@ -345,7 +336,6 @@ class PrintWebViewHelper
 | 
						|
                                    float webkit_scale_factor,
 | 
						|
                                    const PageSizeMargins& page_layout_in_points,
 | 
						|
                                    const PrintMsg_Print_Params& params);
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
   // Script Initiated Printing ------------------------------------------------
 | 
						|
 
 | 
						|
@@ -355,7 +345,6 @@ class PrintWebViewHelper
 | 
						|
   bool IsScriptInitiatedPrintAllowed(blink::WebLocalFrame* frame,
 | 
						|
                                      bool user_initiated);
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
   // Shows scripted print preview when options from plugin are available.
 | 
						|
   void ShowScriptedPrintPreview();
 | 
						|
 
 | 
						|
@@ -373,7 +362,6 @@ class PrintWebViewHelper
 | 
						|
   // |metafile| is the rendered page. Otherwise |metafile| is NULL.
 | 
						|
   // Returns true if print preview should continue, false on failure.
 | 
						|
   bool PreviewPageRendered(int page_number, PdfMetafileSkia* metafile);
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
   void SetPrintPagesParams(const PrintMsg_PrintPages_Params& settings);
 | 
						|
 
 | 
						|
@@ -525,6 +513,7 @@ class PrintWebViewHelper
 | 
						|
   ScriptingThrottler scripting_throttler_;
 | 
						|
 
 | 
						|
   bool print_node_in_progress_;
 | 
						|
+  bool force_print_preview_;
 | 
						|
   PrintPreviewContext print_preview_context_;
 | 
						|
   bool is_loading_;
 | 
						|
   bool is_scripted_preview_delayed_;
 | 
						|
diff --git components/printing/renderer/print_web_view_helper_mac.mm components/printing/renderer/print_web_view_helper_mac.mm
 | 
						|
index ff49472..b107439 100644
 | 
						|
--- components/printing/renderer/print_web_view_helper_mac.mm
 | 
						|
+++ components/printing/renderer/print_web_view_helper_mac.mm
 | 
						|
@@ -69,7 +69,6 @@
 | 
						|
   Send(new PrintHostMsg_DidPrintPage(routing_id(), page_params));
 | 
						|
 }
 | 
						|
 
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 bool PrintWebViewHelper::RenderPreviewPage(
 | 
						|
     int page_number,
 | 
						|
     const PrintMsg_Print_Params& print_params) {
 | 
						|
@@ -106,7 +105,6 @@
 | 
						|
   }
 | 
						|
   return PreviewPageRendered(page_number, draft_metafile.get());
 | 
						|
 }
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
 
 | 
						|
 void PrintWebViewHelper::RenderPage(const PrintMsg_Print_Params& params,
 | 
						|
                                     int page_number,
 | 
						|
@@ -142,14 +140,12 @@
 | 
						|
 
 | 
						|
     MetafileSkiaWrapper::SetMetafileOnCanvas(*canvas, metafile);
 | 
						|
     skia::SetIsPreviewMetafile(*canvas, is_preview);
 | 
						|
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
     if (params.display_header_footer) {
 | 
						|
       PrintHeaderAndFooter(static_cast<blink::WebCanvas*>(canvas),
 | 
						|
                            page_number + 1,
 | 
						|
                            print_preview_context_.total_page_count(), *frame,
 | 
						|
                            scale_factor, page_layout_in_points, params);
 | 
						|
     }
 | 
						|
-#endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 | 
						|
     RenderPageContent(frame, page_number, canvas_area, content_area,
 | 
						|
                       scale_factor, static_cast<blink::WebCanvas*>(canvas));
 | 
						|
   }
 | 
						|
diff --git components/resources/printing_resources.grdp components/resources/printing_resources.grdp
 | 
						|
index 7213746..32b8b1e 100644
 | 
						|
--- components/resources/printing_resources.grdp
 | 
						|
+++ components/resources/printing_resources.grdp
 | 
						|
@@ -1,6 +1,4 @@
 | 
						|
 <?xml version="1.0" encoding="utf-8"?>
 | 
						|
 <grit-part>
 | 
						|
-  <if expr="enable_print_preview">
 | 
						|
     <include name="IDR_PRINT_PREVIEW_PAGE" file="../printing/resources/print_preview_page.html" flattenhtml="true" allowexternalscript="false" type="BINDATA" />
 | 
						|
-  </if>
 | 
						|
 </grit-part>
 |