Chromium Code Reviews| Index: chrome/renderer/printing/chrome_print_web_view_helper_delegate.cc |
| diff --git a/chrome/renderer/printing/chrome_print_web_view_helper_delegate.cc b/chrome/renderer/printing/chrome_print_web_view_helper_delegate.cc |
| index 131555763cfb3035acbf923f5adc617e2a659968..f2141875bced39b4fecb0cee156be60dd74a1ca9 100644 |
| --- a/chrome/renderer/printing/chrome_print_web_view_helper_delegate.cc |
| +++ b/chrome/renderer/printing/chrome_print_web_view_helper_delegate.cc |
| @@ -4,9 +4,13 @@ |
| #include "chrome/renderer/printing/chrome_print_web_view_helper_delegate.h" |
| +#include <vector> |
| + |
| #include "chrome/common/render_messages.h" |
| #include "chrome/renderer/prerender/prerender_helper.h" |
| +#include "content/public/renderer/render_frame.h" |
| #include "content/public/renderer/render_view.h" |
| +#include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h" |
| #include "ipc/ipc_message.h" |
| #include "third_party/WebKit/public/web/WebDocument.h" |
| #include "third_party/WebKit/public/web/WebElement.h" |
| @@ -48,3 +52,20 @@ blink::WebElement ChromePrintWebViewHelperDelegate::GetPdfElement( |
| #endif // defined(ENABLE_EXTENSIONS) |
| return blink::WebElement(); |
| } |
| + |
| +bool ChromePrintWebViewHelperDelegate::OverridePrint( |
| + blink::WebLocalFrame* frame) { |
| + if (!frame->document().isPluginDocument()) |
| + return false; |
| + |
| + std::vector<extensions::MimeHandlerViewContainer*> mime_handlers = |
| + extensions::MimeHandlerViewContainer::FromRenderFrame( |
| + content::RenderFrame::FromWebFrame(frame)); |
| + if (mime_handlers.empty()) |
| + return false; |
| + |
| + base::DictionaryValue message; |
|
raymes
2015/01/22 00:58:57
Please add a comment here with a link to the PDF c
Sam McNally
2015/01/22 03:23:29
Done.
|
| + message.SetString("type", "print"); |
| + mime_handlers.front()->PostMessageFromValue(message); |
| + return true; |
| +} |