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

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

Issue 7550063: Print Preview: Handle a crashed initiator tab by showing a message in PP. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: '' 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 413 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 web_ui_->RegisterMessageCallback("morePrinters", 424 web_ui_->RegisterMessageCallback("morePrinters",
425 NewCallback(this, &PrintPreviewHandler::HandleShowSystemDialog)); 425 NewCallback(this, &PrintPreviewHandler::HandleShowSystemDialog));
426 web_ui_->RegisterMessageCallback("signIn", 426 web_ui_->RegisterMessageCallback("signIn",
427 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); 427 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint));
428 web_ui_->RegisterMessageCallback("addCloudPrinter", 428 web_ui_->RegisterMessageCallback("addCloudPrinter",
429 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); 429 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint));
430 web_ui_->RegisterMessageCallback("manageCloudPrinters", 430 web_ui_->RegisterMessageCallback("manageCloudPrinters",
431 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint)); 431 NewCallback(this, &PrintPreviewHandler::HandleManageCloudPrint));
432 web_ui_->RegisterMessageCallback("manageLocalPrinters", 432 web_ui_->RegisterMessageCallback("manageLocalPrinters",
433 NewCallback(this, &PrintPreviewHandler::HandleManagePrinters)); 433 NewCallback(this, &PrintPreviewHandler::HandleManagePrinters));
434 web_ui_->RegisterMessageCallback("reloadCrashedInitiatorTab",
435 NewCallback(this, &PrintPreviewHandler::HandleReloadCrashedInitiatorTab));
434 web_ui_->RegisterMessageCallback("closePrintPreviewTab", 436 web_ui_->RegisterMessageCallback("closePrintPreviewTab",
435 NewCallback(this, &PrintPreviewHandler::HandleClosePreviewTab)); 437 NewCallback(this, &PrintPreviewHandler::HandleClosePreviewTab));
436 web_ui_->RegisterMessageCallback("hidePreview", 438 web_ui_->RegisterMessageCallback("hidePreview",
437 NewCallback(this, &PrintPreviewHandler::HandleHidePreview)); 439 NewCallback(this, &PrintPreviewHandler::HandleHidePreview));
438 web_ui_->RegisterMessageCallback("cancelPendingPrintRequest", 440 web_ui_->RegisterMessageCallback("cancelPendingPrintRequest",
439 NewCallback(this, &PrintPreviewHandler::HandleCancelPendingPrintRequest)); 441 NewCallback(this, &PrintPreviewHandler::HandleCancelPendingPrintRequest));
440 web_ui_->RegisterMessageCallback("saveLastPrinter", 442 web_ui_->RegisterMessageCallback("saveLastPrinter",
441 NewCallback(this, &PrintPreviewHandler::HandleSaveLastPrinter)); 443 NewCallback(this, &PrintPreviewHandler::HandleSaveLastPrinter));
442 } 444 }
443 445
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
643 printing::PrintViewManager* manager = wrapper->print_view_manager(); 645 printing::PrintViewManager* manager = wrapper->print_view_manager();
644 manager->set_observer(this); 646 manager->set_observer(this);
645 manager->PrintForSystemDialogNow(); 647 manager->PrintForSystemDialogNow();
646 } 648 }
647 649
648 void PrintPreviewHandler::HandleManagePrinters(const ListValue* args) { 650 void PrintPreviewHandler::HandleManagePrinters(const ListValue* args) {
649 ++manage_printers_dialog_request_count_; 651 ++manage_printers_dialog_request_count_;
650 printing::PrinterManagerDialog::ShowPrinterManagerDialog(); 652 printing::PrinterManagerDialog::ShowPrinterManagerDialog();
651 } 653 }
652 654
655 void PrintPreviewHandler::HandleReloadCrashedInitiatorTab(
656 const ListValue* args) {
dpapad 2011/08/08 22:01:58 According to the style guide, unused parameter nam
kmadhusu 2011/08/10 16:46:59 Done.
657 ReportStats();
658 ReportUserActionHistogram(PREVIEW_FAILED);
659
660 TabContents* initiator_tab = GetInitiatorTab();
661 if (!initiator_tab)
662 return;
663
664 initiator_tab->OpenURL(
665 initiator_tab->GetURL(), GURL(), CURRENT_TAB, PageTransition::RELOAD);
666 ActivateInitiatorTabAndClosePreviewTab();
667 }
668
653 void PrintPreviewHandler::HandleClosePreviewTab(const ListValue* args) { 669 void PrintPreviewHandler::HandleClosePreviewTab(const ListValue* args) {
654 ReportStats(); 670 ReportStats();
655 ReportUserActionHistogram(CANCEL); 671 ReportUserActionHistogram(CANCEL);
656 672
657 // Record the number of times the user requests to regenerate preview data 673 // Record the number of times the user requests to regenerate preview data
658 // before cancelling. 674 // before cancelling.
659 UMA_HISTOGRAM_COUNTS("PrintPreview.RegeneratePreviewRequest.BeforeCancel", 675 UMA_HISTOGRAM_COUNTS("PrintPreview.RegeneratePreviewRequest.BeforeCancel",
660 regenerate_preview_request_count_); 676 regenerate_preview_request_count_);
661 677
662 ActivateInitiatorTabAndClosePreviewTab(); 678 ActivateInitiatorTabAndClosePreviewTab();
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
886 return; 902 return;
887 903
888 // We no longer require the initiator tab details. Remove those details 904 // We no longer require the initiator tab details. Remove those details
889 // associated with the preview tab to allow the initiator tab to create 905 // associated with the preview tab to allow the initiator tab to create
890 // another preview tab. 906 // another preview tab.
891 printing::PrintPreviewTabController* tab_controller = 907 printing::PrintPreviewTabController* tab_controller =
892 printing::PrintPreviewTabController::GetInstance(); 908 printing::PrintPreviewTabController::GetInstance();
893 if (tab_controller) 909 if (tab_controller)
894 tab_controller->EraseInitiatorTabInfo(preview_tab()); 910 tab_controller->EraseInitiatorTabInfo(preview_tab());
895 } 911 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698