Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 66 const char kPskDuplexFeature[] = "psk:JobDuplexAllDocumentsContiguously"; | 66 const char kPskDuplexFeature[] = "psk:JobDuplexAllDocumentsContiguously"; |
| 67 const char kPskTwoSided[] = "psk:TwoSided"; | 67 const char kPskTwoSided[] = "psk:TwoSided"; |
| 68 #endif | 68 #endif |
| 69 | 69 |
| 70 enum UserActionBuckets { | 70 enum UserActionBuckets { |
| 71 PRINT_TO_PRINTER, | 71 PRINT_TO_PRINTER, |
| 72 PRINT_TO_PDF, | 72 PRINT_TO_PDF, |
| 73 CANCEL, | 73 CANCEL, |
| 74 FALLBACK_TO_ADVANCED_SETTINGS_DIALOG, | 74 FALLBACK_TO_ADVANCED_SETTINGS_DIALOG, |
| 75 PREVIEW_FAILED, | 75 PREVIEW_FAILED, |
| 76 INITIATOR_TAB_CRASHED, | |
|
Lei Zhang
2011/08/16 03:30:41
do we need a corresponding change in some UMA .xml
kmadhusu
2011/08/16 16:46:47
Yeah. That will be a seperate CL.
| |
| 76 PREVIEW_STARTED, | 77 PREVIEW_STARTED, |
| 77 USERACTION_BUCKET_BOUNDARY | 78 USERACTION_BUCKET_BOUNDARY |
| 78 }; | 79 }; |
| 79 | 80 |
| 80 enum PrintSettingsBuckets { | 81 enum PrintSettingsBuckets { |
| 81 LANDSCAPE, | 82 LANDSCAPE, |
| 82 PORTRAIT, | 83 PORTRAIT, |
| 83 COLOR, | 84 COLOR, |
| 84 BLACK_AND_WHITE, | 85 BLACK_AND_WHITE, |
| 85 COLLATE, | 86 COLLATE, |
| (...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 425 web_ui_->RegisterMessageCallback("morePrinters", | 426 web_ui_->RegisterMessageCallback("morePrinters", |
| 426 NewCallback(this, &PrintPreviewHandler::HandleShowSystemDialog)); | 427 NewCallback(this, &PrintPreviewHandler::HandleShowSystemDialog)); |
| 427 web_ui_->RegisterMessageCallback("signIn", | 428 web_ui_->RegisterMessageCallback("signIn", |
| 428 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); | 429 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); |
| 429 web_ui_->RegisterMessageCallback("addCloudPrinter", | 430 web_ui_->RegisterMessageCallback("addCloudPrinter", |
| 430 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); | 431 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); |
| 431 web_ui_->RegisterMessageCallback("manageCloudPrinters", | 432 web_ui_->RegisterMessageCallback("manageCloudPrinters", |
| 432 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); | 433 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); |
| 433 web_ui_->RegisterMessageCallback("manageLocalPrinters", | 434 web_ui_->RegisterMessageCallback("manageLocalPrinters", |
| 434 NewCallback(this, &PrintPreviewHandler::HandleManagePrinters)); | 435 NewCallback(this, &PrintPreviewHandler::HandleManagePrinters)); |
| 436 web_ui_->RegisterMessageCallback("reloadCrashedInitiatorTab", | |
| 437 NewCallback(this, &PrintPreviewHandler::HandleReloadCrashedInitiatorTab)); | |
| 435 web_ui_->RegisterMessageCallback("closePrintPreviewTab", | 438 web_ui_->RegisterMessageCallback("closePrintPreviewTab", |
| 436 NewCallback(this, &PrintPreviewHandler::HandleClosePreviewTab)); | 439 NewCallback(this, &PrintPreviewHandler::HandleClosePreviewTab)); |
| 437 web_ui_->RegisterMessageCallback("hidePreview", | 440 web_ui_->RegisterMessageCallback("hidePreview", |
| 438 NewCallback(this, &PrintPreviewHandler::HandleHidePreview)); | 441 NewCallback(this, &PrintPreviewHandler::HandleHidePreview)); |
| 439 web_ui_->RegisterMessageCallback("cancelPendingPrintRequest", | 442 web_ui_->RegisterMessageCallback("cancelPendingPrintRequest", |
| 440 NewCallback(this, &PrintPreviewHandler::HandleCancelPendingPrintRequest)); | 443 NewCallback(this, &PrintPreviewHandler::HandleCancelPendingPrintRequest)); |
| 441 web_ui_->RegisterMessageCallback("saveLastPrinter", | 444 web_ui_->RegisterMessageCallback("saveLastPrinter", |
| 442 NewCallback(this, &PrintPreviewHandler::HandleSaveLastPrinter)); | 445 NewCallback(this, &PrintPreviewHandler::HandleSaveLastPrinter)); |
| 443 } | 446 } |
| 444 | 447 |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 644 printing::PrintViewManager* manager = wrapper->print_view_manager(); | 647 printing::PrintViewManager* manager = wrapper->print_view_manager(); |
| 645 manager->set_observer(this); | 648 manager->set_observer(this); |
| 646 manager->PrintForSystemDialogNow(); | 649 manager->PrintForSystemDialogNow(); |
| 647 } | 650 } |
| 648 | 651 |
| 649 void PrintPreviewHandler::HandleManagePrinters(const ListValue* args) { | 652 void PrintPreviewHandler::HandleManagePrinters(const ListValue* args) { |
| 650 ++manage_printers_dialog_request_count_; | 653 ++manage_printers_dialog_request_count_; |
| 651 printing::PrinterManagerDialog::ShowPrinterManagerDialog(); | 654 printing::PrinterManagerDialog::ShowPrinterManagerDialog(); |
| 652 } | 655 } |
| 653 | 656 |
| 657 void PrintPreviewHandler::HandleReloadCrashedInitiatorTab(const ListValue*) { | |
| 658 ReportStats(); | |
| 659 ReportUserActionHistogram(INITIATOR_TAB_CRASHED); | |
| 660 | |
| 661 TabContents* initiator_tab = GetInitiatorTab(); | |
| 662 if (!initiator_tab) | |
| 663 return; | |
| 664 | |
| 665 initiator_tab->OpenURL( | |
| 666 initiator_tab->GetURL(), GURL(), CURRENT_TAB, PageTransition::RELOAD); | |
| 667 ActivateInitiatorTabAndClosePreviewTab(); | |
| 668 } | |
| 669 | |
| 654 void PrintPreviewHandler::HandleClosePreviewTab(const ListValue* args) { | 670 void PrintPreviewHandler::HandleClosePreviewTab(const ListValue* args) { |
| 655 ReportStats(); | 671 ReportStats(); |
| 656 ReportUserActionHistogram(CANCEL); | 672 ReportUserActionHistogram(CANCEL); |
| 657 | 673 |
| 658 // Record the number of times the user requests to regenerate preview data | 674 // Record the number of times the user requests to regenerate preview data |
| 659 // before cancelling. | 675 // before cancelling. |
| 660 UMA_HISTOGRAM_COUNTS("PrintPreview.RegeneratePreviewRequest.BeforeCancel", | 676 UMA_HISTOGRAM_COUNTS("PrintPreview.RegeneratePreviewRequest.BeforeCancel", |
| 661 regenerate_preview_request_count_); | 677 regenerate_preview_request_count_); |
| 662 | 678 |
| 663 ActivateInitiatorTabAndClosePreviewTab(); | 679 ActivateInitiatorTabAndClosePreviewTab(); |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 823 string16(), | 839 string16(), |
| 824 last_saved_path_->Append(default_filename), | 840 last_saved_path_->Append(default_filename), |
| 825 &file_type_info, | 841 &file_type_info, |
| 826 0, | 842 0, |
| 827 FILE_PATH_LITERAL(""), | 843 FILE_PATH_LITERAL(""), |
| 828 preview_tab(), | 844 preview_tab(), |
| 829 platform_util::GetTopLevel(preview_tab()->GetNativeView()), | 845 platform_util::GetTopLevel(preview_tab()->GetNativeView()), |
| 830 NULL); | 846 NULL); |
| 831 } | 847 } |
| 832 | 848 |
| 833 void PrintPreviewHandler::OnNavigation() { | 849 void PrintPreviewHandler::OnTabDestroyed() { |
| 834 TabContents* initiator_tab = GetInitiatorTab(); | 850 TabContents* initiator_tab = GetInitiatorTab(); |
| 835 if (!initiator_tab) | 851 if (!initiator_tab) |
| 836 return; | 852 return; |
| 837 | 853 |
| 838 TabContentsWrapper* wrapper = | 854 TabContentsWrapper* wrapper = |
| 839 TabContentsWrapper::GetCurrentWrapperForContents(initiator_tab); | 855 TabContentsWrapper::GetCurrentWrapperForContents(initiator_tab); |
| 840 wrapper->print_view_manager()->set_observer(NULL); | 856 wrapper->print_view_manager()->set_observer(NULL); |
| 841 | 857 |
| 842 // Tell the initiator tab to stop rendering the print preview, if any, | 858 // Tell the initiator tab to stop rendering the print preview, if any, |
| 843 // since the preview tab is gone. | 859 // since the preview tab is gone. |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 887 return; | 903 return; |
| 888 | 904 |
| 889 // We no longer require the initiator tab details. Remove those details | 905 // We no longer require the initiator tab details. Remove those details |
| 890 // associated with the preview tab to allow the initiator tab to create | 906 // associated with the preview tab to allow the initiator tab to create |
| 891 // another preview tab. | 907 // another preview tab. |
| 892 printing::PrintPreviewTabController* tab_controller = | 908 printing::PrintPreviewTabController* tab_controller = |
| 893 printing::PrintPreviewTabController::GetInstance(); | 909 printing::PrintPreviewTabController::GetInstance(); |
| 894 if (tab_controller) | 910 if (tab_controller) |
| 895 tab_controller->EraseInitiatorTabInfo(preview_tab()); | 911 tab_controller->EraseInitiatorTabInfo(preview_tab()); |
| 896 } | 912 } |
| OLD | NEW |