diff --git chrome/browser/printing/print_job_worker.cc chrome/browser/printing/print_job_worker.cc
index 47a5b3c2a11e..0a37d7c1e753 100644
--- chrome/browser/printing/print_job_worker.cc
+++ chrome/browser/printing/print_job_worker.cc
@@ -135,6 +135,7 @@ PrintJobWorker::PrintJobWorker(int render_process_id, int render_frame_id)
           PrintingContext::Create(printing_context_delegate_.get())),
       thread_("Printing_Worker") {
   DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
+  printing_context_->set_render_ids(render_process_id, render_frame_id);
 }
 
 PrintJobWorker::~PrintJobWorker() {
diff --git printing/printing_context.h printing/printing_context.h
index 268e03d2b8d4..f1b573207b88 100644
--- printing/printing_context.h
+++ printing/printing_context.h
@@ -134,6 +134,13 @@ class PRINTING_EXPORT PrintingContext {
 
   int job_id() const { return job_id_; }
 
+  void set_render_ids(int render_process_id, int render_frame_id) {
+    render_process_id_ = render_process_id;
+    render_frame_id_ = render_frame_id;
+  }
+  int render_process_id() const { return render_process_id_; }
+  int render_frame_id() const { return render_frame_id_; }
+
  protected:
   explicit PrintingContext(Delegate* delegate);
 
@@ -157,6 +164,10 @@ class PRINTING_EXPORT PrintingContext {
 
   // The job id for the current job. The value is 0 if no jobs are active.
   int job_id_;
+
+  // Routing IDs for the frame that owns this object.
+  int render_process_id_ = 0;
+  int render_frame_id_ = 0;
 };
 
 }  // namespace printing