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

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

Issue 10483006: Print support for Windows Metro... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Working version Created 8 years, 6 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 814 matching lines...) Expand 10 before | Expand all | Expand 10 after
825 IPC_MESSAGE_HANDLER(PrintMsg_InitiatePrintPreview, OnInitiatePrintPreview) 825 IPC_MESSAGE_HANDLER(PrintMsg_InitiatePrintPreview, OnInitiatePrintPreview)
826 IPC_MESSAGE_HANDLER(PrintMsg_PrintNodeUnderContextMenu, 826 IPC_MESSAGE_HANDLER(PrintMsg_PrintNodeUnderContextMenu,
827 OnPrintNodeUnderContextMenu) 827 OnPrintNodeUnderContextMenu)
828 IPC_MESSAGE_HANDLER(PrintMsg_PrintPreview, OnPrintPreview) 828 IPC_MESSAGE_HANDLER(PrintMsg_PrintPreview, OnPrintPreview)
829 IPC_MESSAGE_HANDLER(PrintMsg_PrintForPrintPreview, OnPrintForPrintPreview) 829 IPC_MESSAGE_HANDLER(PrintMsg_PrintForPrintPreview, OnPrintForPrintPreview)
830 IPC_MESSAGE_HANDLER(PrintMsg_PrintingDone, OnPrintingDone) 830 IPC_MESSAGE_HANDLER(PrintMsg_PrintingDone, OnPrintingDone)
831 IPC_MESSAGE_HANDLER(PrintMsg_ResetScriptedPrintCount, 831 IPC_MESSAGE_HANDLER(PrintMsg_ResetScriptedPrintCount,
832 ResetScriptedPrintCount) 832 ResetScriptedPrintCount)
833 IPC_MESSAGE_HANDLER(PrintMsg_SetScriptedPrintingBlocked, 833 IPC_MESSAGE_HANDLER(PrintMsg_SetScriptedPrintingBlocked,
834 SetScriptedPrintBlocked) 834 SetScriptedPrintBlocked)
835 IPC_MESSAGE_HANDLER(PrintMsg_PrintForFile, OnPrintForFile)
835 IPC_MESSAGE_UNHANDLED(handled = false) 836 IPC_MESSAGE_UNHANDLED(handled = false)
836 IPC_END_MESSAGE_MAP() 837 IPC_END_MESSAGE_MAP()
837 return handled; 838 return handled;
838 } 839 }
839 840
840 void PrintWebViewHelper::OnPrintForPrintPreview( 841 void PrintWebViewHelper::OnPrintForPrintPreview(
841 const DictionaryValue& job_settings) { 842 const DictionaryValue& job_settings) {
842 DCHECK(is_preview_enabled_); 843 DCHECK(is_preview_enabled_);
843 // If still not finished with earlier print request simply ignore. 844 // If still not finished with earlier print request simply ignore.
844 if (print_web_view_) 845 if (print_web_view_)
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
900 void PrintWebViewHelper::OnPrintForSystemDialog() { 901 void PrintWebViewHelper::OnPrintForSystemDialog() {
901 WebFrame* frame = print_preview_context_.frame(); 902 WebFrame* frame = print_preview_context_.frame();
902 if (!frame) { 903 if (!frame) {
903 NOTREACHED(); 904 NOTREACHED();
904 return; 905 return;
905 } 906 }
906 907
907 Print(frame, print_preview_context_.node()); 908 Print(frame, print_preview_context_.node());
908 } 909 }
909 910
911 void PrintWebViewHelper::OnPrintForFile() {
912 OnPrintPages();
MAD 2012/06/15 02:54:29 To be removed...
MAD 2012/06/28 15:48:14 Done.
913 }
914
910 void PrintWebViewHelper::GetPageSizeAndContentAreaFromPageLayout( 915 void PrintWebViewHelper::GetPageSizeAndContentAreaFromPageLayout(
911 const printing::PageSizeMargins& page_layout_in_points, 916 const printing::PageSizeMargins& page_layout_in_points,
912 gfx::Size* page_size, 917 gfx::Size* page_size,
913 gfx::Rect* content_area) { 918 gfx::Rect* content_area) {
914 *page_size = gfx::Size( 919 *page_size = gfx::Size(
915 page_layout_in_points.content_width + 920 page_layout_in_points.content_width +
916 page_layout_in_points.margin_right + 921 page_layout_in_points.margin_right +
917 page_layout_in_points.margin_left, 922 page_layout_in_points.margin_left,
918 page_layout_in_points.content_height + 923 page_layout_in_points.content_height +
919 page_layout_in_points.margin_top + 924 page_layout_in_points.margin_top +
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
1210 // show UI and wait for the user. 1215 // show UI and wait for the user.
1211 prepare.reset(); 1216 prepare.reset();
1212 1217
1213 // Some full screen plugins can say they don't want to print. 1218 // Some full screen plugins can say they don't want to print.
1214 if (!expected_page_count) { 1219 if (!expected_page_count) {
1215 DidFinishPrinting(FAIL_PRINT); 1220 DidFinishPrinting(FAIL_PRINT);
1216 return; 1221 return;
1217 } 1222 }
1218 1223
1219 // Ask the browser to show UI to retrieve the final print settings. 1224 // Ask the browser to show UI to retrieve the final print settings.
1220 if (!GetPrintSettingsFromUser(frame, node, expected_page_count, 1225 // if (!GetPrintSettingsFromUser(frame, node, expected_page_count,
MAD 2012/06/15 02:54:29 Need to fix this....
MAD 2012/06/28 15:48:14 Done.
1221 use_browser_overlays)) { 1226 // use_browser_overlays)) {
1222 DidFinishPrinting(OK); // Release resources and fail silently. 1227 // DidFinishPrinting(OK); // Release resources and fail silently.
1223 return; 1228 // return;
1224 } 1229 // }
1225 1230
1226 // Render Pages for printing. 1231 // Render Pages for printing.
1227 if (!RenderPagesForPrint(frame, node)) { 1232 if (!RenderPagesForPrint(frame, node)) {
1228 LOG(ERROR) << "RenderPagesForPrint failed"; 1233 LOG(ERROR) << "RenderPagesForPrint failed";
1229 DidFinishPrinting(FAIL_PRINT); 1234 DidFinishPrinting(FAIL_PRINT);
1230 } 1235 }
1231 ResetScriptedPrintCount(); 1236 ResetScriptedPrintCount();
1232 } 1237 }
1233 1238
1234 void PrintWebViewHelper::DidFinishPrinting(PrintingResult result) { 1239 void PrintWebViewHelper::DidFinishPrinting(PrintingResult result) {
(...skipping 706 matching lines...) Expand 10 before | Expand all | Expand 10 after
1941 DCHECK(IsRendering()); 1946 DCHECK(IsRendering());
1942 return prep_frame_view_->GetPrintCanvasSize(); 1947 return prep_frame_view_->GetPrintCanvasSize();
1943 } 1948 }
1944 1949
1945 void PrintWebViewHelper::PrintPreviewContext::ClearContext() { 1950 void PrintWebViewHelper::PrintPreviewContext::ClearContext() {
1946 prep_frame_view_.reset(); 1951 prep_frame_view_.reset();
1947 metafile_.reset(); 1952 metafile_.reset();
1948 pages_to_render_.clear(); 1953 pages_to_render_.clear();
1949 error_ = PREVIEW_ERROR_NONE; 1954 error_ = PREVIEW_ERROR_NONE;
1950 } 1955 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698