summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/printing/print_dialog_gtk.cc6
-rw-r--r--chrome/browser/printing/print_dialog_gtk.h1
-rw-r--r--printing/print_dialog_gtk_interface.h2
-rw-r--r--printing/printing_context_gtk.cc2
4 files changed, 6 insertions, 5 deletions
diff --git a/chrome/browser/printing/print_dialog_gtk.cc b/chrome/browser/printing/print_dialog_gtk.cc
index e9309a0..b1f8a9f 100644
--- a/chrome/browser/printing/print_dialog_gtk.cc
+++ b/chrome/browser/printing/print_dialog_gtk.cc
@@ -19,9 +19,6 @@
#include "base/message_loop_proxy.h"
#include "base/utf_string_conversions.h"
#include "base/values.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_list.h"
-#include "chrome/browser/ui/browser_window.h"
#include "printing/metafile.h"
#include "printing/print_job_constants.h"
#include "printing/print_settings.h"
@@ -233,11 +230,12 @@ bool PrintDialogGtk::UpdateSettings(const base::DictionaryValue& job_settings,
}
void PrintDialogGtk::ShowDialog(
+ gfx::NativeView parent_view,
bool has_selection,
const PrintingContextGtk::PrintSettingsCallback& callback) {
callback_ = callback;
- GtkWindow* parent = BrowserList::GetLastActive()->window()->GetNativeHandle();
+ GtkWindow* parent = GTK_WINDOW(gtk_widget_get_toplevel(parent_view));
// TODO(estade): We need a window title here.
dialog_ = gtk_print_unix_dialog_new(NULL, parent);
g_signal_connect(dialog_, "delete-event",
diff --git a/chrome/browser/printing/print_dialog_gtk.h b/chrome/browser/printing/print_dialog_gtk.h
index b92c466..e5d4370 100644
--- a/chrome/browser/printing/print_dialog_gtk.h
+++ b/chrome/browser/printing/print_dialog_gtk.h
@@ -41,6 +41,7 @@ class PrintDialogGtk
const printing::PageRanges& ranges,
printing::PrintSettings* settings) OVERRIDE;
virtual void ShowDialog(
+ gfx::NativeView parent_view,
bool has_selection,
const PrintingContextGtk::PrintSettingsCallback& callback) OVERRIDE;
virtual void PrintDocument(const printing::Metafile* metafile,
diff --git a/printing/print_dialog_gtk_interface.h b/printing/print_dialog_gtk_interface.h
index 41fafe0..46531be 100644
--- a/printing/print_dialog_gtk_interface.h
+++ b/printing/print_dialog_gtk_interface.h
@@ -7,6 +7,7 @@
#include "base/string16.h"
#include "printing/printing_context_gtk.h"
+#include "ui/gfx/native_widget_types.h"
namespace printing {
@@ -32,6 +33,7 @@ class PrintDialogGtkInterface {
// Shows the dialog and handles the response with |callback|. Only used when
// printing with the native print dialog.
virtual void ShowDialog(
+ gfx::NativeView parent_view,
bool has_selection,
const PrintingContextGtk::PrintSettingsCallback& callback) = 0;
diff --git a/printing/printing_context_gtk.cc b/printing/printing_context_gtk.cc
index 2e06c02..4bfa666 100644
--- a/printing/printing_context_gtk.cc
+++ b/printing/printing_context_gtk.cc
@@ -62,7 +62,7 @@ void PrintingContextGtk::AskUserForSettings(
int max_pages,
bool has_selection,
const PrintSettingsCallback& callback) {
- print_dialog_->ShowDialog(has_selection, callback);
+ print_dialog_->ShowDialog(parent_view, has_selection, callback);
}
PrintingContext::Result PrintingContextGtk::UseDefaultSettings() {