OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // TODO(sgurun) copied from chrome/renderer. Remove after crbug.com/322276 | 5 // TODO(sgurun) copied from chrome/renderer. Remove after crbug.com/322276 |
6 | 6 |
7 #ifndef AW_RENDERER_PRINT_WEB_VIEW_HELPER_H_ | 7 #ifndef AW_RENDERER_PRINT_WEB_VIEW_HELPER_H_ |
8 #define AW_RENDERER_PRINT_WEB_VIEW_HELPER_H_ | 8 #define AW_RENDERER_PRINT_WEB_VIEW_HELPER_H_ |
9 | 9 |
10 #include <vector> | 10 #include <vector> |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 bool PrintPagesNative(blink::WebFrame* frame, | 219 bool PrintPagesNative(blink::WebFrame* frame, |
220 int page_count, | 220 int page_count, |
221 const gfx::Size& canvas_size); | 221 const gfx::Size& canvas_size); |
222 void FinishFramePrinting(); | 222 void FinishFramePrinting(); |
223 | 223 |
224 // Prints the page listed in |params|. | 224 // Prints the page listed in |params|. |
225 #if defined(OS_LINUX) || defined(OS_ANDROID) | 225 #if defined(OS_LINUX) || defined(OS_ANDROID) |
226 void PrintPageInternal(const PrintMsg_PrintPage_Params& params, | 226 void PrintPageInternal(const PrintMsg_PrintPage_Params& params, |
227 const gfx::Size& canvas_size, | 227 const gfx::Size& canvas_size, |
228 blink::WebFrame* frame, | 228 blink::WebFrame* frame, |
229 Metafile* metafile); | 229 PdfMetafileSkia* metafile); |
230 #else | 230 #else |
231 void PrintPageInternal(const PrintMsg_PrintPage_Params& params, | 231 void PrintPageInternal(const PrintMsg_PrintPage_Params& params, |
232 const gfx::Size& canvas_size, | 232 const gfx::Size& canvas_size, |
233 blink::WebFrame* frame); | 233 blink::WebFrame* frame); |
234 #endif | 234 #endif |
235 | 235 |
236 // Render the frame for printing. | 236 // Render the frame for printing. |
237 bool RenderPagesForPrint(blink::WebLocalFrame* frame, | 237 bool RenderPagesForPrint(blink::WebLocalFrame* frame, |
238 const blink::WebNode& node); | 238 const blink::WebNode& node); |
239 | 239 |
240 // Platform specific helper function for rendering page(s) to |metafile|. | 240 // Platform specific helper function for rendering page(s) to |metafile|. |
241 #if defined(OS_WIN) | 241 #if defined(OS_WIN) |
242 void RenderPage(const PrintMsg_Print_Params& params, | 242 void RenderPage(const PrintMsg_Print_Params& params, |
243 int page_number, | 243 int page_number, |
244 blink::WebFrame* frame, | 244 blink::WebFrame* frame, |
245 bool is_preview, | 245 bool is_preview, |
246 Metafile* metafile, | 246 PdfMetafileSkia* metafile, |
247 double* scale_factor, | 247 double* scale_factor, |
248 gfx::Size* page_size_in_dpi, | 248 gfx::Size* page_size_in_dpi, |
249 gfx::Rect* content_area_in_dpi); | 249 gfx::Rect* content_area_in_dpi); |
250 #elif defined(OS_MACOSX) | 250 #elif defined(OS_MACOSX) |
251 void RenderPage(const PrintMsg_Print_Params& params, | 251 void RenderPage(const PrintMsg_Print_Params& params, |
252 int page_number, | 252 int page_number, |
253 blink::WebFrame* frame, | 253 blink::WebFrame* frame, |
254 bool is_preview, | 254 bool is_preview, |
255 Metafile* metafile, | 255 PdfMetafileSkia* metafile, |
256 gfx::Size* page_size, | 256 gfx::Size* page_size, |
257 gfx::Rect* content_rect); | 257 gfx::Rect* content_rect); |
258 #endif // defined(OS_WIN) | 258 #endif // defined(OS_WIN) |
259 | 259 |
260 // Renders page contents from |frame| to |content_area| of |canvas|. | 260 // Renders page contents from |frame| to |content_area| of |canvas|. |
261 // |page_number| is zero-based. | 261 // |page_number| is zero-based. |
262 // When method is called, canvas should be setup to draw to |canvas_area| | 262 // When method is called, canvas should be setup to draw to |canvas_area| |
263 // with |scale_factor|. | 263 // with |scale_factor|. |
264 static float RenderPageContent(blink::WebFrame* frame, | 264 static float RenderPageContent(blink::WebFrame* frame, |
265 int page_number, | 265 int page_number, |
266 const gfx::Rect& canvas_area, | 266 const gfx::Rect& canvas_area, |
267 const gfx::Rect& content_area, | 267 const gfx::Rect& content_area, |
268 double scale_factor, | 268 double scale_factor, |
269 blink::WebCanvas* canvas); | 269 blink::WebCanvas* canvas); |
270 | 270 |
271 // Helper methods ----------------------------------------------------------- | 271 // Helper methods ----------------------------------------------------------- |
272 | 272 |
273 bool CopyMetafileDataToSharedMem(Metafile* metafile, | 273 bool CopyMetafileDataToSharedMem(PdfMetafileSkia* metafile, |
274 base::SharedMemoryHandle* shared_mem_handle); | 274 base::SharedMemoryHandle* shared_mem_handle); |
275 | 275 |
276 // Helper method to get page layout in points and fit to page if needed. | 276 // Helper method to get page layout in points and fit to page if needed. |
277 static void ComputePageLayoutInPointsForCss( | 277 static void ComputePageLayoutInPointsForCss( |
278 blink::WebFrame* frame, | 278 blink::WebFrame* frame, |
279 int page_index, | 279 int page_index, |
280 const PrintMsg_Print_Params& default_params, | 280 const PrintMsg_Print_Params& default_params, |
281 bool ignore_css_margins, | 281 bool ignore_css_margins, |
282 double* scale_factor, | 282 double* scale_factor, |
283 PageSizeMargins* page_layout_in_points); | 283 PageSizeMargins* page_layout_in_points); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
321 | 321 |
322 // Checks whether print preview should continue or not. | 322 // Checks whether print preview should continue or not. |
323 // Returns true if cancelling, false if continuing. | 323 // Returns true if cancelling, false if continuing. |
324 bool CheckForCancel(); | 324 bool CheckForCancel(); |
325 | 325 |
326 // Notifies the browser a print preview page has been rendered. | 326 // Notifies the browser a print preview page has been rendered. |
327 // |page_number| is 0-based. | 327 // |page_number| is 0-based. |
328 // For a valid |page_number| with modifiable content, | 328 // For a valid |page_number| with modifiable content, |
329 // |metafile| is the rendered page. Otherwise |metafile| is NULL. | 329 // |metafile| is the rendered page. Otherwise |metafile| is NULL. |
330 // Returns true if print preview should continue, false on failure. | 330 // Returns true if print preview should continue, false on failure. |
331 bool PreviewPageRendered(int page_number, Metafile* metafile); | 331 bool PreviewPageRendered(int page_number, PdfMetafileSkia* metafile); |
332 | 332 |
333 // WebView used only to print the selection. | 333 // WebView used only to print the selection. |
334 scoped_ptr<PrepareFrameAndViewForPrint> prep_frame_view_; | 334 scoped_ptr<PrepareFrameAndViewForPrint> prep_frame_view_; |
335 bool reset_prep_frame_view_; | 335 bool reset_prep_frame_view_; |
336 | 336 |
337 scoped_ptr<PrintMsg_PrintPages_Params> print_pages_params_; | 337 scoped_ptr<PrintMsg_PrintPages_Params> print_pages_params_; |
338 bool is_preview_enabled_; | 338 bool is_preview_enabled_; |
339 bool is_scripted_print_throttling_disabled_; | 339 bool is_scripted_print_throttling_disabled_; |
340 bool is_print_ready_metafile_sent_; | 340 bool is_print_ready_metafile_sent_; |
341 bool ignore_css_margins_; | 341 bool ignore_css_margins_; |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
469 PrintPreviewContext print_preview_context_; | 469 PrintPreviewContext print_preview_context_; |
470 bool is_loading_; | 470 bool is_loading_; |
471 bool is_scripted_preview_delayed_; | 471 bool is_scripted_preview_delayed_; |
472 base::WeakPtrFactory<PrintWebViewHelper> weak_ptr_factory_; | 472 base::WeakPtrFactory<PrintWebViewHelper> weak_ptr_factory_; |
473 DISALLOW_COPY_AND_ASSIGN(PrintWebViewHelper); | 473 DISALLOW_COPY_AND_ASSIGN(PrintWebViewHelper); |
474 }; | 474 }; |
475 | 475 |
476 } // namespace printing | 476 } // namespace printing |
477 | 477 |
478 #endif // AW_RENDERER_PRINT_WEB_VIEW_HELPER_H_ | 478 #endif // AW_RENDERER_PRINT_WEB_VIEW_HELPER_H_ |
OLD | NEW |