| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/basictypes.h" | 5 #include "base/basictypes.h" |
| 6 | 6 |
| 7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
| 8 #include "base/shared_memory.h" | 8 #include "base/shared_memory.h" |
| 9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
| 10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
| (...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 393 GetMainFrame()->contentAsText(kMaxOutputCharacters)); | 393 GetMainFrame()->contentAsText(kMaxOutputCharacters)); |
| 394 EXPECT_EQ(output, kTextDirection[i].expected_result); | 394 EXPECT_EQ(output, kTextDirection[i].expected_result); |
| 395 } | 395 } |
| 396 } | 396 } |
| 397 | 397 |
| 398 // Tests that printing pages work and sending and receiving messages through | 398 // Tests that printing pages work and sending and receiving messages through |
| 399 // that channel all works. | 399 // that channel all works. |
| 400 TEST_F(RenderViewTest, OnPrintPages) { | 400 TEST_F(RenderViewTest, OnPrintPages) { |
| 401 // Lets simulate a print pages with Hello world. | 401 // Lets simulate a print pages with Hello world. |
| 402 LoadHTML("<body><p>Hello World!</p></body>"); | 402 LoadHTML("<body><p>Hello World!</p></body>"); |
| 403 view_->print_helper_->OnPrintPages(); | 403 PrintWebViewHelper::Get(view_)->OnPrintPages(); |
| 404 | 404 |
| 405 VerifyPageCount(1); | 405 VerifyPageCount(1); |
| 406 VerifyPagesPrinted(true); | 406 VerifyPagesPrinted(true); |
| 407 } | 407 } |
| 408 | 408 |
| 409 // Duplicate of OnPrintPagesTest only using javascript to print. | 409 // Duplicate of OnPrintPagesTest only using javascript to print. |
| 410 TEST_F(RenderViewTest, PrintWithJavascript) { | 410 TEST_F(RenderViewTest, PrintWithJavascript) { |
| 411 // HTML contains a call to window.print() | 411 // HTML contains a call to window.print() |
| 412 LoadHTML(kPrintWithJSHTML); | 412 LoadHTML(kPrintWithJSHTML); |
| 413 | 413 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 425 LoadHTML(kPrintWithJSHTML); | 425 LoadHTML(kPrintWithJSHTML); |
| 426 LoadHTML(kPrintWithJSHTML); | 426 LoadHTML(kPrintWithJSHTML); |
| 427 VerifyPagesPrinted(false); | 427 VerifyPagesPrinted(false); |
| 428 | 428 |
| 429 // Pretend user will print. (but printing is blocked.) | 429 // Pretend user will print. (but printing is blocked.) |
| 430 render_thread_.set_print_dialog_user_response(true); | 430 render_thread_.set_print_dialog_user_response(true); |
| 431 LoadHTML(kPrintWithJSHTML); | 431 LoadHTML(kPrintWithJSHTML); |
| 432 VerifyPagesPrinted(false); | 432 VerifyPagesPrinted(false); |
| 433 | 433 |
| 434 // Unblock script initiated printing and verify printing works. | 434 // Unblock script initiated printing and verify printing works. |
| 435 view_->print_helper_->ResetScriptedPrintCount(); | 435 PrintWebViewHelper::Get(view_)->ResetScriptedPrintCount(); |
| 436 render_thread_.printer()->ResetPrinter(); | 436 render_thread_.printer()->ResetPrinter(); |
| 437 LoadHTML(kPrintWithJSHTML); | 437 LoadHTML(kPrintWithJSHTML); |
| 438 VerifyPageCount(1); | 438 VerifyPageCount(1); |
| 439 VerifyPagesPrinted(true); | 439 VerifyPagesPrinted(true); |
| 440 } | 440 } |
| 441 | 441 |
| 442 #if defined(OS_WIN) || defined(OS_MACOSX) | 442 #if defined(OS_WIN) || defined(OS_MACOSX) |
| 443 // TODO(estade): I don't think this test is worth porting to Linux. We will have | 443 // TODO(estade): I don't think this test is worth porting to Linux. We will have |
| 444 // to rip out and replace most of the IPC code if we ever plan to improve | 444 // to rip out and replace most of the IPC code if we ever plan to improve |
| 445 // printing, and the comment below by sverrir suggests that it doesn't do much | 445 // printing, and the comment below by sverrir suggests that it doesn't do much |
| (...skipping 13 matching lines...) Expand all Loading... |
| 459 // Find the frame and set it as the focused one. This should mean that that | 459 // Find the frame and set it as the focused one. This should mean that that |
| 460 // the printout should only contain the contents of that frame. | 460 // the printout should only contain the contents of that frame. |
| 461 WebFrame* sub1_frame = | 461 WebFrame* sub1_frame = |
| 462 view_->webview()->findFrameByName(WebString::fromUTF8("sub1")); | 462 view_->webview()->findFrameByName(WebString::fromUTF8("sub1")); |
| 463 ASSERT_TRUE(sub1_frame); | 463 ASSERT_TRUE(sub1_frame); |
| 464 view_->webview()->setFocusedFrame(sub1_frame); | 464 view_->webview()->setFocusedFrame(sub1_frame); |
| 465 ASSERT_NE(view_->webview()->focusedFrame(), | 465 ASSERT_NE(view_->webview()->focusedFrame(), |
| 466 view_->webview()->mainFrame()); | 466 view_->webview()->mainFrame()); |
| 467 | 467 |
| 468 // Initiate printing. | 468 // Initiate printing. |
| 469 view_->print_helper_->OnPrintPages(); | 469 PrintWebViewHelper::Get(view_)->OnPrintPages(); |
| 470 | 470 |
| 471 // Verify output through MockPrinter. | 471 // Verify output through MockPrinter. |
| 472 const MockPrinter* printer(render_thread_.printer()); | 472 const MockPrinter* printer(render_thread_.printer()); |
| 473 ASSERT_EQ(1, printer->GetPrintedPages()); | 473 ASSERT_EQ(1, printer->GetPrintedPages()); |
| 474 const printing::Image& image1(printer->GetPrintedPage(0)->image()); | 474 const printing::Image& image1(printer->GetPrintedPage(0)->image()); |
| 475 | 475 |
| 476 // TODO(sverrir): Figure out a way to improve this test to actually print | 476 // TODO(sverrir): Figure out a way to improve this test to actually print |
| 477 // only the content of the iframe. Currently image1 will contain the full | 477 // only the content of the iframe. Currently image1 will contain the full |
| 478 // page. | 478 // page. |
| 479 EXPECT_NE(0, image1.size().width()); | 479 EXPECT_NE(0, image1.size().width()); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 523 // hooking up Cairo to read a pdf stream, or accessing the cairo surface in the | 523 // hooking up Cairo to read a pdf stream, or accessing the cairo surface in the |
| 524 // metafile directly. | 524 // metafile directly. |
| 525 #if defined(OS_WIN) || defined(OS_MACOSX) | 525 #if defined(OS_WIN) || defined(OS_MACOSX) |
| 526 TEST_F(RenderViewTest, PrintLayoutTest) { | 526 TEST_F(RenderViewTest, PrintLayoutTest) { |
| 527 bool baseline = false; | 527 bool baseline = false; |
| 528 | 528 |
| 529 EXPECT_TRUE(render_thread_.printer() != NULL); | 529 EXPECT_TRUE(render_thread_.printer() != NULL); |
| 530 for (size_t i = 0; i < arraysize(kTestPages); ++i) { | 530 for (size_t i = 0; i < arraysize(kTestPages); ++i) { |
| 531 // Load an HTML page and print it. | 531 // Load an HTML page and print it. |
| 532 LoadHTML(kTestPages[i].page); | 532 LoadHTML(kTestPages[i].page); |
| 533 view_->print_helper_->OnPrintPages(); | 533 PrintWebViewHelper::Get(view_)->OnPrintPages(); |
| 534 | 534 |
| 535 // MockRenderThread::Send() just calls MockRenderThread::OnMsgReceived(). | 535 // MockRenderThread::Send() just calls MockRenderThread::OnMsgReceived(). |
| 536 // So, all IPC messages sent in the above RenderView::OnPrintPages() call | 536 // So, all IPC messages sent in the above RenderView::OnPrintPages() call |
| 537 // has been handled by the MockPrinter object, i.e. this printing job | 537 // has been handled by the MockPrinter object, i.e. this printing job |
| 538 // has been already finished. | 538 // has been already finished. |
| 539 // So, we can start checking the output pages of this printing job. | 539 // So, we can start checking the output pages of this printing job. |
| 540 // Retrieve the number of pages actually printed. | 540 // Retrieve the number of pages actually printed. |
| 541 size_t pages = render_thread_.printer()->GetPrintedPages(); | 541 size_t pages = render_thread_.printer()->GetPrintedPages(); |
| 542 EXPECT_EQ(kTestPages[i].printed_pages, pages); | 542 EXPECT_EQ(kTestPages[i].printed_pages, pages); |
| 543 | 543 |
| (...skipping 687 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1231 LoadHTML("<html><head><meta http-equiv=\"content-language\" " | 1231 LoadHTML("<html><head><meta http-equiv=\"content-language\" " |
| 1232 "content=\" fr , es,en \">" | 1232 "content=\" fr , es,en \">" |
| 1233 "</head><body>A random page with random content.</body></html>"); | 1233 "</head><body>A random page with random content.</body></html>"); |
| 1234 ProcessPendingMessages(); | 1234 ProcessPendingMessages(); |
| 1235 message = render_thread_.sink().GetUniqueMessageMatching( | 1235 message = render_thread_.sink().GetUniqueMessageMatching( |
| 1236 ViewHostMsg_PageContents::ID); | 1236 ViewHostMsg_PageContents::ID); |
| 1237 ASSERT_NE(static_cast<IPC::Message*>(NULL), message); | 1237 ASSERT_NE(static_cast<IPC::Message*>(NULL), message); |
| 1238 ViewHostMsg_PageContents::Read(message, ¶ms); | 1238 ViewHostMsg_PageContents::Read(message, ¶ms); |
| 1239 EXPECT_EQ("fr", params.d); | 1239 EXPECT_EQ("fr", params.d); |
| 1240 } | 1240 } |
| OLD | NEW |