Index: chrome/browser/printing/printing_message_filter.cc |
diff --git a/chrome/browser/printing/printing_message_filter.cc b/chrome/browser/printing/printing_message_filter.cc |
index 79a11949918868e2ebce2dfef05ea61656d221f5..5b48b891b85b0aa715f72bc40615af2dba2f786c 100644 |
--- a/chrome/browser/printing/printing_message_filter.cc |
+++ b/chrome/browser/printing/printing_message_filter.cc |
@@ -10,13 +10,13 @@ |
#include "chrome/browser/browser_process.h" |
#include "chrome/browser/printing/printer_query.h" |
#include "chrome/browser/printing/print_job_manager.h" |
+#include "chrome/browser/printing/printing_ui_web_contents_observer.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/profiles/profile_io_data.h" |
#include "chrome/common/print_messages.h" |
#include "content/public/browser/browser_thread.h" |
#include "content/public/browser/render_view_host.h" |
#include "content/public/browser/web_contents.h" |
-#include "content/public/browser/web_contents_view.h" |
#if defined(ENABLE_FULL_PRINTING) |
#include "chrome/browser/ui/webui/print_preview/print_preview_ui.h" |
@@ -30,6 +30,7 @@ |
#include "base/file_util.h" |
#include "base/lazy_instance.h" |
#include "chrome/browser/printing/print_dialog_cloud.h" |
+#include "content/public/browser/web_contents_view.h" |
#endif |
#if defined(OS_ANDROID) |
@@ -273,10 +274,12 @@ void PrintingMessageFilter::GetPrintSettingsForRenderView( |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
content::WebContents* wc = GetWebContentsForRenderView(render_view_id); |
if (wc) { |
+ scoped_ptr<PrintingUIWebContentsObserver> wc_observer( |
+ new PrintingUIWebContentsObserver(wc)); |
BrowserThread::PostTask( |
BrowserThread::IO, FROM_HERE, |
base::Bind(&printing::PrinterQuery::GetSettings, printer_query, |
- params.ask_user_for_settings, wc->GetView()->GetNativeView(), |
+ params.ask_user_for_settings, base::Passed(&wc_observer), |
params.expected_page_count, params.has_selection, |
params.margin_type, callback)); |
} else { |