#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;
}
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(
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;
// |settings|.
void InitPrintSettings(printing::PrintSettings* settings);
+ // aura::WindowObserver implementation.
+ virtual void OnWindowDestroying(aura::Window* window) OVERRIDE;
+
// Printing dialog callback.
PrintingContextLinux::PrintSettingsCallback callback_;
PrintingContextLinux* context_;