| Index: chrome/browser/printing/print_preview_tab_controller.h
|
| ===================================================================
|
| --- chrome/browser/printing/print_preview_tab_controller.h (revision 71344)
|
| +++ chrome/browser/printing/print_preview_tab_controller.h (working copy)
|
| @@ -1,89 +0,0 @@
|
| -// Copyright (c) 2010 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.
|
| -
|
| -// For print preview, a print preview (PP) tab is linked with the initiator tab
|
| -// that initiated the printing operation. If the tab initiates a second
|
| -// printing operation while the first print preview tab is still open, that PP
|
| -// tab is focused/activated. There may be more than one PP tab open. There is a
|
| -// 1:1 relationship between PP tabs and initiating tabs. This class manages PP
|
| -// tabs and initiator tabs.
|
| -#ifndef CHROME_BROWSER_PRINTING_PRINT_PREVIEW_TAB_CONTROLLER_H_
|
| -
|
| -#define CHROME_BROWSER_PRINTING_PRINT_PREVIEW_TAB_CONTROLLER_H_
|
| -#pragma once
|
| -
|
| -#include <map>
|
| -
|
| -#include "base/ref_counted.h"
|
| -#include "chrome/common/notification_observer.h"
|
| -#include "chrome/common/notification_registrar.h"
|
| -
|
| -class Browser;
|
| -class TabContents;
|
| -
|
| -namespace printing {
|
| -
|
| -class PrintPreviewTabController
|
| - : public base::RefCounted<PrintPreviewTabController>,
|
| - public NotificationObserver {
|
| - public:
|
| - PrintPreviewTabController();
|
| -
|
| - virtual ~PrintPreviewTabController();
|
| -
|
| - static PrintPreviewTabController* GetInstance();
|
| -
|
| - // Get/Create the print preview tab for |initiator_tab|.
|
| - // |browser_window_id| is the browser window containing |initiator_tab|.
|
| - TabContents* GetOrCreatePreviewTab(
|
| - TabContents* initiator_tab, int browser_window_id);
|
| -
|
| - // Notification observer implementation.
|
| - virtual void Observe(NotificationType type,
|
| - const NotificationSource& source,
|
| - const NotificationDetails& details);
|
| -
|
| - // Returns true if |tab| is a print preview tab.
|
| - static bool IsPrintPreviewTab(TabContents* tab);
|
| -
|
| - private:
|
| - friend class base::RefCounted<PrintPreviewTabController>;
|
| -
|
| - // 1:1 relationship between initiator tab and print preview tab.
|
| - // Key: Preview tab.
|
| - // Value: Initiator tab.
|
| - typedef std::map<TabContents*, TabContents*> PrintPreviewTabMap;
|
| -
|
| - // Returns initiator tab for |preview_tab|.
|
| - // Returns NULL if no initiator tab exists for |preview_tab|.
|
| - TabContents* GetInitiatorTab(TabContents* preview_tab);
|
| -
|
| - // Returns preview tab for |tab|.
|
| - // Returns |tab| if |tab| is a preview tab.
|
| - // Returns NULL if no preview tab exists for |tab|.
|
| - TabContents* GetPrintPreviewForTab(TabContents* tab);
|
| -
|
| - // Creates a new print preview tab.
|
| - TabContents* CreatePrintPreviewTab(
|
| - TabContents* initiator_tab, int browser_window_id);
|
| -
|
| - // Adds/Removes observers for notifications from |tab|.
|
| - void AddObservers(TabContents* tab);
|
| - void RemoveObservers(TabContents* tab);
|
| -
|
| - PrintPreviewTabMap preview_tab_map_;
|
| -
|
| - // A registrar for listening notifications.
|
| - NotificationRegistrar registrar_;
|
| -
|
| - // True if the controller is waiting for a new preview tab via
|
| - // NavigationType::NEW_PAGE.
|
| - bool waiting_for_new_preview_page_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(PrintPreviewTabController);
|
| -};
|
| -
|
| -} // namespace printing
|
| -
|
| -#endif // CHROME_BROWSER_PRINTING_PRINT_PREVIEW_TAB_CONTROLLER_H_
|
|
|