| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #ifndef CHROME_RENDERER_PRINT_WEB_VIEW_HELPER_H_ | 5 #ifndef CHROME_RENDERER_PRINT_WEB_VIEW_HELPER_H_ |
| 6 #define CHROME_RENDERER_PRINT_WEB_VIEW_HELPER_H_ | 6 #define CHROME_RENDERER_PRINT_WEB_VIEW_HELPER_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 292 // Returns true if cancelling, false if continuing. | 292 // Returns true if cancelling, false if continuing. |
| 293 bool CheckForCancel(); | 293 bool CheckForCancel(); |
| 294 | 294 |
| 295 // Notifies the browser a print preview page has been rendered. | 295 // Notifies the browser a print preview page has been rendered. |
| 296 // |page_number| is 0-based. | 296 // |page_number| is 0-based. |
| 297 // For a valid |page_number| with modifiable content, | 297 // For a valid |page_number| with modifiable content, |
| 298 // |metafile| is the rendered page. Otherwise |metafile| is NULL. | 298 // |metafile| is the rendered page. Otherwise |metafile| is NULL. |
| 299 // Returns true if print preview should continue, false on failure. | 299 // Returns true if print preview should continue, false on failure. |
| 300 bool PreviewPageRendered(int page_number, printing::Metafile* metafile); | 300 bool PreviewPageRendered(int page_number, printing::Metafile* metafile); |
| 301 | 301 |
| 302 // Stop the nested message loop when print preview has finished. |
| 303 void OnPrintPreviewDone(); |
| 304 |
| 302 WebKit::WebView* print_web_view_; | 305 WebKit::WebView* print_web_view_; |
| 303 | 306 |
| 304 scoped_ptr<PrintMsg_PrintPages_Params> print_pages_params_; | 307 scoped_ptr<PrintMsg_PrintPages_Params> print_pages_params_; |
| 305 bool is_preview_; | 308 bool is_preview_; |
| 306 bool is_print_ready_metafile_sent_; | 309 bool is_print_ready_metafile_sent_; |
| 307 | 310 |
| 308 // Used for scripted initiated printing blocking. | 311 // Used for scripted initiated printing blocking. |
| 309 base::Time last_cancelled_script_print_; | 312 base::Time last_cancelled_script_print_; |
| 310 int user_cancelled_scripted_print_count_; | 313 int user_cancelled_scripted_print_count_; |
| 311 | 314 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 369 // Helper functions | 372 // Helper functions |
| 370 int GetNextPageNumber(); | 373 int GetNextPageNumber(); |
| 371 bool IsReadyToRender() const; | 374 bool IsReadyToRender() const; |
| 372 bool IsModifiable() const; | 375 bool IsModifiable() const; |
| 373 bool IsLastPageOfPrintReadyMetafile() const; | 376 bool IsLastPageOfPrintReadyMetafile() const; |
| 374 bool IsFinalPageRendered() const; | 377 bool IsFinalPageRendered() const; |
| 375 | 378 |
| 376 // Setters | 379 // Setters |
| 377 void set_generate_draft_pages(bool generate_draft_pages); | 380 void set_generate_draft_pages(bool generate_draft_pages); |
| 378 void set_error(enum PrintPreviewErrorBuckets error); | 381 void set_error(enum PrintPreviewErrorBuckets error); |
| 382 void set_in_nested_message_loop(bool nested); |
| 379 | 383 |
| 380 // Getters | 384 // Getters |
| 381 WebKit::WebFrame* frame() const; | 385 WebKit::WebFrame* frame() const; |
| 382 const WebKit::WebNode& node() const; | 386 const WebKit::WebNode& node() const; |
| 387 bool in_nested_message_loop() const; |
| 383 int total_page_count() const; | 388 int total_page_count() const; |
| 384 bool generate_draft_pages(); | 389 bool generate_draft_pages(); |
| 385 printing::PreviewMetafile* metafile() const; | 390 printing::PreviewMetafile* metafile() const; |
| 386 const PrintMsg_Print_Params& print_params() const; | 391 const PrintMsg_Print_Params& print_params() const; |
| 387 const gfx::Size& GetPrintCanvasSize() const; | 392 const gfx::Size& GetPrintCanvasSize() const; |
| 388 int last_error() const; | 393 int last_error() const; |
| 389 | 394 |
| 390 private: | 395 private: |
| 391 enum State { | 396 enum State { |
| 392 UNINITIALIZED, // Not ready to render. | 397 UNINITIALIZED, // Not ready to render. |
| 393 INITIALIZED, // Ready to render. | 398 INITIALIZED, // Ready to render. |
| 394 RENDERING, // Rendering. | 399 RENDERING, // Rendering. |
| 395 DONE // Finished rendering. | 400 DONE // Finished rendering. |
| 396 }; | 401 }; |
| 397 | 402 |
| 398 // Reset some of the internal rendering context. | 403 // Reset some of the internal rendering context. |
| 399 void ClearContext(); | 404 void ClearContext(); |
| 400 | 405 |
| 401 // Specifies what to render for print preview. | 406 // Specifies what to render for print preview. |
| 402 WebKit::WebFrame* frame_; | 407 WebKit::WebFrame* frame_; |
| 403 WebKit::WebNode node_; | 408 WebKit::WebNode node_; |
| 404 | 409 |
| 405 scoped_ptr<PrepareFrameAndViewForPrint> prep_frame_view_; | 410 scoped_ptr<PrepareFrameAndViewForPrint> prep_frame_view_; |
| 406 scoped_ptr<printing::PreviewMetafile> metafile_; | 411 scoped_ptr<printing::PreviewMetafile> metafile_; |
| 407 scoped_ptr<PrintMsg_Print_Params> print_params_; | 412 scoped_ptr<PrintMsg_Print_Params> print_params_; |
| 408 | 413 |
| 414 bool in_nested_message_loop_; |
| 415 |
| 409 // Total page count in the renderer. | 416 // Total page count in the renderer. |
| 410 int total_page_count_; | 417 int total_page_count_; |
| 411 | 418 |
| 412 // The current page to render. | 419 // The current page to render. |
| 413 int current_page_index_; | 420 int current_page_index_; |
| 414 | 421 |
| 415 // List of page indices that need to be rendered. | 422 // List of page indices that need to be rendered. |
| 416 std::vector<int> pages_to_render_; | 423 std::vector<int> pages_to_render_; |
| 417 | 424 |
| 418 // True, when draft pages needs to be generated. | 425 // True, when draft pages needs to be generated. |
| 419 bool generate_draft_pages_; | 426 bool generate_draft_pages_; |
| 420 | 427 |
| 421 // Specifies the total number of pages in the print ready metafile. | 428 // Specifies the total number of pages in the print ready metafile. |
| 422 int print_ready_metafile_page_count_; | 429 int print_ready_metafile_page_count_; |
| 423 | 430 |
| 424 base::TimeDelta document_render_time_; | 431 base::TimeDelta document_render_time_; |
| 425 base::TimeTicks begin_time_; | 432 base::TimeTicks begin_time_; |
| 426 | 433 |
| 427 enum PrintPreviewErrorBuckets error_; | 434 enum PrintPreviewErrorBuckets error_; |
| 428 | 435 |
| 429 State state_; | 436 State state_; |
| 430 }; | 437 }; |
| 431 | 438 |
| 432 PrintPreviewContext print_preview_context_; | 439 PrintPreviewContext print_preview_context_; |
| 433 | 440 |
| 434 DISALLOW_COPY_AND_ASSIGN(PrintWebViewHelper); | 441 DISALLOW_COPY_AND_ASSIGN(PrintWebViewHelper); |
| 435 }; | 442 }; |
| 436 | 443 |
| 437 #endif // CHROME_RENDERER_PRINT_WEB_VIEW_HELPER_H_ | 444 #endif // CHROME_RENDERER_PRINT_WEB_VIEW_HELPER_H_ |
| OLD | NEW |