Index: chrome/test/data/webui/print_preview/native_layer_stub.js |
diff --git a/chrome/test/data/webui/print_preview/native_layer_stub.js b/chrome/test/data/webui/print_preview/native_layer_stub.js |
index e95b7081b86f6304ad6f47ece2d35f4d981019c4..4cf8a13917efc3111678b51ba8bf2e888f519f92 100644 |
--- a/chrome/test/data/webui/print_preview/native_layer_stub.js |
+++ b/chrome/test/data/webui/print_preview/native_layer_stub.js |
@@ -20,12 +20,6 @@ cr.define('print_preview', function() { |
'setupPrinter' |
]); |
- /** |
- * @private {!cr.EventTarget} The event target used for dispatching and |
- * receiving events. |
- */ |
- this.eventTarget_ = new cr.EventTarget(); |
- |
/** |
* @private {!print_preview.NativeInitialSettings} The initial settings |
* to be used for the response to a |getInitialSettings| call. |
@@ -95,12 +89,33 @@ cr.define('print_preview', function() { |
generateDraft: generateDraft, |
requestId: requestId, |
}); |
- var rejectString = print_preview.PreviewArea.EventType.SETTINGS_INVALID; |
- rejectString = rejectString.substring( |
- rejectString.lastIndexOf(".") + 1, rejectString.length); |
- return destination.id == this.badPrinterId_ ? |
- Promise.reject(rejectString) : |
- Promise.resolve(requestId); |
+ if (destination.id == this.badPrinterId_) { |
+ var rejectString = print_preview.PreviewArea.EventType.SETTINGS_INVALID; |
+ rejectString = rejectString.substring( |
+ rejectString.lastIndexOf('.') + 1, rejectString.length); |
+ return Promise.reject(rejectString); |
+ } |
+ var pageRanges = printTicketStore.pageRange.getDocumentPageRanges(); |
+ if (pageRanges.length == 0) { // assume full length document, 1 page. |
+ cr.webUIListenerCallback('page-count-ready', 1, requestId, 100); |
+ cr.webUIListenerCallback('page-preview-ready', 0, 0, requestId); |
+ } else { |
+ var pages = []; |
+ var totalPages = 0; |
+ pageRanges.forEach(function(range) { |
+ for (var page = range.from; page <= range.to; page++) { |
+ pages[totalPages] = page; |
+ totalPages++; |
+ } |
+ }); |
+ cr.webUIListenerCallback( |
+ 'page-count-ready', totalPages, requestId, 100); |
+ pages.forEach(function(page) { |
+ cr.webUIListenerCallback( |
+ 'page-preview-ready', page - 1, 0, requestId); |
+ }); |
+ } |
+ return Promise.resolve(requestId); |
}, |
/** @override */ |
@@ -136,17 +151,8 @@ cr.define('print_preview', function() { |
}, |
/** Stubs for |print_preview.NativeLayer| methods that call C++ handlers. */ |
- previewReadyForTest: function() {}, |
startHideDialog: function () {}, |
- /** @return {!cr.EventTarget} The native layer event target. */ |
- getEventTarget: function() { return this.eventTarget_; }, |
- |
- /** @param {!cr.EventTarget} eventTarget The event target to use. */ |
- setEventTarget: function(eventTarget) { |
- this.eventTarget_ = eventTarget; |
- }, |
- |
/** |
* @param {!print_preview.NativeInitialSettings} settings The settings |
* to return as a response to |getInitialSettings|. |