| Index: chrome/renderer/print_web_view_helper.cc
|
| ===================================================================
|
| --- chrome/renderer/print_web_view_helper.cc (revision 75293)
|
| +++ chrome/renderer/print_web_view_helper.cc (working copy)
|
| @@ -32,6 +32,8 @@
|
| using printing::ConvertUnit;
|
| using printing::ConvertUnitDouble;
|
| using WebKit::WebConsoleMessage;
|
| +using WebKit::WebDocument;
|
| +using WebKit::WebElement;
|
| using WebKit::WebFrame;
|
| using WebKit::WebNode;
|
| using WebKit::WebRect;
|
| @@ -121,6 +123,8 @@
|
| bool PrintWebViewHelper::OnMessageReceived(const IPC::Message& message) {
|
| bool handled = true;
|
| IPC_BEGIN_MESSAGE_MAP(PrintWebViewHelper, message)
|
| + IPC_MESSAGE_HANDLER(ViewMsg_PrintForPrintPreview,
|
| + OnPrintForPrintPreview)
|
| IPC_MESSAGE_HANDLER(ViewMsg_PrintPages, OnPrintPages)
|
| IPC_MESSAGE_HANDLER(ViewMsg_PrintingDone, OnPrintingDone)
|
| IPC_MESSAGE_HANDLER(ViewMsg_PrintPreview, OnPrintPreview)
|
| @@ -131,6 +135,25 @@
|
| return handled;
|
| }
|
|
|
| +void PrintWebViewHelper::OnPrintForPrintPreview() {
|
| + if (!render_view()->webview())
|
| + return;
|
| + WebFrame* main_frame = render_view()->webview()->mainFrame();
|
| + if (!main_frame)
|
| + return;
|
| +
|
| + WebDocument document = main_frame->document();
|
| + // <object> with id="pdf-viewer" is created in
|
| + // chrome/browser/resources/print_preview.js
|
| + WebElement element = document.getElementById("pdf-viewer");
|
| + if (element.isNull()) {
|
| + NOTREACHED();
|
| + return;
|
| + }
|
| +
|
| + PrintNode(&element, false, false);
|
| +}
|
| +
|
| void PrintWebViewHelper::OnPrint(bool is_preview) {
|
| DCHECK(render_view()->webview());
|
| if (!render_view()->webview())
|
|
|