Index: chrome/browser/printing/printing_message_filter.cc |
=================================================================== |
--- chrome/browser/printing/printing_message_filter.cc (revision 138102) |
+++ chrome/browser/printing/printing_message_filter.cc (working copy) |
@@ -76,8 +76,9 @@ |
} // namespace |
-PrintingMessageFilter::PrintingMessageFilter() |
- : print_job_manager_(g_browser_process->print_job_manager()) { |
+PrintingMessageFilter::PrintingMessageFilter(int render_process_id) |
+ : print_job_manager_(g_browser_process->print_job_manager()), |
+ render_process_id_(render_process_id) { |
} |
PrintingMessageFilter::~PrintingMessageFilter() { |
@@ -155,7 +156,8 @@ |
} |
} |
-void PrintingMessageFilter::OnTempFileForPrintingWritten(int sequence_number) { |
+void PrintingMessageFilter::OnTempFileForPrintingWritten(int render_view_id, |
+ int sequence_number) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
SequenceToPathMap* map = &g_printing_file_descriptor_map.Get().map; |
SequenceToPathMap::iterator it = map->find(sequence_number); |
@@ -165,7 +167,12 @@ |
return; |
} |
+ content::RenderViewHost* view = content::RenderViewHost::FromID( |
+ render_process_id_, render_view_id); |
+ content::WebContents* wc = view->GetDelegate()->GetAsWebContents(); |
print_dialog_cloud::CreatePrintDialogForFile( |
+ wc->GetBrowserContext(), |
+ wc->GetView()->GetTopLevelNativeWindow(), |
it->second, |
string16(), |
string16(), |