| Index: chrome/browser/ui/webui/print_preview_handler.cc
|
| ===================================================================
|
| --- chrome/browser/ui/webui/print_preview_handler.cc (revision 105532)
|
| +++ chrome/browser/ui/webui/print_preview_handler.cc (working copy)
|
| @@ -21,9 +21,7 @@
|
| #include "base/threading/thread_restrictions.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "base/values.h"
|
| -#include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/platform_util.h"
|
| -#include "chrome/browser/printing/background_printing_manager.h"
|
| #include "chrome/browser/printing/cloud_print/cloud_print_url.h"
|
| #include "chrome/browser/printing/print_dialog_cloud.h"
|
| #include "chrome/browser/printing/print_job_manager.h"
|
| @@ -31,8 +29,6 @@
|
| #include "chrome/browser/printing/print_system_task_proxy.h"
|
| #include "chrome/browser/printing/print_view_manager.h"
|
| #include "chrome/browser/printing/printer_manager_dialog.h"
|
| -#include "chrome/browser/sessions/restore_tab_helper.h"
|
| -#include "chrome/browser/tabs/tab_strip_model.h"
|
| #include "chrome/browser/ui/browser_list.h"
|
| #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
|
| #include "chrome/browser/ui/webui/cloud_print_signin_dialog.h"
|
| @@ -62,7 +58,7 @@
|
| FALLBACK_TO_ADVANCED_SETTINGS_DIALOG,
|
| PREVIEW_FAILED,
|
| PREVIEW_STARTED,
|
| - INITIATOR_TAB_CRASHED,
|
| + INITIATOR_TAB_CRASHED, // UNUSED
|
| INITIATOR_TAB_CLOSED,
|
| PRINT_WITH_CLOUD_PRINT,
|
| USERACTION_BUCKET_BOUNDARY
|
| @@ -157,10 +153,6 @@
|
| }
|
| }
|
|
|
| -printing::BackgroundPrintingManager* GetBackgroundPrintingManager() {
|
| - return g_browser_process->background_printing_manager();
|
| -}
|
| -
|
| } // namespace
|
|
|
| // A Task implementation that stores a PDF file on disk.
|
| @@ -240,9 +232,6 @@
|
| web_ui_->RegisterMessageCallback("manageLocalPrinters",
|
| base::Bind(&PrintPreviewHandler::HandleManagePrinters,
|
| base::Unretained(this)));
|
| - web_ui_->RegisterMessageCallback("reloadCrashedInitiatorTab",
|
| - base::Bind(&PrintPreviewHandler::HandleReloadCrashedInitiatorTab,
|
| - base::Unretained(this)));
|
| web_ui_->RegisterMessageCallback("closePrintPreviewTab",
|
| base::Bind(&PrintPreviewHandler::HandleClosePreviewTab,
|
| base::Unretained(this)));
|
| @@ -312,7 +301,7 @@
|
| TabContentsWrapper* initiator_tab = GetInitiatorTab();
|
| if (!initiator_tab) {
|
| ReportUserActionHistogram(INITIATOR_TAB_CLOSED);
|
| - print_preview_ui->OnInitiatorTabClosed();
|
| + print_preview_ui->OnClosePrintPreviewTab();
|
| return;
|
| }
|
|
|
| @@ -407,7 +396,8 @@
|
|
|
| // This tries to activate the initiator tab as well, so do not clear the
|
| // association with the initiator tab yet.
|
| - HidePreviewTab();
|
| + PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>(web_ui_);
|
| + print_preview_ui->OnHidePreviewTab();
|
|
|
| // Do this so the initiator tab can open a new print preview tab.
|
| ClearInitiatorTabDetails();
|
| @@ -418,6 +408,8 @@
|
| RenderViewHost* rvh = web_ui_->tab_contents()->render_view_host();
|
| rvh->Send(new PrintMsg_PrintForPrintPreview(rvh->routing_id(), *settings));
|
| }
|
| + if (initiator_tab)
|
| + initiator_tab->print_view_manager()->PrintPreviewDone();
|
| }
|
|
|
| void PrintPreviewHandler::HandlePrintToPdf(
|
| @@ -451,7 +443,8 @@
|
| }
|
|
|
| void PrintPreviewHandler::HandleHidePreview(const ListValue* /*args*/) {
|
| - HidePreviewTab();
|
| + PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>(web_ui_);
|
| + print_preview_ui->OnHidePreviewTab();
|
| }
|
|
|
| void PrintPreviewHandler::HandleCancelPendingPrintRequest(
|
| @@ -562,21 +555,6 @@
|
| printing::PrinterManagerDialog::ShowPrinterManagerDialog();
|
| }
|
|
|
| -void PrintPreviewHandler::HandleReloadCrashedInitiatorTab(
|
| - const ListValue* /*args*/) {
|
| - ReportStats();
|
| - ReportUserActionHistogram(INITIATOR_TAB_CRASHED);
|
| -
|
| - TabContentsWrapper* initiator_tab = GetInitiatorTab();
|
| - if (!initiator_tab)
|
| - return;
|
| -
|
| - TabContents* contents = initiator_tab->tab_contents();
|
| - contents->OpenURL(contents->GetURL(), GURL(), CURRENT_TAB,
|
| - content::PAGE_TRANSITION_RELOAD);
|
| - ActivateInitiatorTabAndClosePreviewTab();
|
| -}
|
| -
|
| void PrintPreviewHandler::HandleClosePreviewTab(const ListValue* /*args*/) {
|
| ReportStats();
|
| ReportUserActionHistogram(CANCEL);
|
| @@ -585,8 +563,6 @@
|
| // before cancelling.
|
| UMA_HISTOGRAM_COUNTS("PrintPreview.RegeneratePreviewRequest.BeforeCancel",
|
| regenerate_preview_request_count_);
|
| -
|
| - ActivateInitiatorTabAndClosePreviewTab();
|
| }
|
|
|
| void PrintPreviewHandler::ReportStats() {
|
| @@ -607,7 +583,8 @@
|
| static_cast<RenderViewHostDelegate*>(
|
| initiator_tab->tab_contents())->Activate();
|
| }
|
| - ClosePrintPreviewTab();
|
| + PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>(web_ui_);
|
| + print_preview_ui->OnClosePrintPreviewTab();
|
| }
|
|
|
| void PrintPreviewHandler::SendPrinterCapabilities(
|
| @@ -703,25 +680,6 @@
|
| return tab_controller->GetInitiatorTab(preview_tab_wrapper());
|
| }
|
|
|
| -void PrintPreviewHandler::ClosePrintPreviewTab() {
|
| - TabContentsWrapper* tab =
|
| - TabContentsWrapper::GetCurrentWrapperForContents(preview_tab());
|
| - if (!tab)
|
| - return;
|
| - Browser* preview_tab_browser = BrowserList::FindBrowserWithID(
|
| - tab->restore_tab_helper()->window_id().id());
|
| - if (!preview_tab_browser)
|
| - return;
|
| - TabStripModel* tabstrip = preview_tab_browser->tabstrip_model();
|
| - int index = tabstrip->GetIndexOfTabContents(tab);
|
| - if (index == TabStripModel::kNoTab)
|
| - return;
|
| -
|
| - // Keep print preview tab out of the recently closed tab list, because
|
| - // re-opening that page will just display a non-functional print preview page.
|
| - tabstrip->CloseTabContentsAt(index, TabStripModel::CLOSE_NONE);
|
| -}
|
| -
|
| void PrintPreviewHandler::OnPrintDialogShown() {
|
| ActivateInitiatorTabAndClosePreviewTab();
|
| }
|
| @@ -810,12 +768,6 @@
|
| print_preview_ui->OnFileSelectionCancelled();
|
| }
|
|
|
| -void PrintPreviewHandler::HidePreviewTab() {
|
| - if (GetBackgroundPrintingManager()->HasPrintPreviewTab(preview_tab_wrapper()))
|
| - return;
|
| - GetBackgroundPrintingManager()->OwnPrintPreviewTab(preview_tab_wrapper());
|
| -}
|
| -
|
| void PrintPreviewHandler::ClearInitiatorTabDetails() {
|
| TabContentsWrapper* initiator_tab = GetInitiatorTab();
|
| if (!initiator_tab)
|
|
|