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

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

Issue 8566055: PrintPreview: [Cleanup] Remove unwanted function calls. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month 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 #include "chrome/renderer/print_web_view_helper.h" 5 #include "chrome/renderer/print_web_view_helper.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 return; 510 return;
511 } 511 }
512 512
513 WebFrame* pdf_frame = pdf_element.document().frame(); 513 WebFrame* pdf_frame = pdf_element.document().frame();
514 if (!UpdatePrintSettings(pdf_frame, pdf_element, job_settings, true)) { 514 if (!UpdatePrintSettings(pdf_frame, pdf_element, job_settings, true)) {
515 LOG(ERROR) << "UpdatePrintSettings failed"; 515 LOG(ERROR) << "UpdatePrintSettings failed";
516 DidFinishPrinting(FAIL_PRINT); 516 DidFinishPrinting(FAIL_PRINT);
517 return; 517 return;
518 } 518 }
519 519
520 scoped_ptr<PrepareFrameAndViewForPrint> prepare;
521 prepare.reset(new PrepareFrameAndViewForPrint(print_pages_params_->params,
522 pdf_frame, pdf_element));
523 UpdatePrintableSizeInPrintParameters(pdf_frame, pdf_element, prepare.get(),
524 &print_pages_params_->params);
525
526 // Render Pages for printing. 520 // Render Pages for printing.
527 if (!RenderPagesForPrint(pdf_frame, pdf_element, prepare.get())) { 521 if (!RenderPagesForPrint(pdf_frame, pdf_element)) {
528 LOG(ERROR) << "RenderPagesForPrint failed"; 522 LOG(ERROR) << "RenderPagesForPrint failed";
529 DidFinishPrinting(FAIL_PRINT); 523 DidFinishPrinting(FAIL_PRINT);
530 } 524 }
531 } 525 }
532 526
533 bool PrintWebViewHelper::GetPrintFrame(WebKit::WebFrame** frame) { 527 bool PrintWebViewHelper::GetPrintFrame(WebKit::WebFrame** frame) {
534 DCHECK(frame); 528 DCHECK(frame);
535 DCHECK(render_view()->GetWebView()); 529 DCHECK(render_view()->GetWebView());
536 if (!render_view()->GetWebView()) 530 if (!render_view()->GetWebView())
537 return false; 531 return false;
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
759 } 753 }
760 754
761 // Ask the browser to show UI to retrieve the final print settings. 755 // Ask the browser to show UI to retrieve the final print settings.
762 if (!GetPrintSettingsFromUser(frame, node, expected_page_count, 756 if (!GetPrintSettingsFromUser(frame, node, expected_page_count,
763 use_browser_overlays)) { 757 use_browser_overlays)) {
764 DidFinishPrinting(OK); // Release resources and fail silently. 758 DidFinishPrinting(OK); // Release resources and fail silently.
765 return; 759 return;
766 } 760 }
767 761
768 // Render Pages for printing. 762 // Render Pages for printing.
769 if (!RenderPagesForPrint(frame, node, NULL)) { 763 if (!RenderPagesForPrint(frame, node)) {
770 LOG(ERROR) << "RenderPagesForPrint failed"; 764 LOG(ERROR) << "RenderPagesForPrint failed";
771 DidFinishPrinting(FAIL_PRINT); 765 DidFinishPrinting(FAIL_PRINT);
772 } 766 }
773 ResetScriptedPrintCount(); 767 ResetScriptedPrintCount();
774 } 768 }
775 769
776 void PrintWebViewHelper::DidFinishPrinting(PrintingResult result) { 770 void PrintWebViewHelper::DidFinishPrinting(PrintingResult result) {
777 bool store_print_pages_params = true; 771 bool store_print_pages_params = true;
778 if (result == FAIL_PRINT) { 772 if (result == FAIL_PRINT) {
779 DisplayPrintJobError(); 773 DisplayPrintJobError();
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
831 // When loading is done this will call DidStopLoading that will do the 825 // When loading is done this will call DidStopLoading that will do the
832 // actual printing. 826 // actual printing.
833 print_web_view_->mainFrame()->loadRequest(WebURLRequest(url)); 827 print_web_view_->mainFrame()->loadRequest(WebURLRequest(url));
834 828
835 return true; 829 return true;
836 } 830 }
837 831
838 #if defined(OS_MACOSX) || defined(OS_WIN) 832 #if defined(OS_MACOSX) || defined(OS_WIN)
839 bool PrintWebViewHelper::PrintPages(const PrintMsg_PrintPages_Params& params, 833 bool PrintWebViewHelper::PrintPages(const PrintMsg_PrintPages_Params& params,
840 WebFrame* frame, 834 WebFrame* frame,
841 const WebNode& node, 835 const WebNode& node) {
842 PrepareFrameAndViewForPrint* prepare) {
843 PrintMsg_Print_Params print_params = params.params; 836 PrintMsg_Print_Params print_params = params.params;
844 scoped_ptr<PrepareFrameAndViewForPrint> prep_frame_view; 837 scoped_ptr<PrepareFrameAndViewForPrint> prep_frame_view;
845 if (!prepare) { 838 prep_frame_view.reset(new PrepareFrameAndViewForPrint(print_params, frame,
vandebo (ex-Chrome) 2011/11/19 00:02:20 nit: no ndeed for a scoped_pointer here, a stack o
kmadhusu 2011/11/19 00:20:56 Done.
846 prep_frame_view.reset(new PrepareFrameAndViewForPrint(print_params, frame, 839 node));
847 node)); 840 UpdatePrintableSizeInPrintParameters(frame, node, prep_frame_view.get(),
848 prepare = prep_frame_view.get(); 841 &print_params);
849 }
850 UpdatePrintableSizeInPrintParameters(frame, node, prepare, &print_params);
851 842
852 int page_count = prepare->GetExpectedPageCount(); 843 int page_count = prepare->GetExpectedPageCount();
vandebo (ex-Chrome) 2011/11/19 00:02:20 nit: Update var name.
kmadhusu 2011/11/19 00:20:56 oops..my bad..fixed.
853 if (!page_count) 844 if (!page_count)
854 return false; 845 return false;
855 Send(new PrintHostMsg_DidGetPrintedPagesCount(routing_id(), 846 Send(new PrintHostMsg_DidGetPrintedPagesCount(routing_id(),
856 print_params.document_cookie, 847 print_params.document_cookie,
857 page_count)); 848 page_count));
858 849
859 const gfx::Size& canvas_size = prepare->GetPrintCanvasSize(); 850 const gfx::Size& canvas_size = prepare->GetPrintCanvasSize();
vandebo (ex-Chrome) 2011/11/19 00:02:20 nit: Update var name.
kmadhusu 2011/11/19 00:20:56 Done.
860 PrintMsg_PrintPage_Params page_params; 851 PrintMsg_PrintPage_Params page_params;
861 page_params.params = print_params; 852 page_params.params = print_params;
862 if (params.pages.empty()) { 853 if (params.pages.empty()) {
863 for (int i = 0; i < page_count; ++i) { 854 for (int i = 0; i < page_count; ++i) {
864 page_params.page_number = i; 855 page_params.page_number = i;
865 PrintPageInternal(page_params, canvas_size, frame); 856 PrintPageInternal(page_params, canvas_size, frame);
866 } 857 }
867 } else { 858 } else {
868 for (size_t i = 0; i < params.pages.size(); ++i) { 859 for (size_t i = 0; i < params.pages.size(); ++i) {
869 if (params.pages[i] >= page_count) 860 if (params.pages[i] >= page_count)
870 break; 861 break;
871 page_params.page_number = params.pages[i]; 862 page_params.page_number = params.pages[i];
872 PrintPageInternal(page_params, canvas_size, frame); 863 PrintPageInternal(page_params, canvas_size, frame);
873 } 864 }
874 } 865 }
875 return true; 866 return true;
876 } 867 }
877 #endif // OS_MACOSX || OS_WIN 868 #endif // OS_MACOSX || OS_WIN
878 869
879 void PrintWebViewHelper::didStopLoading() { 870 void PrintWebViewHelper::didStopLoading() {
880 PrintMsg_PrintPages_Params* params = print_pages_params_.get(); 871 PrintMsg_PrintPages_Params* params = print_pages_params_.get();
881 DCHECK(params != NULL); 872 DCHECK(params != NULL);
882 PrintPages(*params, print_web_view_->mainFrame(), WebNode(), NULL); 873 PrintPages(*params, print_web_view_->mainFrame(), WebNode());
883 } 874 }
884 875
885 // static - Not anonymous so that platform implementations can use it. 876 // static - Not anonymous so that platform implementations can use it.
886 void PrintWebViewHelper::GetPageSizeAndMarginsInPoints( 877 void PrintWebViewHelper::GetPageSizeAndMarginsInPoints(
887 WebFrame* frame, 878 WebFrame* frame,
888 int page_index, 879 int page_index,
889 const PrintMsg_Print_Params& default_params, 880 const PrintMsg_Print_Params& default_params,
890 PageSizeMargins* page_layout_in_points) { 881 PageSizeMargins* page_layout_in_points) {
891 int dpi = GetDPI(&default_params); 882 int dpi = GetDPI(&default_params);
892 883
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
1185 IPC::SyncMessage* msg = 1176 IPC::SyncMessage* msg =
1186 new PrintHostMsg_ScriptedPrint(routing_id(), params, &print_settings); 1177 new PrintHostMsg_ScriptedPrint(routing_id(), params, &print_settings);
1187 msg->EnableMessagePumping(); 1178 msg->EnableMessagePumping();
1188 Send(msg); 1179 Send(msg);
1189 print_pages_params_.reset(new PrintMsg_PrintPages_Params(print_settings)); 1180 print_pages_params_.reset(new PrintMsg_PrintPages_Params(print_settings));
1190 return (print_settings.params.dpi && print_settings.params.document_cookie); 1181 return (print_settings.params.dpi && print_settings.params.document_cookie);
1191 } 1182 }
1192 1183
1193 bool PrintWebViewHelper::RenderPagesForPrint( 1184 bool PrintWebViewHelper::RenderPagesForPrint(
1194 WebKit::WebFrame* frame, 1185 WebKit::WebFrame* frame,
1195 const WebKit::WebNode& node, 1186 const WebKit::WebNode& node) {
1196 PrepareFrameAndViewForPrint* prepare) {
1197 PrintMsg_PrintPages_Params print_settings = *print_pages_params_; 1187 PrintMsg_PrintPages_Params print_settings = *print_pages_params_;
1198 if (print_settings.params.selection_only) { 1188 if (print_settings.params.selection_only) {
1199 return CopyAndPrint(frame); 1189 return CopyAndPrint(frame);
1200 } else { 1190 } else {
1201 // TODO: Always copy before printing. 1191 // TODO: Always copy before printing.
1202 return PrintPages(print_settings, frame, node, prepare); 1192 return PrintPages(print_settings, frame, node);
1203 } 1193 }
1204 } 1194 }
1205 1195
1206 #if defined(OS_POSIX) 1196 #if defined(OS_POSIX)
1207 bool PrintWebViewHelper::CopyMetafileDataToSharedMem( 1197 bool PrintWebViewHelper::CopyMetafileDataToSharedMem(
1208 printing::Metafile* metafile, 1198 printing::Metafile* metafile,
1209 base::SharedMemoryHandle* shared_mem_handle) { 1199 base::SharedMemoryHandle* shared_mem_handle) {
1210 uint32 buf_size = metafile->GetDataSize(); 1200 uint32 buf_size = metafile->GetDataSize();
1211 base::SharedMemoryHandle mem_handle = 1201 base::SharedMemoryHandle mem_handle =
1212 content::RenderThread::Get()->HostAllocateSharedMemoryBuffer(buf_size); 1202 content::RenderThread::Get()->HostAllocateSharedMemoryBuffer(buf_size);
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
1563 DCHECK(IsRendering()); 1553 DCHECK(IsRendering());
1564 return prep_frame_view_->GetPrintCanvasSize(); 1554 return prep_frame_view_->GetPrintCanvasSize();
1565 } 1555 }
1566 1556
1567 void PrintWebViewHelper::PrintPreviewContext::ClearContext() { 1557 void PrintWebViewHelper::PrintPreviewContext::ClearContext() {
1568 prep_frame_view_.reset(); 1558 prep_frame_view_.reset();
1569 metafile_.reset(); 1559 metafile_.reset();
1570 pages_to_render_.clear(); 1560 pages_to_render_.clear();
1571 error_ = PREVIEW_ERROR_NONE; 1561 error_ = PREVIEW_ERROR_NONE;
1572 } 1562 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698