Index: chrome/browser/printing/print_preview_dialog_controller.h |
diff --git a/chrome/browser/printing/print_preview_dialog_controller.h b/chrome/browser/printing/print_preview_dialog_controller.h |
index 0ce70db172da1131dd2aff6e6b80627a5ecf8b86..da5d3851d446d0be7ecc1d1a264fa0b295c006fa 100644 |
--- a/chrome/browser/printing/print_preview_dialog_controller.h |
+++ b/chrome/browser/printing/print_preview_dialog_controller.h |
@@ -1,4 +1,4 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+ // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
@@ -22,9 +22,9 @@ class WebContents; |
namespace printing { |
-// For print preview, the tab that initiates the printing operation is the |
-// initiator tab, and the constrained dialog that shows the print preview is |
-// the print preview dialog. |
+// For print preview, the WebContents that initiates the printing operation is |
+// the initiator, and the constrained dialog that shows the print preview is the |
+// print preview dialog. |
// This class manages print preview dialog creation and destruction, and keeps |
// track of the 1:1 relationship between initiatora tabs and print preview |
// dialogs. |
@@ -36,14 +36,14 @@ class PrintPreviewDialogController |
static PrintPreviewDialogController* GetInstance(); |
- // Initiate print preview for |initiator_tab|. |
+ // Initiate print preview for |initiator|. |
// Call this instead of GetOrCreatePreviewDialog(). |
- static void PrintPreview(content::WebContents* initiator_tab); |
+ static void PrintPreview(content::WebContents* initiator); |
- // Get/Create the print preview dialog for |initiator_tab|. |
+ // Get/Create the print preview dialog for |initiator|. |
// Exposed for unit tests. |
content::WebContents* GetOrCreatePreviewDialog( |
- content::WebContents* initiator_tab); |
+ content::WebContents* initiator); |
// Returns the preview dialog for |contents|. |
// Returns |contents| if |contents| is a preview dialog. |
@@ -51,9 +51,9 @@ class PrintPreviewDialogController |
content::WebContents* GetPrintPreviewForContents( |
content::WebContents* contents) const; |
- // Returns the initiator tab for |preview_dialog|. |
- // Returns NULL if no initiator tab exists for |preview_dialog|. |
- content::WebContents* GetInitiatorTab(content::WebContents* preview_dialog); |
+ // Returns the initiator for |preview_dialog|. |
+ // Returns NULL if no initiator exists for |preview_dialog|. |
+ content::WebContents* GetInitiator(content::WebContents* preview_dialog); |
// content::NotificationObserver implementation. |
virtual void Observe(int type, |
@@ -66,8 +66,8 @@ class PrintPreviewDialogController |
// Returns true if |url| is a print preview url. |
static bool IsPrintPreviewURL(const GURL& url); |
- // Erase the initiator tab info associated with |preview_tab|. |
- void EraseInitiatorTabInfo(content::WebContents* preview_tab); |
+ // Erase the initiator info associated with |preview_dialog|. |
+ void EraseInitiatorInfo(content::WebContents* preview_dialog); |
bool is_creating_print_preview_dialog() const { |
return is_creating_print_preview_dialog_; |
@@ -76,9 +76,16 @@ class PrintPreviewDialogController |
private: |
friend class base::RefCounted<PrintPreviewDialogController>; |
- // 1:1 relationship between a print preview dialog and its initiator tab. |
+ // Used to distinguish between the two varieties of WebContents dealt with by |
+ // this class. |
+ enum ContentsType { |
+ INITIATOR, |
+ PREVIEW_DIALOG |
+ }; |
+ |
+ // 1:1 relationship between a print preview dialog and its initiator. |
// Key: Print preview dialog. |
- // Value: Initiator tab. |
+ // Value: Initiator. |
typedef std::map<content::WebContents*, content::WebContents*> |
PrintPreviewDialogMap; |
@@ -99,21 +106,22 @@ class PrintPreviewDialogController |
// Creates a new print preview dialog. |
content::WebContents* CreatePrintPreviewDialog( |
- content::WebContents* initiator_tab); |
+ content::WebContents* initiator); |
- // Helper function to store the title of the initiator tab associated with |
+ // Helper function to store the title of the initiator associated with |
// |preview_dialog| in |preview_dialog|'s PrintPreviewUI. |
- void SaveInitiatorTabTitle(content::WebContents* preview_dialog); |
+ void SaveInitiatorTitle(content::WebContents* preview_dialog); |
// Adds/Removes observers for notifications from |contents|. |
- void AddObservers(content::WebContents* contents); |
- void RemoveObservers(content::WebContents* contents); |
+ void AddObservers(content::WebContents* contents, ContentsType contents_type); |
+ void RemoveObservers(content::WebContents* contents, |
+ ContentsType contents_type); |
// Removes WebContents when they close/crash/navigate. |
- void RemoveInitiatorTab(content::WebContents* initiator_tab); |
+ void RemoveInitiator(content::WebContents* initiator); |
void RemovePreviewDialog(content::WebContents* preview_dialog); |
- // Mapping between print preview dialog and the corresponding initiator tab. |
+ // Mapping between print preview dialog and the corresponding initiator. |
PrintPreviewDialogMap preview_dialog_map_; |
// A registrar for listening notifications. |