Index: chrome/renderer/printing/print_web_view_helper.h |
diff --git a/chrome/renderer/printing/print_web_view_helper.h b/chrome/renderer/printing/print_web_view_helper.h |
index 95b46048b8efe6774074413982da722b93c35e33..8144cc4e5835012a4b8576c58bc1e05cacde51f2 100644 |
--- a/chrome/renderer/printing/print_web_view_helper.h |
+++ b/chrome/renderer/printing/print_web_view_helper.h |
@@ -37,50 +37,7 @@ class WebView; |
namespace printing { |
struct PageSizeMargins; |
- |
-// Class that calls the Begin and End print functions on the frame and changes |
-// the size of the view temporarily to support full page printing.. |
-// Do not serve any events in the time between construction and destruction of |
-// this class because it will cause flicker. |
-class PrepareFrameAndViewForPrint { |
- public: |
- // Prints |frame|. If |node| is not NULL, then only that node will be |
- // printed. |
- PrepareFrameAndViewForPrint(const PrintMsg_Print_Params& print_params, |
- WebKit::WebFrame* frame, |
- const WebKit::WebNode& node); |
- ~PrepareFrameAndViewForPrint(); |
- |
- void UpdatePrintParams(const PrintMsg_Print_Params& print_params); |
- |
- int GetExpectedPageCount() const { |
- return expected_pages_count_; |
- } |
- |
- bool ShouldUseBrowserOverlays() const { |
- return use_browser_overlays_; |
- } |
- |
- gfx::Size GetPrintCanvasSize() const; |
- |
- void FinishPrinting(); |
- |
- private: |
- void StartPrinting(const WebKit::WebPrintParams& webkit_print_params); |
- |
- WebKit::WebFrame* frame_; |
- WebKit::WebNode node_to_print_; |
- WebKit::WebView* web_view_; |
- WebKit::WebPrintParams web_print_params_; |
- gfx::Size prev_view_size_; |
- gfx::Size prev_scroll_offset_; |
- int expected_pages_count_; |
- bool use_browser_overlays_; |
- bool finished_; |
- bool should_print_backgrounds_; |
- |
- DISALLOW_COPY_AND_ASSIGN(PrepareFrameAndViewForPrint); |
-}; |
+class PrepareFrameAndViewForPrint; |
// PrintWebViewHelper handles most of the printing grunt work for RenderView. |
// We plan on making print asynchronous and that will require copying the DOM |
@@ -226,14 +183,10 @@ class PrintWebViewHelper |
// Used only for native printing workflow. |
bool InitPrintSettings(bool fit_to_paper_size); |
- // Initialize print page settings with default settings and prepare the frame |
- // for print. A new PrepareFrameAndViewForPrint is created to fulfill the |
- // request and is filled into the |prepare| argument. |
- // Used only for native printing workflow. |
- bool InitPrintSettingsAndPrepareFrame( |
- WebKit::WebFrame* frame, |
- const WebKit::WebNode& node, |
- scoped_ptr<PrepareFrameAndViewForPrint>* prepare); |
+ // Calculate number of pages in source document. |
+ bool CalculateNumberOfPages(WebKit::WebFrame* frame, |
+ const WebKit::WebNode& node, |
+ int* number_of_pages); |
// Update the current print settings with new |passed_job_settings|. |
// |passed_job_settings| dictionary contains print job details such as printer |
@@ -246,14 +199,17 @@ class PrintWebViewHelper |
// Return false if the user cancels or on error. |
bool GetPrintSettingsFromUser(WebKit::WebFrame* frame, |
const WebKit::WebNode& node, |
- int expected_pages_count, |
- bool use_browser_overlays); |
+ int expected_pages_count); |
// Page Printing / Rendering ------------------------------------------------ |
// Prints all the pages listed in |print_pages_params_|. |
// It will implicitly revert the document to display CSS media type. |
bool PrintPages(WebKit::WebFrame* frame, const WebKit::WebNode& node); |
+ bool PrintPagesNative(WebKit::WebFrame* frame, |
+ const WebKit::WebNode& node, |
+ int page_count, |
+ const gfx::Size& canvas_size); |
// Prints the page listed in |params|. |
#if defined(USE_X11) |
@@ -282,15 +238,13 @@ class PrintWebViewHelper |
gfx::Size* page_size_in_dpi, |
gfx::Rect* content_area_in_dpi); |
#elif defined(OS_MACOSX) |
- void RenderPage(const PrintMsg_Print_Params& params, int page_number, |
- WebKit::WebFrame* frame, bool is_preview, |
- Metafile* metafile, gfx::Size* page_size, |
+ void RenderPage(const PrintMsg_Print_Params& params, |
+ int page_number, |
+ WebKit::WebFrame* frame, |
+ bool is_preview, |
+ Metafile* metafile, |
+ gfx::Size* page_size, |
gfx::Rect* content_rect); |
-#elif defined(OS_POSIX) |
- bool RenderPages(const PrintMsg_PrintPages_Params& params, |
- WebKit::WebFrame* frame, const WebKit::WebNode& node, |
- std::vector<int>* printed_pages, |
- Metafile* metafile); |
#endif // defined(OS_WIN) |
// Renders page contents from |frame| to |content_area| of |canvas|. |
@@ -320,15 +274,6 @@ class PrintWebViewHelper |
double* scale_factor, |
PageSizeMargins* page_layout_in_points); |
- // Prepare the frame and view for print and then call this function to honor |
- // the CSS page layout information. |
- static void UpdateFrameAndViewFromCssPageLayout( |
- WebKit::WebFrame* frame, |
- const WebKit::WebNode& node, |
- PrepareFrameAndViewForPrint* prepare, |
- const PrintMsg_Print_Params& params, |
- bool ignore_css_margins); |
- |
// 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( |