Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / libgtk2ui / print_dialog_gtk2.h
index d314842..6c5ad43 100644 (file)
 #include "content/public/browser/browser_thread.h"
 #include "printing/print_dialog_gtk_interface.h"
 #include "printing/printing_context_linux.h"
+#include "ui/aura/window_observer.h"
 
 namespace printing {
-class Metafile;
+class MetafilePlayer;
 class PrintSettings;
 }
 
@@ -28,7 +29,8 @@ using printing::PrintingContextLinux;
 class PrintDialogGtk2
     : public printing::PrintDialogGtkInterface,
       public base::RefCountedThreadSafe<
-          PrintDialogGtk2, content::BrowserThread::DeleteOnUIThread> {
+          PrintDialogGtk2, content::BrowserThread::DeleteOnUIThread>,
+      public aura::WindowObserver {
  public:
   // Creates and returns a print dialog.
   static printing::PrintDialogGtkInterface* CreatePrintDialog(
@@ -41,7 +43,7 @@ class PrintDialogGtk2
       gfx::NativeView parent_view,
       bool has_selection,
       const PrintingContextLinux::PrintSettingsCallback& callback) OVERRIDE;
-  virtual void PrintDocument(const printing::Metafile* metafile,
+  virtual void PrintDocument(const printing::MetafilePlayer& metafile,
                              const base::string16& document_name) OVERRIDE;
   virtual void AddRefToDialog() OVERRIDE;
   virtual void ReleaseDialog() OVERRIDE;
@@ -70,6 +72,9 @@ class PrintDialogGtk2
   // |settings|.
   void InitPrintSettings(printing::PrintSettings* settings);
 
+  // aura::WindowObserver implementation.
+  virtual void OnWindowDestroying(aura::Window* window) OVERRIDE;
+
   // Printing dialog callback.
   PrintingContextLinux::PrintSettingsCallback callback_;
   PrintingContextLinux* context_;