diff options
author | maruel@chromium.org <maruel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-29 16:58:07 +0000 |
---|---|---|
committer | maruel@chromium.org <maruel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-29 16:58:07 +0000 |
commit | 06863722bd6272ce893ba36060a80de7390be326 (patch) | |
tree | 439960d981de2b4f06cedacff864fe996a5c4167 /chrome/renderer | |
parent | e38ae0bdf147bfda8f000ea6181eed0280c0e2fd (diff) | |
download | chromium_src-06863722bd6272ce893ba36060a80de7390be326.zip chromium_src-06863722bd6272ce893ba36060a80de7390be326.tar.gz chromium_src-06863722bd6272ce893ba36060a80de7390be326.tar.bz2 |
Re-land revision 8821 with the ui test fixed.
Disconnect the "browser controlled printing" and always delegate the control flow to the renderer.
Simplify the tests by not using a message loop anymore.
Followup changes will remove more parts that are not needed anymore.
Review URL: http://codereview.chromium.org/19460
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8886 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r-- | chrome/renderer/render_view.cc | 29 | ||||
-rw-r--r-- | chrome/renderer/render_view.h | 4 |
2 files changed, 5 insertions, 28 deletions
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc index b8d321a..45a64dc 100644 --- a/chrome/renderer/render_view.cc +++ b/chrome/renderer/render_view.cc @@ -341,7 +341,6 @@ void RenderView::OnMessageReceived(const IPC::Message& message) { IPC_BEGIN_MESSAGE_MAP(RenderView, message) IPC_MESSAGE_HANDLER(ViewMsg_CreatingNew_ACK, OnCreatingNewAck) IPC_MESSAGE_HANDLER(ViewMsg_CaptureThumbnail, SendThumbnail) - IPC_MESSAGE_HANDLER(ViewMsg_GetPrintedPagesCount, OnGetPrintedPagesCount) IPC_MESSAGE_HANDLER(ViewMsg_PrintPages, OnPrintPages) IPC_MESSAGE_HANDLER(ViewMsg_Navigate, OnNavigate) IPC_MESSAGE_HANDLER(ViewMsg_Stop, OnStop) @@ -515,12 +514,6 @@ void RenderView::SwitchFrameToDisplayMediaType(WebFrame* frame) { printed_document_width_ = 0; } -void RenderView::OnPrintPage(const ViewMsg_PrintPage_Params& params) { - DCHECK(webview()); - if (webview()) - PrintPage(params, webview()->GetMainFrame()); -} - void RenderView::PrintPage(const ViewMsg_PrintPage_Params& params, WebFrame* frame) { #if defined(OS_WIN) @@ -646,26 +639,12 @@ void RenderView::PrintPage(const ViewMsg_PrintPage_Params& params, #endif } -void RenderView::OnGetPrintedPagesCount(const ViewMsg_Print_Params& params) { +void RenderView::OnPrintPages() { DCHECK(webview()); - if (!webview()) { - Send(new ViewHostMsg_DidGetPrintedPagesCount(routing_id_, - params.document_cookie, - 0)); - return; + if (webview()) { + // The renderer own the control flow as if it was a window.print() call. + ScriptedPrint(webview()->GetMainFrame()); } - WebFrame* frame = webview()->GetMainFrame(); - int expected_pages = SwitchFrameToPrintMediaType(params, frame); - Send(new ViewHostMsg_DidGetPrintedPagesCount(routing_id_, - params.document_cookie, - expected_pages)); - SwitchFrameToDisplayMediaType(frame); -} - -void RenderView::OnPrintPages(const ViewMsg_PrintPages_Params& params) { - DCHECK(webview()); - if (webview()) - PrintPages(params, webview()->GetMainFrame()); } void RenderView::PrintPages(const ViewMsg_PrintPages_Params& params, diff --git a/chrome/renderer/render_view.h b/chrome/renderer/render_view.h index c7f5384..ffd551e 100644 --- a/chrome/renderer/render_view.h +++ b/chrome/renderer/render_view.h @@ -398,9 +398,7 @@ class RenderView : public RenderWidget, // RenderView IPC message handlers void OnCreatingNewAck(gfx::NativeViewId parent); void SendThumbnail(); - void OnPrintPage(const ViewMsg_PrintPage_Params& params); - void OnGetPrintedPagesCount(const ViewMsg_Print_Params& params); - void OnPrintPages(const ViewMsg_PrintPages_Params& params); + void OnPrintPages(); void OnNavigate(const ViewMsg_Navigate_Params& params); void OnStop(); void OnLoadAlternateHTMLText(const std::string& html_contents, |