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

Side by Side Diff: chrome/browser/ui/webui/print_preview_handler.cc

Issue 7715022: Print Preview: Provide a link to try printing with the system dialog when print preview fails. Al... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: update string message 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/browser/ui/webui/print_preview_handler.h" 5 #include "chrome/browser/ui/webui/print_preview_handler.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/base64.h" 9 #include "base/base64.h"
10 #if !defined(OS_CHROMEOS) 10 #if !defined(OS_CHROMEOS)
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 #endif 69 #endif
70 70
71 enum UserActionBuckets { 71 enum UserActionBuckets {
72 PRINT_TO_PRINTER, 72 PRINT_TO_PRINTER,
73 PRINT_TO_PDF, 73 PRINT_TO_PDF,
74 CANCEL, 74 CANCEL,
75 FALLBACK_TO_ADVANCED_SETTINGS_DIALOG, 75 FALLBACK_TO_ADVANCED_SETTINGS_DIALOG,
76 PREVIEW_FAILED, 76 PREVIEW_FAILED,
77 PREVIEW_STARTED, 77 PREVIEW_STARTED,
78 INITIATOR_TAB_CRASHED, 78 INITIATOR_TAB_CRASHED,
79 INITIATOR_TAB_CLOSED,
79 USERACTION_BUCKET_BOUNDARY 80 USERACTION_BUCKET_BOUNDARY
80 }; 81 };
81 82
82 enum PrintSettingsBuckets { 83 enum PrintSettingsBuckets {
83 LANDSCAPE, 84 LANDSCAPE,
84 PORTRAIT, 85 PORTRAIT,
85 COLOR, 86 COLOR,
86 BLACK_AND_WHITE, 87 BLACK_AND_WHITE,
87 COLLATE, 88 COLLATE,
88 SIMPLEX, 89 SIMPLEX,
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
488 // when calling PrintPreviewUI::GetCurrentPrintPreviewStatus() on the IO 489 // when calling PrintPreviewUI::GetCurrentPrintPreviewStatus() on the IO
489 // thread. 490 // thread.
490 settings->SetString(printing::kPreviewUIAddr, 491 settings->SetString(printing::kPreviewUIAddr,
491 print_preview_ui->GetPrintPreviewUIAddress()); 492 print_preview_ui->GetPrintPreviewUIAddress());
492 493
493 // Increment request count. 494 // Increment request count.
494 ++regenerate_preview_request_count_; 495 ++regenerate_preview_request_count_;
495 496
496 TabContents* initiator_tab = GetInitiatorTab(); 497 TabContents* initiator_tab = GetInitiatorTab();
497 if (!initiator_tab) { 498 if (!initiator_tab) {
498 if (!reported_failed_preview_) { 499 ReportUserActionHistogram(INITIATOR_TAB_CLOSED);
499 ReportUserActionHistogram(PREVIEW_FAILED); 500 print_preview_ui->OnInitiatorTabClosed();
500 reported_failed_preview_ = true;
501 }
502 print_preview_ui->OnPrintPreviewFailed();
503 return; 501 return;
504 } 502 }
505 503
506 // Retrieve the page title and url and send it to the renderer process if 504 // Retrieve the page title and url and send it to the renderer process if
507 // headers and footers are to be displayed. 505 // headers and footers are to be displayed.
508 bool display_header_footer = false; 506 bool display_header_footer = false;
509 if (!settings->GetBoolean(printing::kSettingHeaderFooterEnabled, 507 if (!settings->GetBoolean(printing::kSettingHeaderFooterEnabled,
510 &display_header_footer)) { 508 &display_header_footer)) {
511 NOTREACHED(); 509 NOTREACHED();
512 } 510 }
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after
879 void PrintPreviewHandler::OnTabDestroyed() { 877 void PrintPreviewHandler::OnTabDestroyed() {
880 TabContents* initiator_tab = GetInitiatorTab(); 878 TabContents* initiator_tab = GetInitiatorTab();
881 if (!initiator_tab) 879 if (!initiator_tab)
882 return; 880 return;
883 881
884 TabContentsWrapper* wrapper = 882 TabContentsWrapper* wrapper =
885 TabContentsWrapper::GetCurrentWrapperForContents(initiator_tab); 883 TabContentsWrapper::GetCurrentWrapperForContents(initiator_tab);
886 wrapper->print_view_manager()->set_observer(NULL); 884 wrapper->print_view_manager()->set_observer(NULL);
887 } 885 }
888 886
887 void PrintPreviewHandler::OnPrintPreviewFailed() {
888 if (reported_failed_preview_)
889 return;
890 reported_failed_preview_ = true;
891 ReportUserActionHistogram(PREVIEW_FAILED);
892 }
893
889 void PrintPreviewHandler::FileSelected(const FilePath& path, 894 void PrintPreviewHandler::FileSelected(const FilePath& path,
890 int index, void* params) { 895 int index, void* params) {
891 PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>(web_ui_); 896 PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>(web_ui_);
892 scoped_refptr<RefCountedBytes> data; 897 scoped_refptr<RefCountedBytes> data;
893 print_preview_ui->GetPrintPreviewDataForIndex( 898 print_preview_ui->GetPrintPreviewDataForIndex(
894 printing::COMPLETE_PREVIEW_DOCUMENT_INDEX, &data); 899 printing::COMPLETE_PREVIEW_DOCUMENT_INDEX, &data);
895 if (!data.get()) { 900 if (!data.get()) {
896 NOTREACHED(); 901 NOTREACHED();
897 return; 902 return;
898 } 903 }
(...skipping 29 matching lines...) Expand all
928 return; 933 return;
929 934
930 // We no longer require the initiator tab details. Remove those details 935 // We no longer require the initiator tab details. Remove those details
931 // associated with the preview tab to allow the initiator tab to create 936 // associated with the preview tab to allow the initiator tab to create
932 // another preview tab. 937 // another preview tab.
933 printing::PrintPreviewTabController* tab_controller = 938 printing::PrintPreviewTabController* tab_controller =
934 printing::PrintPreviewTabController::GetInstance(); 939 printing::PrintPreviewTabController::GetInstance();
935 if (tab_controller) 940 if (tab_controller)
936 tab_controller->EraseInitiatorTabInfo(preview_tab()); 941 tab_controller->EraseInitiatorTabInfo(preview_tab());
937 } 942 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/print_preview_handler.h ('k') | chrome/browser/ui/webui/print_preview_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698