Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(222)

Side by Side Diff: chrome/renderer/print_web_view_helper.h

Issue 8136027: Print Preview: Make print preview tab modal. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: address comments Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698