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

Unified Diff: chrome/browser/resources/print_preview/print_preview.js

Issue 7550022: Print Preview: Fixing behavior of event listeners. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Adding responseID to onDidPreviewPage Created 9 years, 5 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
Index: chrome/browser/resources/print_preview/print_preview.js
diff --git a/chrome/browser/resources/print_preview/print_preview.js b/chrome/browser/resources/print_preview/print_preview.js
index 35ec000338f2f92da3c38462ea19c040f2c210a9..e4da62af92fc563b86fdc01df7479279a9f1fa4d 100644
--- a/chrome/browser/resources/print_preview/print_preview.js
+++ b/chrome/browser/resources/print_preview/print_preview.js
@@ -105,31 +105,13 @@ function onLoad() {
copiesSettings.addEventListeners();
layoutSettings.addEventListeners();
colorSettings.addEventListeners();
+ $('printer-list').onchange = updateControlsWithSelectedPrinterCapabilities;
showLoadingAnimation();
chrome.send('getDefaultPrinter');
}
/**
- * Adds event listeners to the settings controls.
- */
-function addEventListeners() {
- // Controls that require preview rendering.
- $('printer-list').onchange = updateControlsWithSelectedPrinterCapabilities;
-}
-
-/**
- * Removes event listeners from the settings controls.
- */
-function removeEventListeners() {
- if (pageSettings)
- clearTimeout(pageSettings.timerId_);
-
- // Controls that require preview rendering
- $('printer-list').onchange = null;
-}
-
-/**
* Disables the input elements in the sidebar.
*/
function disableInputElementsInSidebar() {
@@ -381,7 +363,6 @@ function requestToPrintDocument() {
if (printToPDF) {
sendPrintDocumentRequest();
} else {
- removeEventListeners();
window.setTimeout(function() { sendPrintDocumentRequest(); }, 1000);
}
}
@@ -425,13 +406,13 @@ function sendPrintDocumentRequest() {
*/
function requestPrintPreview() {
hasPendingPreviewRequest = true;
- removeEventListeners();
printSettings.save();
if (!isTabHidden)
showLoadingAnimation();
var settings = getSettings();
settings.requestID = generatePreviewRequestID();
+ console.log("requestPrintPreview " + settings.requestID);
chrome.send('getPreview', [JSON.stringify(settings)]);
}
@@ -731,7 +712,6 @@ function displayErrorMessage(errorMessage) {
$('dancing-dots-text').classList.add('hidden');
$('error-text').innerHTML = errorMessage;
$('error-text').classList.remove('hidden');
- removeEventListeners();
var pdfViewer = $('pdf-viewer');
if (pdfViewer)
$('mainview').removeChild(pdfViewer);
@@ -793,7 +773,10 @@ function setPluginPreviewPageCount() {
* @param {boolean} isModifiable Indicates whether the previewed document can be
* modified.
*/
-function onDidGetPreviewPageCount(pageCount, isModifiable) {
+function onDidGetPreviewPageCount(pageCount, isModifiable, previewResponseId) {
+ console.log("onDidGetPreviewPageCount " + previewResponseId);
+ if (!isExpectedPreviewResponse(previewResponseId))
+ return;
pageSettings.updateState(pageCount);
previewModifiable = isModifiable;
}
@@ -810,7 +793,6 @@ function reloadPreviewPages(previewUid, previewResponseId) {
return;
cr.dispatchSimpleEvent(document, 'updateSummary');
cr.dispatchSimpleEvent(document, 'updatePrintButton');
- addEventListeners();
hideLoadingAnimation();
var pageSet = pageSettings.previouslySelectedPages;
for (var i = 0; i < pageSet.length; i++)
@@ -824,7 +806,10 @@ function reloadPreviewPages(previewUid, previewResponseId) {
* Called from PrintPreviewUI::OnDidPreviewPage().
* @param {number} pageNumber The page number, 0-based.
*/
-function onDidPreviewPage(pageNumber, previewUid) {
+function onDidPreviewPage(pageNumber, previewUid, previewResponseId) {
+ console.log("onDidPreviewPage " + previewResponseId);
+ if (!isExpectedPreviewResponse(previewResponseId))
+ return;
// Refactor
if (!previewModifiable)
return;
@@ -853,6 +838,7 @@ function onDidPreviewPage(pageNumber, previewUid) {
function updatePrintPreview(jobTitle,
previewUid,
previewResponseId) {
+ console.log("updatePrintPreview" + previewResponseId);
if (!isExpectedPreviewResponse(previewResponseId))
return;
hasPendingPreviewRequest = false;
@@ -869,7 +855,6 @@ function updatePrintPreview(jobTitle,
cr.dispatchSimpleEvent(document, 'updateSummary');
cr.dispatchSimpleEvent(document, 'updatePrintButton');
- addEventListeners();
if (hasPendingPrintDocumentRequest)
requestToPrintPendingDocument();

Powered by Google App Engine
This is Rietveld 408576698