summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authormaruel@chromium.org <maruel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-29 16:58:07 +0000
committermaruel@chromium.org <maruel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-29 16:58:07 +0000
commit06863722bd6272ce893ba36060a80de7390be326 (patch)
tree439960d981de2b4f06cedacff864fe996a5c4167 /chrome/renderer
parente38ae0bdf147bfda8f000ea6181eed0280c0e2fd (diff)
downloadchromium_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.cc29
-rw-r--r--chrome/renderer/render_view.h4
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,