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 414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
425 web_ui_->RegisterMessageCallback("morePrinters", | 425 web_ui_->RegisterMessageCallback("morePrinters", |
426 NewCallback(this, &PrintPreviewHandler::HandleShowSystemDialog)); | 426 NewCallback(this, &PrintPreviewHandler::HandleShowSystemDialog)); |
427 web_ui_->RegisterMessageCallback("signIn", | 427 web_ui_->RegisterMessageCallback("signIn", |
428 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); | 428 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); |
429 web_ui_->RegisterMessageCallback("addCloudPrinter", | 429 web_ui_->RegisterMessageCallback("addCloudPrinter", |
430 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); | 430 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); |
431 web_ui_->RegisterMessageCallback("manageCloudPrinters", | 431 web_ui_->RegisterMessageCallback("manageCloudPrinters", |
432 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); | 432 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); |
433 web_ui_->RegisterMessageCallback("manageLocalPrinters", | 433 web_ui_->RegisterMessageCallback("manageLocalPrinters", |
434 NewCallback(this, &PrintPreviewHandler::HandleManagePrinters)); | 434 NewCallback(this, &PrintPreviewHandler::HandleManagePrinters)); |
435 web_ui_->RegisterMessageCallback("reloadCrashedInitiatorTab", | |
436 NewCallback(this, &PrintPreviewHandler::HandleReloadCrashedInitiatorTab)); | |
435 web_ui_->RegisterMessageCallback("closePrintPreviewTab", | 437 web_ui_->RegisterMessageCallback("closePrintPreviewTab", |
436 NewCallback(this, &PrintPreviewHandler::HandleClosePreviewTab)); | 438 NewCallback(this, &PrintPreviewHandler::HandleClosePreviewTab)); |
437 web_ui_->RegisterMessageCallback("hidePreview", | 439 web_ui_->RegisterMessageCallback("hidePreview", |
438 NewCallback(this, &PrintPreviewHandler::HandleHidePreview)); | 440 NewCallback(this, &PrintPreviewHandler::HandleHidePreview)); |
439 web_ui_->RegisterMessageCallback("cancelPendingPrintRequest", | 441 web_ui_->RegisterMessageCallback("cancelPendingPrintRequest", |
440 NewCallback(this, &PrintPreviewHandler::HandleCancelPendingPrintRequest)); | 442 NewCallback(this, &PrintPreviewHandler::HandleCancelPendingPrintRequest)); |
441 web_ui_->RegisterMessageCallback("saveLastPrinter", | 443 web_ui_->RegisterMessageCallback("saveLastPrinter", |
442 NewCallback(this, &PrintPreviewHandler::HandleSaveLastPrinter)); | 444 NewCallback(this, &PrintPreviewHandler::HandleSaveLastPrinter)); |
443 } | 445 } |
444 | 446 |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
644 printing::PrintViewManager* manager = wrapper->print_view_manager(); | 646 printing::PrintViewManager* manager = wrapper->print_view_manager(); |
645 manager->set_observer(this); | 647 manager->set_observer(this); |
646 manager->PrintForSystemDialogNow(); | 648 manager->PrintForSystemDialogNow(); |
647 } | 649 } |
648 | 650 |
649 void PrintPreviewHandler::HandleManagePrinters(const ListValue* args) { | 651 void PrintPreviewHandler::HandleManagePrinters(const ListValue* args) { |
650 ++manage_printers_dialog_request_count_; | 652 ++manage_printers_dialog_request_count_; |
651 printing::PrinterManagerDialog::ShowPrinterManagerDialog(); | 653 printing::PrinterManagerDialog::ShowPrinterManagerDialog(); |
652 } | 654 } |
653 | 655 |
656 void PrintPreviewHandler::HandleReloadCrashedInitiatorTab( | |
657 const ListValue* /* args */) { | |
Lei Zhang
2011/08/16 00:59:23
nit: just leave off /* args */ like we do in the r
kmadhusu
2011/08/16 01:31:37
Done.
| |
658 ReportStats(); | |
659 ReportUserActionHistogram(PREVIEW_FAILED); | |
Lei Zhang
2011/08/16 00:59:23
Can we use a different histogram value so we can d
kmadhusu
2011/08/16 01:31:37
+ INITIATOR_TAB_CRASHED
Once you are fine with th
| |
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 |