summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorkmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-27 22:23:13 +0000
committerkmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-27 22:23:13 +0000
commita0bfea8ac95229c003a3ab56a4f18773ec8f65a9 (patch)
tree5c2cf7030f5ed01feff27ee9e604dfbc94a11cb0 /chrome
parent66e5ef6c89a72264e2e4dded0d40490abbef5b31 (diff)
downloadchromium_src-a0bfea8ac95229c003a3ab56a4f18773ec8f65a9.zip
chromium_src-a0bfea8ac95229c003a3ab56a4f18773ec8f65a9.tar.gz
chromium_src-a0bfea8ac95229c003a3ab56a4f18773ec8f65a9.tar.bz2
Made code changes to support print preview pipeline on windows.
BUG=88762 TEST=print preview works after code changes. Review URL: http://codereview.chromium.org/7461096 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94372 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/resources/print_preview/print_preview.js12
-rw-r--r--chrome/renderer/print_web_view_helper.cc7
-rw-r--r--chrome/renderer/print_web_view_helper_win.cc15
3 files changed, 14 insertions, 20 deletions
diff --git a/chrome/browser/resources/print_preview/print_preview.js b/chrome/browser/resources/print_preview/print_preview.js
index 8d3d52c..f775d9c 100644
--- a/chrome/browser/resources/print_preview/print_preview.js
+++ b/chrome/browser/resources/print_preview/print_preview.js
@@ -74,8 +74,6 @@ var addedCloudPrinters = {};
// The maximum number of cloud printers to allow in the dropdown.
const maxCloudPrinters = 10;
-var isPipeliningSupported = false;
-
/**
* Window onload handler, sets up the page and starts print preview by getting
* the printer list.
@@ -83,8 +81,6 @@ var isPipeliningSupported = false;
function onLoad() {
cr.enablePlatformSpecificCSSRules();
- isPipeliningSupported = !cr.isWindows;
-
if (!checkCompatiblePluginExists()) {
disableInputElementsInSidebar();
displayErrorMessageWithButton(localStrings.getString('noPlugin'),
@@ -776,7 +772,7 @@ function printPreviewFailed() {
* Called when the PDF plugin loads its document.
*/
function onPDFLoad() {
- if (previewModifiable && isPipeliningSupported) {
+ if (previewModifiable) {
setPluginPreviewPageCount();
cr.dispatchSimpleEvent(document, 'updateSummary');
}
@@ -830,7 +826,7 @@ function reloadPreviewPages(previewUid, previewResponseId) {
*/
function onDidPreviewPage(pageNumber, previewUid) {
// Refactor
- if (!previewModifiable || !isPipeliningSupported)
+ if (!previewModifiable)
return;
var pageIndex = pageSettings.previouslySelectedPages.indexOf(pageNumber + 1);
@@ -866,7 +862,7 @@ function updatePrintPreview(jobTitle,
document.title = localStrings.getStringF('printPreviewTitleFormat', jobTitle);
- if (!previewModifiable || !isPipeliningSupported) {
+ if (!previewModifiable) {
// If the preview is not modifiable the plugin has not been created yet.
createPDFPlugin(previewUid);
}
@@ -917,7 +913,7 @@ function createPDFPlugin(previewUid) {
}
// Get the complete preview document.
- var dataIndex = previewModifiable && isPipeliningSupported ? '0' : '-1';
+ var dataIndex = previewModifiable ? '0' : '-1';
pdfViewer = document.createElement('embed');
pdfViewer.setAttribute('id', 'pdf-viewer');
diff --git a/chrome/renderer/print_web_view_helper.cc b/chrome/renderer/print_web_view_helper.cc
index 028fe2d..7ad456f 100644
--- a/chrome/renderer/print_web_view_helper.cc
+++ b/chrome/renderer/print_web_view_helper.cc
@@ -417,11 +417,6 @@ bool PrintWebViewHelper::FinalizePreviewDocument() {
&(preview_params.metafile_data_handle))) {
return false;
}
-#if defined(OS_WIN)
- Send(new PrintHostMsg_DuplicateSection(routing_id(),
- preview_params.metafile_data_handle,
- &preview_params.metafile_data_handle));
-#endif
Send(new PrintHostMsg_PagesReadyForPreview(routing_id(), preview_params));
return true;
}
@@ -916,7 +911,6 @@ void PrintWebViewHelper::RequestPrintPreview() {
void PrintWebViewHelper::PreviewPageRendered(int page_number,
printing::Metafile* metafile) {
-#if !defined(OS_WIN)
if ((page_number == printing::INVALID_PAGE_INDEX && metafile) ||
(page_number >= printing::FIRST_PAGE_INDEX && !metafile &&
print_preview_context_.IsModifiable())) {
@@ -924,7 +918,6 @@ void PrintWebViewHelper::PreviewPageRendered(int page_number,
DidFinishPrinting(FAIL_PREVIEW);
return;
}
-#endif
uint32 buf_size = 0;
PrintHostMsg_DidPreviewPage_Params preview_page_params;
diff --git a/chrome/renderer/print_web_view_helper_win.cc b/chrome/renderer/print_web_view_helper_win.cc
index 7f74acf..477b378 100644
--- a/chrome/renderer/print_web_view_helper_win.cc
+++ b/chrome/renderer/print_web_view_helper_win.cc
@@ -118,9 +118,7 @@ void PrintWebViewHelper::PrintPageInternal(
&(page_params.metafile_data_handle))) {
page_params.data_size = 0;
}
- Send(new PrintHostMsg_DuplicateSection(routing_id(),
- page_params.metafile_data_handle,
- &page_params.metafile_data_handle));
+
Send(new PrintHostMsg_DidPrintPage(routing_id(), page_params));
}
@@ -144,7 +142,12 @@ void PrintWebViewHelper::RenderPreviewPage(int page_number) {
// Release since |print_preview_context_| is the real owner.
metafile.release();
- PreviewPageRendered(page_number, NULL);
+ printing::Metafile* page_metafile = NULL;
+ if (print_preview_context_.IsModifiable()) {
+ page_metafile = reinterpret_cast<printing::PreviewMetafile*>(
+ print_preview_context_.metafile())->GetMetafileForCurrentPage();
+ }
+ PreviewPageRendered(page_number, page_metafile);
}
void PrintWebViewHelper::RenderPage(
@@ -263,7 +266,6 @@ bool PrintWebViewHelper::CopyMetafileDataToSharedMem(
Metafile* metafile, base::SharedMemoryHandle* shared_mem_handle) {
uint32 buf_size = metafile->GetDataSize();
base::SharedMemory shared_buf;
-
// http://msdn2.microsoft.com/en-us/library/ms535522.aspx
// Windows 2000/XP: When a page in a spooled file exceeds approximately 350
// MB, it can fail to print and not send an error message.
@@ -286,5 +288,8 @@ bool PrintWebViewHelper::CopyMetafileDataToSharedMem(
}
shared_buf.GiveToProcess(base::GetCurrentProcessHandle(), shared_mem_handle);
shared_buf.Unmap();
+
+ Send(new PrintHostMsg_DuplicateSection(routing_id(), *shared_mem_handle,
+ shared_mem_handle));
return true;
}