Commit 3a4851de authored by Lei Zhang's avatar Lei Zhang Committed by Commit Bot

Combine calls to PrintPreviewUI methods.

Encapsulate ClearAllPreviewData() and SetPrintPreviewDataForIndex().

Change-Id: I0ad046aef0ffcf098cc783bc177a8597c1c973c5
Reviewed-on: https://chromium-review.googlesource.com/1188778
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588269}
parent cde64687
......@@ -108,7 +108,6 @@ void PrintPreviewMessageHandler::OnDidStartPreview(
if (!print_preview_ui)
return;
print_preview_ui->ClearAllPreviewData();
print_preview_ui->OnDidStartPreview(params, ids.request_id);
}
......@@ -256,9 +255,8 @@ void PrintPreviewMessageHandler::NotifyUIPreviewPageReady(
if (PrintPreviewUI::ShouldCancelRequest(ids))
return;
print_preview_ui->SetPrintPreviewDataForIndex(page_number,
std::move(data_bytes));
print_preview_ui->OnDidPreviewPage(page_number, ids.request_id);
print_preview_ui->OnDidPreviewPage(page_number, std::move(data_bytes),
ids.request_id);
}
void PrintPreviewMessageHandler::NotifyUIPreviewDocumentReady(
......@@ -273,9 +271,8 @@ void PrintPreviewMessageHandler::NotifyUIPreviewDocumentReady(
if (PrintPreviewUI::ShouldCancelRequest(ids))
return;
print_preview_ui->SetPrintPreviewDataForIndex(COMPLETE_PREVIEW_DOCUMENT_INDEX,
std::move(data_bytes));
print_preview_ui->OnPreviewDataIsAvailable(page_count, ids.request_id);
print_preview_ui->OnPreviewDataIsAvailable(page_count, std::move(data_bytes),
ids.request_id);
}
void PrintPreviewMessageHandler::OnCompositePdfPageDone(
......
......@@ -697,6 +697,9 @@ void PrintPreviewUI::OnDidStartPreview(
const PrintHostMsg_DidStartPreview_Params& params,
int request_id) {
DCHECK_GT(params.page_count, 0);
ClearAllPreviewData();
if (g_testing_delegate)
g_testing_delegate->DidGetPreviewPageCount(params.page_count);
handler_->SendPageCountReady(params.page_count, params.fit_to_page_scaling,
......@@ -732,16 +735,23 @@ void PrintPreviewUI::OnDidGetDefaultPageLayout(
handler_->SendPageLayoutReady(layout, has_custom_page_size_style, request_id);
}
void PrintPreviewUI::OnDidPreviewPage(int page_number,
int preview_request_id) {
void PrintPreviewUI::OnDidPreviewPage(
int page_number,
scoped_refptr<base::RefCountedMemory> data,
int preview_request_id) {
DCHECK_GE(page_number, 0);
SetPrintPreviewDataForIndex(page_number, std::move(data));
if (g_testing_delegate)
g_testing_delegate->DidRenderPreviewPage(web_ui()->GetWebContents());
handler_->SendPagePreviewReady(page_number, id_, preview_request_id);
}
void PrintPreviewUI::OnPreviewDataIsAvailable(int expected_pages_count,
int preview_request_id) {
void PrintPreviewUI::OnPreviewDataIsAvailable(
int expected_pages_count,
scoped_refptr<base::RefCountedMemory> data,
int preview_request_id) {
VLOG(1) << "Print preview request finished with "
<< expected_pages_count << " pages";
......@@ -755,6 +765,10 @@ void PrintPreviewUI::OnPreviewDataIsAvailable(int expected_pages_count,
handler_->regenerate_preview_request_count());
initial_preview_start_time_ = base::TimeTicks();
}
SetPrintPreviewDataForIndex(printing::COMPLETE_PREVIEW_DOCUMENT_INDEX,
std::move(data));
handler_->OnPrintPreviewReady(id_, preview_request_id);
}
......@@ -828,3 +842,13 @@ void PrintPreviewUI::SendManipulateSettingsForTest(
const base::DictionaryValue& settings) {
handler_->SendManipulateSettingsForTest(settings);
}
void PrintPreviewUI::SetPrintPreviewDataForIndexForTest(
int index,
scoped_refptr<base::RefCountedMemory> data) {
SetPrintPreviewDataForIndex(index, data);
}
void PrintPreviewUI::ClearAllPreviewDataForTest() {
ClearAllPreviewData();
}
......@@ -49,15 +49,6 @@ class PrintPreviewUI : public ConstrainedWebDialogUI {
int index,
scoped_refptr<base::RefCountedMemory>* data) const;
// Sets the print preview |data|. |index| is zero-based, and can be
// |printing::COMPLETE_PREVIEW_DOCUMENT_INDEX| to set the entire preview
// document.
void SetPrintPreviewDataForIndex(int index,
scoped_refptr<base::RefCountedMemory> data);
// Clear the existing print preview data.
void ClearAllPreviewData();
// Setters
void SetInitiatorTitle(const base::string16& initiator_title);
......@@ -97,13 +88,16 @@ class PrintPreviewUI : public ConstrainedWebDialogUI {
int request_id);
// Notifies the Web UI that the 0-based page |page_number| has been rendered.
// |preview_request_id| indicates wich request resulted in this response.
void OnDidPreviewPage(int page_number, int preview_request_id);
// |preview_request_id| indicates which request resulted in this response.
void OnDidPreviewPage(int page_number,
scoped_refptr<base::RefCountedMemory> data,
int preview_request_id);
// Notifies the Web UI renderer that preview data is available.
// |expected_pages_count| specifies the total number of pages.
// |preview_request_id| indicates which request resulted in this response.
void OnPreviewDataIsAvailable(int expected_pages_count,
scoped_refptr<base::RefCountedMemory> data,
int preview_request_id);
// Notifies the Web UI that the print preview failed to render for the request
......@@ -164,6 +158,14 @@ class PrintPreviewUI : public ConstrainedWebDialogUI {
// to set the print preview settings contained in |settings|.
void SendManipulateSettingsForTest(const base::DictionaryValue& settings);
// See SetPrintPreviewDataForIndex().
void SetPrintPreviewDataForIndexForTest(
int index,
scoped_refptr<base::RefCountedMemory> data);
// See ClearAllPreviewData().
void ClearAllPreviewDataForTest();
protected:
// Alternate constructor for tests
PrintPreviewUI(content::WebUI* web_ui,
......@@ -174,6 +176,15 @@ class PrintPreviewUI : public ConstrainedWebDialogUI {
TitleAfterReload);
friend class FakePrintPreviewUI;
// Sets the print preview |data|. |index| is zero-based, and can be
// |printing::COMPLETE_PREVIEW_DOCUMENT_INDEX| to set the entire preview
// document.
void SetPrintPreviewDataForIndex(int index,
scoped_refptr<base::RefCountedMemory> data);
// Clear the existing print preview data.
void ClearAllPreviewData();
base::TimeTicks initial_preview_start_time_;
// The unique ID for this class instance. Stored here to avoid calling
......
......@@ -96,9 +96,8 @@ TEST_F(PrintPreviewUIUnitTest, PrintPreviewData) {
scoped_refptr<base::RefCountedBytes> dummy_data = CreateTestData();
preview_ui->SetPrintPreviewDataForIndex(
printing::COMPLETE_PREVIEW_DOCUMENT_INDEX,
dummy_data.get());
preview_ui->SetPrintPreviewDataForIndexForTest(
printing::COMPLETE_PREVIEW_DOCUMENT_INDEX, dummy_data.get());
preview_ui->GetPrintPreviewDataForIndex(
printing::COMPLETE_PREVIEW_DOCUMENT_INDEX,
&data);
......@@ -106,7 +105,7 @@ TEST_F(PrintPreviewUIUnitTest, PrintPreviewData) {
EXPECT_EQ(dummy_data.get(), data.get());
// Clear the preview data.
preview_ui->ClearAllPreviewData();
preview_ui->ClearAllPreviewDataForTest();
preview_ui->GetPrintPreviewDataForIndex(
printing::COMPLETE_PREVIEW_DOCUMENT_INDEX,
......@@ -142,15 +141,15 @@ TEST_F(PrintPreviewUIUnitTest, PrintPreviewDraftPages) {
scoped_refptr<base::RefCountedBytes> dummy_data = CreateTestData();
preview_ui->SetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX,
dummy_data.get());
preview_ui->SetPrintPreviewDataForIndexForTest(printing::FIRST_PAGE_INDEX,
dummy_data.get());
preview_ui->GetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX, &data);
EXPECT_EQ(dummy_data->size(), data->size());
EXPECT_EQ(dummy_data.get(), data.get());
// Set and get the third page data.
preview_ui->SetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX + 2,
dummy_data.get());
preview_ui->SetPrintPreviewDataForIndexForTest(printing::FIRST_PAGE_INDEX + 2,
dummy_data.get());
preview_ui->GetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX + 2,
&data);
EXPECT_EQ(dummy_data->size(), data->size());
......@@ -161,15 +160,15 @@ TEST_F(PrintPreviewUIUnitTest, PrintPreviewDraftPages) {
&data);
EXPECT_FALSE(data);
preview_ui->SetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX + 1,
dummy_data.get());
preview_ui->SetPrintPreviewDataForIndexForTest(printing::FIRST_PAGE_INDEX + 1,
dummy_data.get());
preview_ui->GetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX + 1,
&data);
EXPECT_EQ(dummy_data->size(), data->size());
EXPECT_EQ(dummy_data.get(), data.get());
// Clear the preview data.
preview_ui->ClearAllPreviewData();
preview_ui->ClearAllPreviewDataForTest();
preview_ui->GetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX, &data);
EXPECT_FALSE(data);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment