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

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
« no previous file with comments | « chrome/renderer/print_web_view_helper.h ('k') | chrome/renderer/print_web_view_helper_linux.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 PrepareFrameAndViewForPrint prep_frame_view(print_params, frame, node);
845 if (!prepare) { 838 UpdatePrintableSizeInPrintParameters(frame, node, &prep_frame_view,
846 prep_frame_view.reset(new PrepareFrameAndViewForPrint(print_params, frame, 839 &print_params);
847 node));
848 prepare = prep_frame_view.get();
849 }
850 UpdatePrintableSizeInPrintParameters(frame, node, prepare, &print_params);
851 840
852 int page_count = prepare->GetExpectedPageCount(); 841 int page_count = prep_frame_view.GetExpectedPageCount();
853 if (!page_count) 842 if (!page_count)
854 return false; 843 return false;
855 Send(new PrintHostMsg_DidGetPrintedPagesCount(routing_id(), 844 Send(new PrintHostMsg_DidGetPrintedPagesCount(routing_id(),
856 print_params.document_cookie, 845 print_params.document_cookie,
857 page_count)); 846 page_count));
858 847
859 const gfx::Size& canvas_size = prepare->GetPrintCanvasSize(); 848 const gfx::Size& canvas_size = prep_frame_view.GetPrintCanvasSize();
860 PrintMsg_PrintPage_Params page_params; 849 PrintMsg_PrintPage_Params page_params;
861 page_params.params = print_params; 850 page_params.params = print_params;
862 if (params.pages.empty()) { 851 if (params.pages.empty()) {
863 for (int i = 0; i < page_count; ++i) { 852 for (int i = 0; i < page_count; ++i) {
864 page_params.page_number = i; 853 page_params.page_number = i;
865 PrintPageInternal(page_params, canvas_size, frame); 854 PrintPageInternal(page_params, canvas_size, frame);
866 } 855 }
867 } else { 856 } else {
868 for (size_t i = 0; i < params.pages.size(); ++i) { 857 for (size_t i = 0; i < params.pages.size(); ++i) {
869 if (params.pages[i] >= page_count) 858 if (params.pages[i] >= page_count)
870 break; 859 break;
871 page_params.page_number = params.pages[i]; 860 page_params.page_number = params.pages[i];
872 PrintPageInternal(page_params, canvas_size, frame); 861 PrintPageInternal(page_params, canvas_size, frame);
873 } 862 }
874 } 863 }
875 return true; 864 return true;
876 } 865 }
877 #endif // OS_MACOSX || OS_WIN 866 #endif // OS_MACOSX || OS_WIN
878 867
879 void PrintWebViewHelper::didStopLoading() { 868 void PrintWebViewHelper::didStopLoading() {
880 PrintMsg_PrintPages_Params* params = print_pages_params_.get(); 869 PrintMsg_PrintPages_Params* params = print_pages_params_.get();
881 DCHECK(params != NULL); 870 DCHECK(params != NULL);
882 PrintPages(*params, print_web_view_->mainFrame(), WebNode(), NULL); 871 PrintPages(*params, print_web_view_->mainFrame(), WebNode());
883 } 872 }
884 873
885 // static - Not anonymous so that platform implementations can use it. 874 // static - Not anonymous so that platform implementations can use it.
886 void PrintWebViewHelper::GetPageSizeAndMarginsInPoints( 875 void PrintWebViewHelper::GetPageSizeAndMarginsInPoints(
887 WebFrame* frame, 876 WebFrame* frame,
888 int page_index, 877 int page_index,
889 const PrintMsg_Print_Params& default_params, 878 const PrintMsg_Print_Params& default_params,
890 PageSizeMargins* page_layout_in_points) { 879 PageSizeMargins* page_layout_in_points) {
891 int dpi = GetDPI(&default_params); 880 int dpi = GetDPI(&default_params);
892 881
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
1185 IPC::SyncMessage* msg = 1174 IPC::SyncMessage* msg =
1186 new PrintHostMsg_ScriptedPrint(routing_id(), params, &print_settings); 1175 new PrintHostMsg_ScriptedPrint(routing_id(), params, &print_settings);
1187 msg->EnableMessagePumping(); 1176 msg->EnableMessagePumping();
1188 Send(msg); 1177 Send(msg);
1189 print_pages_params_.reset(new PrintMsg_PrintPages_Params(print_settings)); 1178 print_pages_params_.reset(new PrintMsg_PrintPages_Params(print_settings));
1190 return (print_settings.params.dpi && print_settings.params.document_cookie); 1179 return (print_settings.params.dpi && print_settings.params.document_cookie);
1191 } 1180 }
1192 1181
1193 bool PrintWebViewHelper::RenderPagesForPrint( 1182 bool PrintWebViewHelper::RenderPagesForPrint(
1194 WebKit::WebFrame* frame, 1183 WebKit::WebFrame* frame,
1195 const WebKit::WebNode& node, 1184 const WebKit::WebNode& node) {
1196 PrepareFrameAndViewForPrint* prepare) {
1197 PrintMsg_PrintPages_Params print_settings = *print_pages_params_; 1185 PrintMsg_PrintPages_Params print_settings = *print_pages_params_;
1198 if (print_settings.params.selection_only) { 1186 if (print_settings.params.selection_only) {
1199 return CopyAndPrint(frame); 1187 return CopyAndPrint(frame);
1200 } else { 1188 } else {
1201 // TODO: Always copy before printing. 1189 // TODO: Always copy before printing.
1202 return PrintPages(print_settings, frame, node, prepare); 1190 return PrintPages(print_settings, frame, node);
1203 } 1191 }
1204 } 1192 }
1205 1193
1206 #if defined(OS_POSIX) 1194 #if defined(OS_POSIX)
1207 bool PrintWebViewHelper::CopyMetafileDataToSharedMem( 1195 bool PrintWebViewHelper::CopyMetafileDataToSharedMem(
1208 printing::Metafile* metafile, 1196 printing::Metafile* metafile,
1209 base::SharedMemoryHandle* shared_mem_handle) { 1197 base::SharedMemoryHandle* shared_mem_handle) {
1210 uint32 buf_size = metafile->GetDataSize(); 1198 uint32 buf_size = metafile->GetDataSize();
1211 base::SharedMemoryHandle mem_handle = 1199 base::SharedMemoryHandle mem_handle =
1212 content::RenderThread::Get()->HostAllocateSharedMemoryBuffer(buf_size); 1200 content::RenderThread::Get()->HostAllocateSharedMemoryBuffer(buf_size);
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
1563 DCHECK(IsRendering()); 1551 DCHECK(IsRendering());
1564 return prep_frame_view_->GetPrintCanvasSize(); 1552 return prep_frame_view_->GetPrintCanvasSize();
1565 } 1553 }
1566 1554
1567 void PrintWebViewHelper::PrintPreviewContext::ClearContext() { 1555 void PrintWebViewHelper::PrintPreviewContext::ClearContext() {
1568 prep_frame_view_.reset(); 1556 prep_frame_view_.reset();
1569 metafile_.reset(); 1557 metafile_.reset();
1570 pages_to_render_.clear(); 1558 pages_to_render_.clear();
1571 error_ = PREVIEW_ERROR_NONE; 1559 error_ = PREVIEW_ERROR_NONE;
1572 } 1560 }
OLDNEW
« no previous file with comments | « chrome/renderer/print_web_view_helper.h ('k') | chrome/renderer/print_web_view_helper_linux.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698