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

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

Issue 7550022: Print Preview: Fixing behavior of event listeners. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Adding function commetns Created 9 years, 4 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 #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 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 print_preview_context_.node())) { 312 print_preview_context_.node())) {
313 NOTREACHED(); 313 NOTREACHED();
314 return; 314 return;
315 } 315 }
316 316
317 if (!UpdatePrintSettings(settings)) { 317 if (!UpdatePrintSettings(settings)) {
318 DidFinishPrinting(FAIL_PREVIEW); 318 DidFinishPrinting(FAIL_PREVIEW);
319 return; 319 return;
320 } 320 }
321 321
322 if (print_pages_params_->params.preview_request_id != 0 && 322 if (!print_pages_params_->params.is_first_request &&
323 old_print_pages_params_.get() && 323 old_print_pages_params_.get() &&
324 PrintMsg_Print_Params_IsEqual(*old_print_pages_params_, 324 PrintMsg_Print_Params_IsEqual(*old_print_pages_params_,
325 *print_pages_params_)) { 325 *print_pages_params_)) {
326 PrintHostMsg_DidPreviewDocument_Params preview_params; 326 PrintHostMsg_DidPreviewDocument_Params preview_params;
327 preview_params.reuse_existing_data = true; 327 preview_params.reuse_existing_data = true;
328 preview_params.data_size = 0; 328 preview_params.data_size = 0;
329 preview_params.document_cookie = 329 preview_params.document_cookie =
330 print_pages_params_->params.document_cookie; 330 print_pages_params_->params.document_cookie;
331 preview_params.expected_pages_count = 331 preview_params.expected_pages_count =
332 print_preview_context_.total_page_count(); 332 print_preview_context_.total_page_count();
(...skipping 14 matching lines...) Expand all
347 } 347 }
348 348
349 bool PrintWebViewHelper::CreatePreviewDocument() { 349 bool PrintWebViewHelper::CreatePreviewDocument() {
350 PrintMsg_Print_Params print_params = print_pages_params_->params; 350 PrintMsg_Print_Params print_params = print_pages_params_->params;
351 const std::vector<int>& pages = print_pages_params_->pages; 351 const std::vector<int>& pages = print_pages_params_->pages;
352 if (!print_preview_context_.CreatePreviewDocument(&print_params, pages)) 352 if (!print_preview_context_.CreatePreviewDocument(&print_params, pages))
353 return false; 353 return false;
354 int page_count = print_preview_context_.total_page_count(); 354 int page_count = print_preview_context_.total_page_count();
355 bool is_modifiable = print_preview_context_.IsModifiable(); 355 bool is_modifiable = print_preview_context_.IsModifiable();
356 int document_cookie = print_pages_params_->params.document_cookie; 356 int document_cookie = print_pages_params_->params.document_cookie;
357 int preview_request_id = print_pages_params_->params.preview_request_id;
357 Send(new PrintHostMsg_DidGetPreviewPageCount(routing_id(), document_cookie, 358 Send(new PrintHostMsg_DidGetPreviewPageCount(routing_id(), document_cookie,
358 page_count, is_modifiable)); 359 page_count, is_modifiable,
360 preview_request_id));
359 PreviewPageRendered(printing::INVALID_PAGE_INDEX, NULL); 361 PreviewPageRendered(printing::INVALID_PAGE_INDEX, NULL);
360 return true; 362 return true;
361 } 363 }
362 364
363 void PrintWebViewHelper::OnContinuePreview(int requested_preview_page_index) { 365 void PrintWebViewHelper::OnContinuePreview(int requested_preview_page_index) {
364 // Spurious message. We already finished/cancelled/aborted the print preview. 366 // Spurious message. We already finished/cancelled/aborted the print preview.
365 if (!print_preview_context_.IsBusy()) 367 if (!print_preview_context_.IsBusy())
366 return; 368 return;
367 int page_number; 369 int page_number;
368 #if defined(USE_SKIA) 370 #if defined(USE_SKIA)
(...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after
766 768
767 Send(new PrintHostMsg_UpdatePrintSettings(routing_id(), 769 Send(new PrintHostMsg_UpdatePrintSettings(routing_id(),
768 print_pages_params_->params.document_cookie, job_settings, &settings)); 770 print_pages_params_->params.document_cookie, job_settings, &settings));
769 771
770 if (settings.params.dpi < kMinDpi || !settings.params.document_cookie) 772 if (settings.params.dpi < kMinDpi || !settings.params.document_cookie)
771 return false; 773 return false;
772 774
773 if (!UpdatePrintSettingsRequestId(job_settings, &(settings.params))) 775 if (!UpdatePrintSettingsRequestId(job_settings, &(settings.params)))
774 return false; 776 return false;
775 777
778 if (!job_settings.GetBoolean(printing::kIsFirstRequest,
Lei Zhang 2011/08/06 00:52:57 Why do we need this check here?
dpapad 2011/08/06 01:21:20 Is this method used from the old print flow? Then,
779 &(settings.params.is_first_request))) {
780 return false;
781 }
782
776 print_pages_params_.reset(new PrintMsg_PrintPages_Params(settings)); 783 print_pages_params_.reset(new PrintMsg_PrintPages_Params(settings));
777 Send(new PrintHostMsg_DidGetDocumentCookie(routing_id(), 784 Send(new PrintHostMsg_DidGetDocumentCookie(routing_id(),
778 settings.params.document_cookie)); 785 settings.params.document_cookie));
779 return true; 786 return true;
780 } 787 }
781 788
782 bool PrintWebViewHelper::GetPrintSettingsFromUser(WebKit::WebFrame* frame, 789 bool PrintWebViewHelper::GetPrintSettingsFromUser(WebKit::WebFrame* frame,
783 int expected_pages_count, 790 int expected_pages_count,
784 bool use_browser_overlays) { 791 bool use_browser_overlays) {
785 PrintHostMsg_ScriptedPrint_Params params; 792 PrintHostMsg_ScriptedPrint_Params params;
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
924 buf_size = metafile->GetDataSize(); 931 buf_size = metafile->GetDataSize();
925 DCHECK_GT(buf_size, 0u); 932 DCHECK_GT(buf_size, 0u);
926 if (!CopyMetafileDataToSharedMem( 933 if (!CopyMetafileDataToSharedMem(
927 metafile, &(preview_page_params.metafile_data_handle))) { 934 metafile, &(preview_page_params.metafile_data_handle))) {
928 DidFinishPrinting(FAIL_PREVIEW); 935 DidFinishPrinting(FAIL_PREVIEW);
929 return; 936 return;
930 } 937 }
931 } 938 }
932 preview_page_params.data_size = buf_size; 939 preview_page_params.data_size = buf_size;
933 preview_page_params.page_number = page_number; 940 preview_page_params.page_number = page_number;
941 preview_page_params.preview_request_id =
942 print_pages_params_->params.preview_request_id;
934 Send(new PrintHostMsg_DidPreviewPage(routing_id(), preview_page_params)); 943 Send(new PrintHostMsg_DidPreviewPage(routing_id(), preview_page_params));
935 } 944 }
936 945
937 PrintWebViewHelper::PrintPreviewContext::PrintPreviewContext() 946 PrintWebViewHelper::PrintPreviewContext::PrintPreviewContext()
938 : frame_(NULL), 947 : frame_(NULL),
939 total_page_count_(0), 948 total_page_count_(0),
940 actual_page_count_(0), 949 actual_page_count_(0),
941 current_page_number_(0), 950 current_page_number_(0),
942 state_(UNINITIALIZED) { 951 state_(UNINITIALIZED) {
943 } 952 }
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
1116 const gfx::Size& 1125 const gfx::Size&
1117 PrintWebViewHelper::PrintPreviewContext::GetPrintCanvasSize() const { 1126 PrintWebViewHelper::PrintPreviewContext::GetPrintCanvasSize() const {
1118 return prep_frame_view_->GetPrintCanvasSize(); 1127 return prep_frame_view_->GetPrintCanvasSize();
1119 } 1128 }
1120 1129
1121 void PrintWebViewHelper::PrintPreviewContext::ClearContext() { 1130 void PrintWebViewHelper::PrintPreviewContext::ClearContext() {
1122 prep_frame_view_.reset(); 1131 prep_frame_view_.reset();
1123 metafile_.reset(); 1132 metafile_.reset();
1124 rendered_pages_.clear(); 1133 rendered_pages_.clear();
1125 } 1134 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698