| OLD | NEW |
| (Empty) |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 // IPC messages for printing. | |
| 6 // Multiply-included message file, hence no include guard. | |
| 7 | |
| 8 // TODO(sgurun) copied from chrome/common. Remove after crbug.com/322276 | |
| 9 | |
| 10 #include <string> | |
| 11 #include <vector> | |
| 12 | |
| 13 #include "base/memory/shared_memory.h" | |
| 14 #include "base/values.h" | |
| 15 #include "ipc/ipc_message_macros.h" | |
| 16 #include "printing/page_size_margins.h" | |
| 17 #include "printing/print_job_constants.h" | |
| 18 #include "third_party/WebKit/public/web/WebPrintScalingOption.h" | |
| 19 #include "ui/gfx/geometry/rect.h" | |
| 20 #include "ui/gfx/ipc/gfx_param_traits.h" | |
| 21 #include "ui/gfx/native_widget_types.h" | |
| 22 | |
| 23 #ifndef AW_COMMON_PRINT_MESSAGES_H_ | |
| 24 #define AW_COMMON_PRINT_MESSAGES_H_ | |
| 25 | |
| 26 struct PrintMsg_Print_Params { | |
| 27 PrintMsg_Print_Params(); | |
| 28 ~PrintMsg_Print_Params(); | |
| 29 | |
| 30 // Resets the members of the struct to 0. | |
| 31 void Reset(); | |
| 32 | |
| 33 gfx::Size page_size; | |
| 34 gfx::Size content_size; | |
| 35 gfx::Rect printable_area; | |
| 36 int margin_top; | |
| 37 int margin_left; | |
| 38 double dpi; | |
| 39 double min_shrink; | |
| 40 double max_shrink; | |
| 41 int desired_dpi; | |
| 42 int document_cookie; | |
| 43 bool selection_only; | |
| 44 bool supports_alpha_blend; | |
| 45 int32 preview_ui_id; | |
| 46 int preview_request_id; | |
| 47 bool is_first_request; | |
| 48 blink::WebPrintScalingOption print_scaling_option; | |
| 49 bool print_to_pdf; | |
| 50 bool display_header_footer; | |
| 51 base::string16 title; | |
| 52 base::string16 url; | |
| 53 bool should_print_backgrounds; | |
| 54 }; | |
| 55 | |
| 56 struct PrintMsg_PrintPages_Params { | |
| 57 PrintMsg_PrintPages_Params(); | |
| 58 ~PrintMsg_PrintPages_Params(); | |
| 59 | |
| 60 // Resets the members of the struct to 0. | |
| 61 void Reset(); | |
| 62 | |
| 63 PrintMsg_Print_Params params; | |
| 64 std::vector<int> pages; | |
| 65 }; | |
| 66 | |
| 67 struct PrintHostMsg_RequestPrintPreview_Params { | |
| 68 PrintHostMsg_RequestPrintPreview_Params(); | |
| 69 ~PrintHostMsg_RequestPrintPreview_Params(); | |
| 70 bool is_modifiable; | |
| 71 bool webnode_only; | |
| 72 bool has_selection; | |
| 73 bool selection_only; | |
| 74 }; | |
| 75 | |
| 76 #endif // AW_COMMON_PRINT_MESSAGES_H_ | |
| 77 | |
| 78 #define IPC_MESSAGE_START PrintMsgStart | |
| 79 | |
| 80 IPC_ENUM_TRAITS_MAX_VALUE(printing::MarginType, | |
| 81 printing::MarginType::MARGIN_TYPE_LAST) | |
| 82 | |
| 83 IPC_ENUM_TRAITS_MAX_VALUE( | |
| 84 blink::WebPrintScalingOption, | |
| 85 blink::WebPrintScalingOption::WebPrintScalingOptionLast) | |
| 86 | |
| 87 // Parameters for a render request. | |
| 88 IPC_STRUCT_TRAITS_BEGIN(PrintMsg_Print_Params) | |
| 89 // Physical size of the page, including non-printable margins, | |
| 90 // in pixels according to dpi. | |
| 91 IPC_STRUCT_TRAITS_MEMBER(page_size) | |
| 92 | |
| 93 // In pixels according to dpi_x and dpi_y. | |
| 94 IPC_STRUCT_TRAITS_MEMBER(content_size) | |
| 95 | |
| 96 // Physical printable area of the page in pixels according to dpi. | |
| 97 IPC_STRUCT_TRAITS_MEMBER(printable_area) | |
| 98 | |
| 99 // The y-offset of the printable area, in pixels according to dpi. | |
| 100 IPC_STRUCT_TRAITS_MEMBER(margin_top) | |
| 101 | |
| 102 // The x-offset of the printable area, in pixels according to dpi. | |
| 103 IPC_STRUCT_TRAITS_MEMBER(margin_left) | |
| 104 | |
| 105 // Specifies dots per inch. | |
| 106 IPC_STRUCT_TRAITS_MEMBER(dpi) | |
| 107 | |
| 108 // Minimum shrink factor. See PrintSettings::min_shrink for more information. | |
| 109 IPC_STRUCT_TRAITS_MEMBER(min_shrink) | |
| 110 | |
| 111 // Maximum shrink factor. See PrintSettings::max_shrink for more information. | |
| 112 IPC_STRUCT_TRAITS_MEMBER(max_shrink) | |
| 113 | |
| 114 // Desired apparent dpi on paper. | |
| 115 IPC_STRUCT_TRAITS_MEMBER(desired_dpi) | |
| 116 | |
| 117 // Cookie for the document to ensure correctness. | |
| 118 IPC_STRUCT_TRAITS_MEMBER(document_cookie) | |
| 119 | |
| 120 // Should only print currently selected text. | |
| 121 IPC_STRUCT_TRAITS_MEMBER(selection_only) | |
| 122 | |
| 123 // Does the printer support alpha blending? | |
| 124 IPC_STRUCT_TRAITS_MEMBER(supports_alpha_blend) | |
| 125 | |
| 126 // *** Parameters below are used only for print preview. *** | |
| 127 | |
| 128 // The print preview ui associated with this request. | |
| 129 IPC_STRUCT_TRAITS_MEMBER(preview_ui_id) | |
| 130 | |
| 131 // The id of the preview request. | |
| 132 IPC_STRUCT_TRAITS_MEMBER(preview_request_id) | |
| 133 | |
| 134 // True if this is the first preview request. | |
| 135 IPC_STRUCT_TRAITS_MEMBER(is_first_request) | |
| 136 | |
| 137 // Specifies the page scaling option for preview printing. | |
| 138 IPC_STRUCT_TRAITS_MEMBER(print_scaling_option) | |
| 139 | |
| 140 // True if print to pdf is requested. | |
| 141 IPC_STRUCT_TRAITS_MEMBER(print_to_pdf) | |
| 142 | |
| 143 // Specifies if the header and footer should be rendered. | |
| 144 IPC_STRUCT_TRAITS_MEMBER(display_header_footer) | |
| 145 | |
| 146 // Title string to be printed as header if requested by the user. | |
| 147 IPC_STRUCT_TRAITS_MEMBER(title) | |
| 148 | |
| 149 // URL string to be printed as footer if requested by the user. | |
| 150 IPC_STRUCT_TRAITS_MEMBER(url) | |
| 151 | |
| 152 // True if print backgrounds is requested by the user. | |
| 153 IPC_STRUCT_TRAITS_MEMBER(should_print_backgrounds) | |
| 154 IPC_STRUCT_TRAITS_END() | |
| 155 | |
| 156 IPC_STRUCT_BEGIN(PrintMsg_PrintPage_Params) | |
| 157 // Parameters to render the page as a printed page. It must always be the same | |
| 158 // value for all the document. | |
| 159 IPC_STRUCT_MEMBER(PrintMsg_Print_Params, params) | |
| 160 | |
| 161 // The page number is the indicator of the square that should be rendered | |
| 162 // according to the layout specified in PrintMsg_Print_Params. | |
| 163 IPC_STRUCT_MEMBER(int, page_number) | |
| 164 IPC_STRUCT_END() | |
| 165 | |
| 166 IPC_STRUCT_TRAITS_BEGIN(PrintHostMsg_RequestPrintPreview_Params) | |
| 167 IPC_STRUCT_TRAITS_MEMBER(is_modifiable) | |
| 168 IPC_STRUCT_TRAITS_MEMBER(webnode_only) | |
| 169 IPC_STRUCT_TRAITS_MEMBER(has_selection) | |
| 170 IPC_STRUCT_TRAITS_MEMBER(selection_only) | |
| 171 IPC_STRUCT_TRAITS_END() | |
| 172 | |
| 173 IPC_STRUCT_TRAITS_BEGIN(printing::PageSizeMargins) | |
| 174 IPC_STRUCT_TRAITS_MEMBER(content_width) | |
| 175 IPC_STRUCT_TRAITS_MEMBER(content_height) | |
| 176 IPC_STRUCT_TRAITS_MEMBER(margin_left) | |
| 177 IPC_STRUCT_TRAITS_MEMBER(margin_right) | |
| 178 IPC_STRUCT_TRAITS_MEMBER(margin_top) | |
| 179 IPC_STRUCT_TRAITS_MEMBER(margin_bottom) | |
| 180 IPC_STRUCT_TRAITS_END() | |
| 181 | |
| 182 IPC_STRUCT_TRAITS_BEGIN(PrintMsg_PrintPages_Params) | |
| 183 // Parameters to render the page as a printed page. It must always be the same | |
| 184 // value for all the document. | |
| 185 IPC_STRUCT_TRAITS_MEMBER(params) | |
| 186 | |
| 187 // If empty, this means a request to render all the printed pages. | |
| 188 IPC_STRUCT_TRAITS_MEMBER(pages) | |
| 189 IPC_STRUCT_TRAITS_END() | |
| 190 | |
| 191 // Parameters to describe a rendered document. | |
| 192 IPC_STRUCT_BEGIN(PrintHostMsg_DidPreviewDocument_Params) | |
| 193 // True when we can reuse existing preview data. |metafile_data_handle| and | |
| 194 // |data_size| should not be used when this is true. | |
| 195 IPC_STRUCT_MEMBER(bool, reuse_existing_data) | |
| 196 | |
| 197 // A shared memory handle to metafile data. | |
| 198 IPC_STRUCT_MEMBER(base::SharedMemoryHandle, metafile_data_handle) | |
| 199 | |
| 200 // Size of metafile data. | |
| 201 IPC_STRUCT_MEMBER(uint32, data_size) | |
| 202 | |
| 203 // Cookie for the document to ensure correctness. | |
| 204 IPC_STRUCT_MEMBER(int, document_cookie) | |
| 205 | |
| 206 // Store the expected pages count. | |
| 207 IPC_STRUCT_MEMBER(int, expected_pages_count) | |
| 208 | |
| 209 // Whether the preview can be modified. | |
| 210 IPC_STRUCT_MEMBER(bool, modifiable) | |
| 211 | |
| 212 // The id of the preview request. | |
| 213 IPC_STRUCT_MEMBER(int, preview_request_id) | |
| 214 IPC_STRUCT_END() | |
| 215 | |
| 216 // Parameters to describe a rendered preview page. | |
| 217 IPC_STRUCT_BEGIN(PrintHostMsg_DidPreviewPage_Params) | |
| 218 // A shared memory handle to metafile data for a draft document of the page. | |
| 219 IPC_STRUCT_MEMBER(base::SharedMemoryHandle, metafile_data_handle) | |
| 220 | |
| 221 // Size of metafile data. | |
| 222 IPC_STRUCT_MEMBER(uint32, data_size) | |
| 223 | |
| 224 // |page_number| is zero-based and can be |printing::INVALID_PAGE_INDEX| if it | |
| 225 // is just a check. | |
| 226 IPC_STRUCT_MEMBER(int, page_number) | |
| 227 | |
| 228 // The id of the preview request. | |
| 229 IPC_STRUCT_MEMBER(int, preview_request_id) | |
| 230 IPC_STRUCT_END() | |
| 231 | |
| 232 // Parameters sent along with the page count. | |
| 233 IPC_STRUCT_BEGIN(PrintHostMsg_DidGetPreviewPageCount_Params) | |
| 234 // Cookie for the document to ensure correctness. | |
| 235 IPC_STRUCT_MEMBER(int, document_cookie) | |
| 236 | |
| 237 // Total page count. | |
| 238 IPC_STRUCT_MEMBER(int, page_count) | |
| 239 | |
| 240 // Indicates whether the previewed document is modifiable. | |
| 241 IPC_STRUCT_MEMBER(bool, is_modifiable) | |
| 242 | |
| 243 // The id of the preview request. | |
| 244 IPC_STRUCT_MEMBER(int, preview_request_id) | |
| 245 | |
| 246 // Indicates whether the existing preview data needs to be cleared or not. | |
| 247 IPC_STRUCT_MEMBER(bool, clear_preview_data) | |
| 248 IPC_STRUCT_END() | |
| 249 | |
| 250 // Parameters to describe a rendered page. | |
| 251 IPC_STRUCT_BEGIN(PrintHostMsg_DidPrintPage_Params) | |
| 252 // A shared memory handle to the EMF data. This data can be quite large so a | |
| 253 // memory map needs to be used. | |
| 254 IPC_STRUCT_MEMBER(base::SharedMemoryHandle, metafile_data_handle) | |
| 255 | |
| 256 // Size of the metafile data. | |
| 257 IPC_STRUCT_MEMBER(uint32, data_size) | |
| 258 | |
| 259 // Cookie for the document to ensure correctness. | |
| 260 IPC_STRUCT_MEMBER(int, document_cookie) | |
| 261 | |
| 262 // Page number. | |
| 263 IPC_STRUCT_MEMBER(int, page_number) | |
| 264 | |
| 265 // Shrink factor used to render this page. | |
| 266 IPC_STRUCT_MEMBER(double, actual_shrink) | |
| 267 | |
| 268 // The size of the page the page author specified. | |
| 269 IPC_STRUCT_MEMBER(gfx::Size, page_size) | |
| 270 | |
| 271 // The printable area the page author specified. | |
| 272 IPC_STRUCT_MEMBER(gfx::Rect, content_area) | |
| 273 IPC_STRUCT_END() | |
| 274 | |
| 275 // Parameters for the IPC message ViewHostMsg_ScriptedPrint | |
| 276 IPC_STRUCT_BEGIN(PrintHostMsg_ScriptedPrint_Params) | |
| 277 IPC_STRUCT_MEMBER(int, cookie) | |
| 278 IPC_STRUCT_MEMBER(int, expected_pages_count) | |
| 279 IPC_STRUCT_MEMBER(bool, has_selection) | |
| 280 IPC_STRUCT_MEMBER(printing::MarginType, margin_type) | |
| 281 IPC_STRUCT_END() | |
| 282 | |
| 283 | |
| 284 // Messages sent from the browser to the renderer. | |
| 285 | |
| 286 // Tells the render view to initiate print preview for the entire document. | |
| 287 IPC_MESSAGE_ROUTED1(PrintMsg_InitiatePrintPreview, bool /* selection_only */) | |
| 288 | |
| 289 // Tells the render frame to initiate printing or print preview for a particular | |
| 290 // node, depending on which mode the render frame is in. | |
| 291 IPC_MESSAGE_ROUTED0(PrintMsg_PrintNodeUnderContextMenu) | |
| 292 | |
| 293 // Tells the renderer to print the print preview tab's PDF plugin without | |
| 294 // showing the print dialog. (This is the final step in the print preview | |
| 295 // workflow.) | |
| 296 IPC_MESSAGE_ROUTED1(PrintMsg_PrintForPrintPreview, | |
| 297 base::DictionaryValue /* settings */) | |
| 298 | |
| 299 // Tells the render view to switch the CSS to print media type, renders every | |
| 300 // requested pages and switch back the CSS to display media type. | |
| 301 IPC_MESSAGE_ROUTED0(PrintMsg_PrintPages) | |
| 302 | |
| 303 // Tells the render view that printing is done so it can clean up. | |
| 304 IPC_MESSAGE_ROUTED1(PrintMsg_PrintingDone, | |
| 305 bool /* success */) | |
| 306 | |
| 307 // Tells the render view whether scripted printing is blocked or not. | |
| 308 IPC_MESSAGE_ROUTED1(PrintMsg_SetScriptedPrintingBlocked, | |
| 309 bool /* blocked */) | |
| 310 | |
| 311 // Tells the render view to switch the CSS to print media type, renders every | |
| 312 // requested pages for print preview using the given |settings|. This gets | |
| 313 // called multiple times as the user updates settings. | |
| 314 IPC_MESSAGE_ROUTED1(PrintMsg_PrintPreview, | |
| 315 base::DictionaryValue /* settings */) | |
| 316 | |
| 317 // Like PrintMsg_PrintPages, but using the print preview document's frame/node. | |
| 318 IPC_MESSAGE_ROUTED0(PrintMsg_PrintForSystemDialog) | |
| 319 | |
| 320 // Tells a renderer to stop blocking script initiated printing. | |
| 321 IPC_MESSAGE_ROUTED0(PrintMsg_ResetScriptedPrintCount) | |
| 322 | |
| 323 // Messages sent from the renderer to the browser. | |
| 324 | |
| 325 #if defined(OS_WIN) | |
| 326 // Duplicates a shared memory handle from the renderer to the browser. Then | |
| 327 // the renderer can flush the handle. | |
| 328 IPC_SYNC_MESSAGE_ROUTED1_1(PrintHostMsg_DuplicateSection, | |
| 329 base::SharedMemoryHandle /* renderer handle */, | |
| 330 base::SharedMemoryHandle /* browser handle */) | |
| 331 #endif | |
| 332 | |
| 333 // Check if printing is enabled. | |
| 334 IPC_SYNC_MESSAGE_ROUTED0_1(PrintHostMsg_IsPrintingEnabled, | |
| 335 bool /* is_enabled */) | |
| 336 | |
| 337 // Tells the browser that the renderer is done calculating the number of | |
| 338 // rendered pages according to the specified settings. | |
| 339 IPC_MESSAGE_ROUTED2(PrintHostMsg_DidGetPrintedPagesCount, | |
| 340 int /* rendered document cookie */, | |
| 341 int /* number of rendered pages */) | |
| 342 | |
| 343 // Sends the document cookie of the current printer query to the browser. | |
| 344 IPC_MESSAGE_ROUTED1(PrintHostMsg_DidGetDocumentCookie, | |
| 345 int /* rendered document cookie */) | |
| 346 | |
| 347 // Tells the browser that the print dialog has been shown. | |
| 348 IPC_MESSAGE_ROUTED0(PrintHostMsg_DidShowPrintDialog) | |
| 349 | |
| 350 // Sends back to the browser the rendered "printed page" that was requested by | |
| 351 // a ViewMsg_PrintPage message or from scripted printing. The memory handle in | |
| 352 // this message is already valid in the browser process. | |
| 353 IPC_MESSAGE_ROUTED1(PrintHostMsg_DidPrintPage, | |
| 354 PrintHostMsg_DidPrintPage_Params /* page content */) | |
| 355 | |
| 356 // The renderer wants to know the default print settings. | |
| 357 IPC_SYNC_MESSAGE_ROUTED0_1(PrintHostMsg_GetDefaultPrintSettings, | |
| 358 PrintMsg_Print_Params /* default_settings */) | |
| 359 | |
| 360 // The renderer wants to update the current print settings with new | |
| 361 // |job_settings|. | |
| 362 IPC_SYNC_MESSAGE_ROUTED2_1(PrintHostMsg_UpdatePrintSettings, | |
| 363 int /* document_cookie */, | |
| 364 base::DictionaryValue /* job_settings */, | |
| 365 PrintMsg_PrintPages_Params /* current_settings */) | |
| 366 | |
| 367 // It's the renderer that controls the printing process when it is generated | |
| 368 // by javascript. This step is about showing UI to the user to select the | |
| 369 // final print settings. The output parameter is the same as | |
| 370 // ViewMsg_PrintPages which is executed implicitly. | |
| 371 IPC_SYNC_MESSAGE_ROUTED1_1(PrintHostMsg_ScriptedPrint, | |
| 372 PrintHostMsg_ScriptedPrint_Params, | |
| 373 PrintMsg_PrintPages_Params | |
| 374 /* settings chosen by the user*/) | |
| 375 | |
| 376 #if defined(OS_ANDROID) | |
| 377 // Asks the browser to create a temporary file for the renderer to fill | |
| 378 // in resulting PdfMetafileSkia in printing. | |
| 379 IPC_SYNC_MESSAGE_CONTROL1_2(PrintHostMsg_AllocateTempFileForPrinting, | |
| 380 int /* render_view_id */, | |
| 381 base::FileDescriptor /* temp file fd */, | |
| 382 int /* fd in browser*/) | |
| 383 IPC_MESSAGE_CONTROL2(PrintHostMsg_TempFileForPrintingWritten, | |
| 384 int /* render_view_id */, | |
| 385 int /* fd in browser */) | |
| 386 #endif | |
| 387 // Asks the browser to do print preview. | |
| 388 IPC_MESSAGE_ROUTED1(PrintHostMsg_RequestPrintPreview, | |
| 389 PrintHostMsg_RequestPrintPreview_Params /* params */) | |
| 390 | |
| 391 // Notify the browser the number of pages in the print preview document. | |
| 392 IPC_MESSAGE_ROUTED1(PrintHostMsg_DidGetPreviewPageCount, | |
| 393 PrintHostMsg_DidGetPreviewPageCount_Params /* params */) | |
| 394 | |
| 395 // Notify the browser of the default page layout according to the currently | |
| 396 // selected printer and page size. | |
| 397 // |printable_area_in_points| Specifies the printable area in points. | |
| 398 // |has_custom_page_size_style| is true when the printing frame has a custom | |
| 399 // page size css otherwise false. | |
| 400 IPC_MESSAGE_ROUTED3(PrintHostMsg_DidGetDefaultPageLayout, | |
| 401 printing::PageSizeMargins /* page layout in points */, | |
| 402 gfx::Rect /* printable area in points */, | |
| 403 bool /* has custom page size style */) | |
| 404 | |
| 405 // Notify the browser a print preview page has been rendered. | |
| 406 IPC_MESSAGE_ROUTED1(PrintHostMsg_DidPreviewPage, | |
| 407 PrintHostMsg_DidPreviewPage_Params /* params */) | |
| 408 | |
| 409 // Asks the browser whether the print preview has been cancelled. | |
| 410 IPC_SYNC_MESSAGE_ROUTED2_1(PrintHostMsg_CheckForCancel, | |
| 411 int32 /* PrintPreviewUI ID */, | |
| 412 int /* request id */, | |
| 413 bool /* print preview cancelled */) | |
| 414 | |
| 415 // Sends back to the browser the complete rendered document (non-draft mode, | |
| 416 // used for printing) that was requested by a PrintMsg_PrintPreview message. | |
| 417 // The memory handle in this message is already valid in the browser process. | |
| 418 IPC_MESSAGE_ROUTED1(PrintHostMsg_MetafileReadyForPrinting, | |
| 419 PrintHostMsg_DidPreviewDocument_Params /* params */) | |
| 420 | |
| 421 // Tell the browser printing failed. | |
| 422 IPC_MESSAGE_ROUTED1(PrintHostMsg_PrintingFailed, | |
| 423 int /* document cookie */) | |
| 424 | |
| 425 // Tell the browser print preview failed. | |
| 426 IPC_MESSAGE_ROUTED1(PrintHostMsg_PrintPreviewFailed, | |
| 427 int /* document cookie */) | |
| 428 | |
| 429 // Tell the browser print preview was cancelled. | |
| 430 IPC_MESSAGE_ROUTED1(PrintHostMsg_PrintPreviewCancelled, | |
| 431 int /* document cookie */) | |
| 432 | |
| 433 // Tell the browser print preview found the selected printer has invalid | |
| 434 // settings (which typically caused by disconnected network printer or printer | |
| 435 // driver is bogus). | |
| 436 IPC_MESSAGE_ROUTED1(PrintHostMsg_PrintPreviewInvalidPrinterSettings, | |
| 437 int /* document cookie */) | |
| 438 | |
| 439 // Run a nested message loop in the renderer until print preview for | |
| 440 // window.print() finishes. | |
| 441 IPC_SYNC_MESSAGE_ROUTED0_0(PrintHostMsg_SetupScriptedPrintPreview) | |
| 442 | |
| 443 // Tell the browser to show the print preview, when the document is sufficiently | |
| 444 // loaded such that the renderer can determine whether it is modifiable or not. | |
| 445 IPC_MESSAGE_ROUTED1(PrintHostMsg_ShowScriptedPrintPreview, | |
| 446 bool /* is_modifiable */) | |
| 447 | |
| 448 // Notify the browser that the PDF in the initiator renderer has disabled print | |
| 449 // scaling option. | |
| 450 IPC_MESSAGE_ROUTED0(PrintHostMsg_PrintPreviewScalingDisabled) | |
| OLD | NEW |