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

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

Issue 2969383003: Print Preview: Finish removing global Javascript functions. (Closed)
Patch Set: Fix test Created 3 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/preview_generator.js
diff --git a/chrome/browser/resources/print_preview/preview_generator.js b/chrome/browser/resources/print_preview/preview_generator.js
index 988033026539d9ccc9eb48de2c2854a44dee283a..aaff184f5673c9bd3454499d9f6c7041bd4301ca 100644
--- a/chrome/browser/resources/print_preview/preview_generator.js
+++ b/chrome/browser/resources/print_preview/preview_generator.js
@@ -135,15 +135,6 @@ cr.define('print_preview', function() {
* @private
*/
this.selectedDestination_ = null;
-
- /**
- * Event tracker used to keep track of native layer events.
- * @type {!EventTracker}
- * @private
- */
- this.tracker_ = new EventTracker();
-
- this.addEventListeners_();
}
/**
@@ -170,6 +161,21 @@ cr.define('print_preview', function() {
PreviewGenerator.prototype = {
__proto__: cr.EventTarget.prototype,
+ /**
+ * Starts listening for relevant WebUI events and adds the listeners to
+ * |listenerTracker|. |listenerTracker| is responsible for removing the
+ * listeners when necessary.
+ * @param {!WebUIListenerTracker} listenerTracker
+ */
+ addWebUIEventListeners: function(listenerTracker) {
+ listenerTracker.add(
+ 'page-count-ready', this.onPageCountReady_.bind(this));
+ listenerTracker.add(
+ 'page-layout-ready', this.onPageLayoutReady_.bind(this));
+ listenerTracker.add(
+ 'page-preview-ready', this.onPagePreviewReady_.bind(this));
+ },
+
/**
* Request that new preview be generated. A preview request will not be
* generated if the print ticket has not changed sufficiently.
@@ -216,31 +222,6 @@ cr.define('print_preview', function() {
};
},
- /** Removes all event listeners that the preview generator has attached. */
- removeEventListeners: function() {
- this.tracker_.removeAll();
- },
-
- /**
- * Adds event listeners to the relevant native layer events.
- * @private
- */
- addEventListeners_: function() {
- var nativeLayerEventTarget = this.nativeLayer_.getEventTarget();
- this.tracker_.add(
- nativeLayerEventTarget,
- print_preview.NativeLayer.EventType.PAGE_LAYOUT_READY,
- this.onPageLayoutReady_.bind(this));
- this.tracker_.add(
- nativeLayerEventTarget,
- print_preview.NativeLayer.EventType.PAGE_COUNT_READY,
- this.onPageCountReady_.bind(this));
- this.tracker_.add(
- nativeLayerEventTarget,
- print_preview.NativeLayer.EventType.PAGE_PREVIEW_READY,
- this.onPagePreviewReady_.bind(this));
- },
-
/**
* Dispatches a PAGE_READY event to signal that a page preview is ready.
* @param {number} previewIndex Index of the page with respect to the pages
@@ -322,70 +303,86 @@ cr.define('print_preview', function() {
/**
* Called when the page layout of the document is ready. Always occurs
* as a result of a preview request.
- * @param {Event} event Contains layout info about the document.
+ * @param {{marginTop: number,
+ * marginLeft: number,
+ * marginBottom: number,
+ * marginRight: number,
+ * contentWidth: number,
+ * contentHeight: number,
+ * printableAreaX: number,
+ * printableAreaY: number,
+ * printableAreaWidth: number,
+ * printableAreaHeight: number,
+ * }} pageLayout Layout information about the document.
+ * @param {boolean} hasCustomPageSizeStyle Whether this document has a
+ * custom page size or style to use.
* @private
*/
- onPageLayoutReady_: function(event) {
+ onPageLayoutReady_: function(pageLayout, hasCustomPageSizeStyle) {
// NOTE: A request ID is not specified, so assuming its for the current
// in-flight request.
var origin = new print_preview.Coordinate2d(
- event.pageLayout.printableAreaX, event.pageLayout.printableAreaY);
+ pageLayout.printableAreaX, pageLayout.printableAreaY);
var size = new print_preview.Size(
- event.pageLayout.printableAreaWidth,
- event.pageLayout.printableAreaHeight);
+ pageLayout.printableAreaWidth, pageLayout.printableAreaHeight);
var margins = new print_preview.Margins(
- Math.round(event.pageLayout.marginTop),
- Math.round(event.pageLayout.marginRight),
- Math.round(event.pageLayout.marginBottom),
- Math.round(event.pageLayout.marginLeft));
+ Math.round(pageLayout.marginTop), Math.round(pageLayout.marginRight),
+ Math.round(pageLayout.marginBottom),
+ Math.round(pageLayout.marginLeft));
var o = print_preview.ticket_items.CustomMarginsOrientation;
var pageSize = new print_preview.Size(
- event.pageLayout.contentWidth + margins.get(o.LEFT) +
- margins.get(o.RIGHT),
- event.pageLayout.contentHeight + margins.get(o.TOP) +
+ pageLayout.contentWidth + margins.get(o.LEFT) + margins.get(o.RIGHT),
+ pageLayout.contentHeight + margins.get(o.TOP) +
margins.get(o.BOTTOM));
this.documentInfo_.updatePageInfo(
new print_preview.PrintableArea(origin, size), pageSize,
- event.hasCustomPageSizeStyle, margins);
+ hasCustomPageSizeStyle, margins);
},
/**
* Called when the document page count is received from the native layer.
* Always occurs as a result of a preview request.
- * @param {Event} event Contains the document's page count.
+ * @param {number} pageCount The document's page count.
+ * @param {number} previewResponseId The request ID that corresponds to this
+ * page count.
+ * @param {number} fitToPageScaling The scaling required to fit the document
+ * to page (unused).
* @private
*/
- onPageCountReady_: function(event) {
- if (this.inFlightRequestId_ != event.previewResponseId) {
+ onPageCountReady_: function(
+ pageCount, previewResponseId, fitToPageScaling) {
+ if (this.inFlightRequestId_ != previewResponseId) {
return; // Ignore old response.
}
- this.documentInfo_.updatePageCount(event.pageCount);
+ this.documentInfo_.updatePageCount(pageCount);
this.pageRanges_ = this.printTicketStore_.pageRange.getPageRanges();
},
/**
* Called when a page's preview has been generated. Dispatches a
* PAGE_READY event.
- * @param {Event} event Contains the page index and preview UID.
+ * @param {number} pageIndex The index of the page whose preview is ready.
+ * @param {number} previewUid The unique ID of the print preview UI.
+ * @param {number} previewResponseId The preview request ID that this page
+ * preview is a response to.
* @private
*/
- onPagePreviewReady_: function(event) {
- if (this.inFlightRequestId_ != event.previewResponseId) {
+ onPagePreviewReady_: function(pageIndex, previewUid, previewResponseId) {
+ if (this.inFlightRequestId_ != previewResponseId) {
return; // Ignore old response.
}
- var pageNumber = event.pageIndex + 1;
+ var pageNumber = pageIndex + 1;
var pageNumberSet = this.printTicketStore_.pageRange.getPageNumberSet();
if (pageNumberSet.hasPageNumber(pageNumber)) {
var previewIndex = pageNumberSet.getPageNumberIndex(pageNumber);
if (previewIndex == 0) {
- this.dispatchPreviewStartEvent_(event.previewUid, event.pageIndex);
+ this.dispatchPreviewStartEvent_(previewUid, pageIndex);
}
- this.dispatchPageReadyEvent_(
- previewIndex, pageNumber, event.previewUid);
+ this.dispatchPageReadyEvent_(previewIndex, pageNumber, previewUid);
}
},

Powered by Google App Engine
This is Rietveld 408576698