diff --git a/pdf/out_of_process_instance.cc b/pdf/out_of_process_instance.cc
index af5d1a506fbb..839d5007f7dd 100644
--- a/pdf/out_of_process_instance.cc
+++ b/pdf/out_of_process_instance.cc
@@ -48,6 +48,7 @@ namespace chrome_pdf {
 const char kChromePrint[] = "chrome://print/";
 const char kChromeExtension[] =
     "chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai";
+const char kChromeUIPdfViewer[] = "chrome://pdf-viewer";
 
 // Constants used in handling postMessage() messages.
 const char kType[] = "type";
@@ -323,7 +324,8 @@ bool OutOfProcessInstance::Init(uint32_t argc,
   std::string document_url = document_url_var.AsString();
   base::StringPiece document_url_piece(document_url);
   if (!document_url_piece.starts_with(kChromeExtension) &&
-      !document_url_piece.starts_with(kChromePrint)) {
+      !document_url_piece.starts_with(kChromePrint) &&
+      !document_url_piece.starts_with(kChromeUIPdfViewer)) {
     return false;
   }
 

diff --git a/pdf/out_of_process_instance.cc b/pdf/out_of_process_instance.cc
index 1fa0964..06e5ad8 100644
--- a/pdf/out_of_process_instance.cc
+++ b/pdf/out_of_process_instance.cc
@@ -336,6 +336,7 @@ bool OutOfProcessInstance::Init(uint32_t argc,
   base::StringPiece document_url_piece(document_url);
   is_print_preview_ = document_url_piece.starts_with(kChromePrint);
   if (!document_url_piece.starts_with(kChromeExtension) &&
+      !document_url_piece.starts_with("chrome://pdf-viewer") &&
       !is_print_preview_) {
     return false;
   }

Update patch for Chrome 56
Update patch for Chrome 56
