Index: chrome/browser/ui/webui/print_preview_handler.cc |
=================================================================== |
--- chrome/browser/ui/webui/print_preview_handler.cc (revision 105366) |
+++ 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" |
@@ -58,11 +54,11 @@ |
enum UserActionBuckets { |
PRINT_TO_PRINTER, |
PRINT_TO_PDF, |
- CANCEL, |
+ CANCEL, // UNUSED |
vandebo (ex-Chrome)
2011/10/14 07:14:05
The cancel bucket should still be used - if they h
Lei Zhang
2011/10/14 20:31:27
Sure, undeleted some code.
|
FALLBACK_TO_ADVANCED_SETTINGS_DIALOG, |
PREVIEW_FAILED, |
PREVIEW_STARTED, |
- INITIATOR_TAB_CRASHED, |
+ INITIATOR_TAB_CRASHED, // UNUSED |
INITIATOR_TAB_CLOSED, |
vandebo (ex-Chrome)
2011/10/14 07:14:05
INITIATOR_TAB_CLOSED may be unsed now...
Lei Zhang
2011/10/14 20:31:27
Still used at line 300.
|
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,12 +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))); |
web_ui_->RegisterMessageCallback("hidePreview", |
base::Bind(&PrintPreviewHandler::HandleHidePreview, |
base::Unretained(this))); |
@@ -312,7 +298,7 @@ |
TabContentsWrapper* initiator_tab = GetInitiatorTab(); |
if (!initiator_tab) { |
ReportUserActionHistogram(INITIATOR_TAB_CLOSED); |
- print_preview_ui->OnInitiatorTabClosed(); |
+ print_preview_ui->ClosePrintPreviewTab(); |
return; |
} |
@@ -407,7 +393,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->HidePreviewTab(); |
// Do this so the initiator tab can open a new print preview tab. |
ClearInitiatorTabDetails(); |
@@ -418,6 +405,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 +440,8 @@ |
} |
void PrintPreviewHandler::HandleHidePreview(const ListValue* /*args*/) { |
- HidePreviewTab(); |
+ PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>(web_ui_); |
+ print_preview_ui->HidePreviewTab(); |
} |
void PrintPreviewHandler::HandleCancelPendingPrintRequest( |
@@ -562,33 +552,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); |
- |
- // Record the number of times the user requests to regenerate preview data |
- // before cancelling. |
- UMA_HISTOGRAM_COUNTS("PrintPreview.RegeneratePreviewRequest.BeforeCancel", |
- regenerate_preview_request_count_); |
- |
- ActivateInitiatorTabAndClosePreviewTab(); |
-} |
- |
void PrintPreviewHandler::ReportStats() { |
UMA_HISTOGRAM_COUNTS("PrintPreview.ManagePrinters", |
manage_printers_dialog_request_count_); |
@@ -607,7 +570,8 @@ |
static_cast<RenderViewHostDelegate*>( |
initiator_tab->tab_contents())->Activate(); |
} |
- ClosePrintPreviewTab(); |
+ PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>(web_ui_); |
+ print_preview_ui->ClosePrintPreviewTab(); |
} |
void PrintPreviewHandler::SendPrinterCapabilities( |
@@ -631,17 +595,10 @@ |
} |
void PrintPreviewHandler::SendCloudPrintEnabled() { |
-#if defined(OS_MACOSX) |
- bool enable_cloud_print_integration = |
- CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableCloudPrint); |
-#else |
- bool enable_cloud_print_integration = true; |
-#endif |
GURL gcp_url(CloudPrintURL(BrowserList::GetLastActive()->profile()). |
GetCloudPrintServiceURL()); |
- base::FundamentalValue enable(enable_cloud_print_integration); |
base::StringValue gcp_url_value(gcp_url.spec()); |
- web_ui_->CallJavascriptFunction("setUseCloudPrint", enable, gcp_url_value); |
+ web_ui_->CallJavascriptFunction("setUseCloudPrint", gcp_url_value); |
} |
void PrintPreviewHandler::SendCloudPrintJob(const DictionaryValue& settings, |
@@ -710,25 +667,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(); |
} |
@@ -817,12 +755,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) |