Index: chrome/browser/printing/print_preview_tab_controller.cc |
diff --git a/chrome/browser/printing/print_preview_tab_controller.cc b/chrome/browser/printing/print_preview_tab_controller.cc |
index 79e77630becb3e63d02b2fad814fb57edf1abaf9..87b55e6b9980fa17b6dfc0eb6aa78d03aea115d1 100644 |
--- a/chrome/browser/printing/print_preview_tab_controller.cc |
+++ b/chrome/browser/printing/print_preview_tab_controller.cc |
@@ -435,6 +435,8 @@ void PrintPreviewTabController::RemoveInitiatorTab( |
preview_tab_map_[preview_tab] = NULL; |
RemoveObservers(initiator_tab); |
+ initiator_tab->print_view_manager()->PrintPreviewDone(); |
+ |
// Initiator tab is closed. Close the print preview tab too. |
PrintPreviewUI* print_preview_ui = |
static_cast<PrintPreviewUI*>(preview_tab->web_ui()); |
@@ -446,8 +448,10 @@ void PrintPreviewTabController::RemovePreviewTab( |
TabContentsWrapper* preview_tab) { |
// Remove the initiator tab's observers before erasing the mapping. |
TabContentsWrapper* initiator_tab = GetInitiatorTab(preview_tab); |
- if (initiator_tab) |
+ if (initiator_tab) { |
RemoveObservers(initiator_tab); |
+ initiator_tab->print_view_manager()->PrintPreviewDone(); |
+ } |
// Print preview TabContents is destroyed. Notify |PrintPreviewUI| to abort |
// the initiator tab preview request. |