Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6405)

Unified Diff: chrome/renderer/print_web_view_helper_browsertest.cc

Issue 7747033: Merge 97702, 97820, 97976 (Closed) Base URL: svn://chrome-svn/chrome/branches/835/src/
Patch Set: Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/renderer/print_web_view_helper.cc ('k') | chrome/renderer/print_web_view_helper_linux.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/print_web_view_helper_browsertest.cc
===================================================================
--- chrome/renderer/print_web_view_helper_browsertest.cc (revision 98330)
+++ chrome/renderer/print_web_view_helper_browsertest.cc (working copy)
@@ -29,6 +29,10 @@
const char kPrintWithJSHTML[] =
"<body>Hello<script>window.print()</script>World</body>";
+// A longer web page.
+const char kLongPageHTML[] =
+ "<body><img src=\"\" width=10 height=10000 /></body>";
+
// A web page to simulate the print preview page.
const char kPrintPreviewHTML[] =
"<body><p id=\"pdf-viewer\">Hello World!</p></body>";
@@ -41,6 +45,7 @@
dict->SetInteger(printing::kSettingDuplexMode, printing::SIMPLEX);
dict->SetInteger(printing::kSettingCopies, 1);
dict->SetString(printing::kSettingDeviceName, "dummy");
+ dict->SetString(printing::kPreviewUIAddr, "0xb33fbeef");
dict->SetInteger(printing::kPreviewRequestID, 12345);
dict->SetBoolean(printing::kIsFirstRequest, true);
}
@@ -304,6 +309,13 @@
}
protected:
+ void VerifyPrintPreviewCancelled(bool did_cancel) {
+ bool print_preview_cancelled =
+ (render_thread_.sink().GetUniqueMessageMatching(
+ PrintHostMsg_PrintPreviewCancelled::ID) != NULL);
+ EXPECT_EQ(did_cancel, print_preview_cancelled);
+ }
+
void VerifyPrintPreviewFailed(bool did_fail) {
bool print_preview_failed = (render_thread_.sink().GetUniqueMessageMatching(
PrintHostMsg_PrintPreviewFailed::ID) != NULL);
@@ -345,14 +357,8 @@
CreatePrintSettingsDictionary(&dict);
PrintWebViewHelper::Get(view_)->OnPrintPreview(dict);
- // Need to finish simulating print preview.
- // Generate the page and finalize it.
- PrintWebViewHelper::Get(view_)->OnContinuePreview(
- printing::INVALID_PAGE_INDEX);
- PrintWebViewHelper::Get(view_)->OnContinuePreview(
- printing::INVALID_PAGE_INDEX);
-
EXPECT_EQ(0, render_thread_.print_preview_pages_remaining());
+ VerifyPrintPreviewCancelled(false);
VerifyPrintPreviewFailed(false);
VerifyPrintPreviewGenerated(true);
VerifyPagesPrinted(false);
@@ -369,11 +375,31 @@
PrintWebViewHelper::Get(view_)->OnPrintPreview(empty_dict);
EXPECT_EQ(0, render_thread_.print_preview_pages_remaining());
+ VerifyPrintPreviewCancelled(false);
VerifyPrintPreviewFailed(true);
VerifyPrintPreviewGenerated(false);
VerifyPagesPrinted(false);
}
+// Tests that cancelling print preview works.
+TEST_F(PrintWebViewHelperPreviewTest, OnPrintPreviewCancel) {
+ LoadHTML(kLongPageHTML);
+
+ const int kCancelPage = 3;
+ render_thread_.set_print_preview_cancel_page_number(kCancelPage);
+ PrintWebViewHelper::Get(view_)->OnInitiatePrintPreview();
+ // Fill in some dummy values.
+ DictionaryValue dict;
+ CreatePrintSettingsDictionary(&dict);
+ PrintWebViewHelper::Get(view_)->OnPrintPreview(dict);
+
+ EXPECT_EQ(kCancelPage, render_thread_.print_preview_pages_remaining());
+ VerifyPrintPreviewCancelled(true);
+ VerifyPrintPreviewFailed(false);
+ VerifyPrintPreviewGenerated(false);
+ VerifyPagesPrinted(false);
+}
+
// Tests that printing from print preview works and sending and receiving
// messages through that channel all works.
TEST_F(PrintWebViewHelperPreviewTest, OnPrintForPrintPreview) {
« no previous file with comments | « chrome/renderer/print_web_view_helper.cc ('k') | chrome/renderer/print_web_view_helper_linux.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698