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

Side by Side Diff: chrome/browser/resources/print_preview/native_layer.js

Issue 335583004: Added a test that currently is able to print to pdf. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed 'if else' bracket style issues. Created 6 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 cr.define('print_preview', function() { 5 cr.define('print_preview', function() {
6 'use strict'; 6 'use strict';
7 7
8 /** 8 /**
9 * An interface to the native Chromium printing system layer. 9 * An interface to the native Chromium printing system layer.
10 * @constructor 10 * @constructor
11 * @extends {cr.EventTarget} 11 * @extends {cr.EventTarget}
12 */ 12 */
13 function NativeLayer() { 13 function NativeLayer() {
14 cr.EventTarget.call(this); 14 cr.EventTarget.call(this);
15 15
16 // Bind global handlers 16 // Bind global handlers
17 global['setInitialSettings'] = this.onSetInitialSettings_.bind(this); 17 global.setInitialSettings = this.onSetInitialSettings_.bind(this);
18 global['setUseCloudPrint'] = this.onSetUseCloudPrint_.bind(this); 18 global.setUseCloudPrint = this.onSetUseCloudPrint_.bind(this);
19 global['setPrinters'] = this.onSetPrinters_.bind(this); 19 global.setPrinters = this.onSetPrinters_.bind(this);
20 global['updateWithPrinterCapabilities'] = 20 global.updateWithPrinterCapabilities =
21 this.onUpdateWithPrinterCapabilities_.bind(this); 21 this.onUpdateWithPrinterCapabilities_.bind(this);
22 global['failedToGetPrinterCapabilities'] = 22 global.failedToGetPrinterCapabilities =
23 this.onFailedToGetPrinterCapabilities_.bind(this); 23 this.onFailedToGetPrinterCapabilities_.bind(this);
24 global['failedToGetPrivetPrinterCapabilities'] = 24 global.failedToGetPrivetPrinterCapabilities =
25 this.onFailedToGetPrivetPrinterCapabilities_.bind(this); 25 this.onFailedToGetPrivetPrinterCapabilities_.bind(this);
26 global['reloadPrintersList'] = this.onReloadPrintersList_.bind(this); 26 global.reloadPrintersList = this.onReloadPrintersList_.bind(this);
27 global['printToCloud'] = this.onPrintToCloud_.bind(this); 27 global.printToCloud = this.onPrintToCloud_.bind(this);
28 global['fileSelectionCancelled'] = 28 global.fileSelectionCancelled =
29 this.onFileSelectionCancelled_.bind(this); 29 this.onFileSelectionCancelled_.bind(this);
30 global['fileSelectionCompleted'] = 30 global.fileSelectionCompleted =
31 this.onFileSelectionCompleted_.bind(this); 31 this.onFileSelectionCompleted_.bind(this);
32 global['printPreviewFailed'] = this.onPrintPreviewFailed_.bind(this); 32 global.printPreviewFailed = this.onPrintPreviewFailed_.bind(this);
33 global['invalidPrinterSettings'] = 33 global.invalidPrinterSettings =
34 this.onInvalidPrinterSettings_.bind(this); 34 this.onInvalidPrinterSettings_.bind(this);
35 global['onDidGetDefaultPageLayout'] = 35 global.onDidGetDefaultPageLayout =
36 this.onDidGetDefaultPageLayout_.bind(this); 36 this.onDidGetDefaultPageLayout_.bind(this);
37 global['onDidGetPreviewPageCount'] = 37 global.onDidGetPreviewPageCount =
38 this.onDidGetPreviewPageCount_.bind(this); 38 this.onDidGetPreviewPageCount_.bind(this);
39 global['onDidPreviewPage'] = this.onDidPreviewPage_.bind(this); 39 global.onDidPreviewPage = this.onDidPreviewPage_.bind(this);
40 global['updatePrintPreview'] = this.onUpdatePrintPreview_.bind(this); 40 global.updatePrintPreview = this.onUpdatePrintPreview_.bind(this);
41 global['printScalingDisabledForSourcePDF'] = 41 global.printScalingDisabledForSourcePDF =
42 this.onPrintScalingDisabledForSourcePDF_.bind(this); 42 this.onPrintScalingDisabledForSourcePDF_.bind(this);
43 global['onDidGetAccessToken'] = this.onDidGetAccessToken_.bind(this); 43 global.onDidGetAccessToken = this.onDidGetAccessToken_.bind(this);
44 global['autoCancelForTesting'] = this.autoCancelForTesting_.bind(this); 44 global.autoCancelForTesting = this.autoCancelForTesting_.bind(this);
45 global['onPrivetPrinterChanged'] = this.onPrivetPrinterChanged_.bind(this); 45 global.onPrivetPrinterChanged = this.onPrivetPrinterChanged_.bind(this);
46 global['onPrivetCapabilitiesSet'] = 46 global.onPrivetCapabilitiesSet =
47 this.onPrivetCapabilitiesSet_.bind(this); 47 this.onPrivetCapabilitiesSet_.bind(this);
48 global['onPrivetPrintFailed'] = this.onPrivetPrintFailed_.bind(this); 48 global.onPrivetPrintFailed = this.onPrivetPrintFailed_.bind(this);
49 global.onEnableManipulateSettingsForTest =
50 this.onEnableManipulateSettingsForTest_.bind(this);
49 }; 51 };
50 52
51 /** 53 /**
52 * Event types dispatched from the Chromium native layer. 54 * Event types dispatched from the Chromium native layer.
53 * @enum {string} 55 * @enum {string}
54 * @const 56 * @const
55 */ 57 */
56 NativeLayer.EventType = { 58 NativeLayer.EventType = {
57 ACCESS_TOKEN_READY: 'print_preview.NativeLayer.ACCESS_TOKEN_READY', 59 ACCESS_TOKEN_READY: 'print_preview.NativeLayer.ACCESS_TOKEN_READY',
58 CAPABILITIES_SET: 'print_preview.NativeLayer.CAPABILITIES_SET', 60 CAPABILITIES_SET: 'print_preview.NativeLayer.CAPABILITIES_SET',
59 CLOUD_PRINT_ENABLE: 'print_preview.NativeLayer.CLOUD_PRINT_ENABLE', 61 CLOUD_PRINT_ENABLE: 'print_preview.NativeLayer.CLOUD_PRINT_ENABLE',
60 DESTINATIONS_RELOAD: 'print_preview.NativeLayer.DESTINATIONS_RELOAD', 62 DESTINATIONS_RELOAD: 'print_preview.NativeLayer.DESTINATIONS_RELOAD',
61 DISABLE_SCALING: 'print_preview.NativeLayer.DISABLE_SCALING', 63 DISABLE_SCALING: 'print_preview.NativeLayer.DISABLE_SCALING',
62 FILE_SELECTION_CANCEL: 'print_preview.NativeLayer.FILE_SELECTION_CANCEL', 64 FILE_SELECTION_CANCEL: 'print_preview.NativeLayer.FILE_SELECTION_CANCEL',
63 FILE_SELECTION_COMPLETE: 65 FILE_SELECTION_COMPLETE:
64 'print_preview.NativeLayer.FILE_SELECTION_COMPLETE', 66 'print_preview.NativeLayer.FILE_SELECTION_COMPLETE',
65 GET_CAPABILITIES_FAIL: 'print_preview.NativeLayer.GET_CAPABILITIES_FAIL', 67 GET_CAPABILITIES_FAIL: 'print_preview.NativeLayer.GET_CAPABILITIES_FAIL',
66 INITIAL_SETTINGS_SET: 'print_preview.NativeLayer.INITIAL_SETTINGS_SET', 68 INITIAL_SETTINGS_SET: 'print_preview.NativeLayer.INITIAL_SETTINGS_SET',
67 LOCAL_DESTINATIONS_SET: 'print_preview.NativeLayer.LOCAL_DESTINATIONS_SET', 69 LOCAL_DESTINATIONS_SET: 'print_preview.NativeLayer.LOCAL_DESTINATIONS_SET',
70 MANIPULATE_SETTINGS_FOR_TEST:
71 'print_preview.NativeLayer.MANIPULATE_SETTINGS_FOR_TEST',
68 PAGE_COUNT_READY: 'print_preview.NativeLayer.PAGE_COUNT_READY', 72 PAGE_COUNT_READY: 'print_preview.NativeLayer.PAGE_COUNT_READY',
69 PAGE_LAYOUT_READY: 'print_preview.NativeLayer.PAGE_LAYOUT_READY', 73 PAGE_LAYOUT_READY: 'print_preview.NativeLayer.PAGE_LAYOUT_READY',
70 PAGE_PREVIEW_READY: 'print_preview.NativeLayer.PAGE_PREVIEW_READY', 74 PAGE_PREVIEW_READY: 'print_preview.NativeLayer.PAGE_PREVIEW_READY',
71 PREVIEW_GENERATION_DONE: 75 PREVIEW_GENERATION_DONE:
72 'print_preview.NativeLayer.PREVIEW_GENERATION_DONE', 76 'print_preview.NativeLayer.PREVIEW_GENERATION_DONE',
73 PREVIEW_GENERATION_FAIL: 77 PREVIEW_GENERATION_FAIL:
74 'print_preview.NativeLayer.PREVIEW_GENERATION_FAIL', 78 'print_preview.NativeLayer.PREVIEW_GENERATION_FAIL',
75 PRINT_TO_CLOUD: 'print_preview.NativeLayer.PRINT_TO_CLOUD', 79 PRINT_TO_CLOUD: 'print_preview.NativeLayer.PRINT_TO_CLOUD',
76 SETTINGS_INVALID: 'print_preview.NativeLayer.SETTINGS_INVALID', 80 SETTINGS_INVALID: 'print_preview.NativeLayer.SETTINGS_INVALID',
77 PRIVET_PRINTER_CHANGED: 'print_preview.NativeLayer.PRIVET_PRINTER_CHANGED', 81 PRIVET_PRINTER_CHANGED: 'print_preview.NativeLayer.PRIVET_PRINTER_CHANGED',
78 PRIVET_CAPABILITIES_SET: 82 PRIVET_CAPABILITIES_SET:
79 'print_preview.NativeLayer.PRIVET_CAPABILITIES_SET', 83 'print_preview.NativeLayer.PRIVET_CAPABILITIES_SET',
80 PRIVET_PRINT_FAILED: 'print_preview.NativeLayer.PRIVET_PRINT_FAILED' 84 PRIVET_PRINT_FAILED: 'print_preview.NativeLayer.PRIVET_PRINT_FAILED',
81 }; 85 };
82 86
83 /** 87 /**
84 * Constant values matching printing::DuplexMode enum. 88 * Constant values matching printing::DuplexMode enum.
85 * @enum {number} 89 * @enum {number}
86 */ 90 */
87 NativeLayer.DuplexMode = { 91 NativeLayer.DuplexMode = {
88 SIMPLEX: 0, 92 SIMPLEX: 0,
89 LONG_EDGE: 1, 93 LONG_EDGE: 1,
90 UNKNOWN_DUPLEX_MODE: -1 94 UNKNOWN_DUPLEX_MODE: -1
(...skipping 574 matching lines...) Expand 10 before | Expand all | Expand 10 after
665 /** 669 /**
666 * @param {string} http_error The HTTP response code or -1 if not an HTTP 670 * @param {string} http_error The HTTP response code or -1 if not an HTTP
667 * error. 671 * error.
668 * @private 672 * @private
669 */ 673 */
670 onPrivetPrintFailed_: function(http_error) { 674 onPrivetPrintFailed_: function(http_error) {
671 var privetPrintFailedEvent = 675 var privetPrintFailedEvent =
672 new Event(NativeLayer.EventType.PRIVET_PRINT_FAILED); 676 new Event(NativeLayer.EventType.PRIVET_PRINT_FAILED);
673 privetPrintFailedEvent.httpError = http_error; 677 privetPrintFailedEvent.httpError = http_error;
674 this.dispatchEvent(privetPrintFailedEvent); 678 this.dispatchEvent(privetPrintFailedEvent);
679 },
680
681 /**
682 * Function that allows for onManipulateSettings to be called
683 * from the native layer.
684 * @private
685 */
686 onEnableManipulateSettingsForTest_: function() {
687 global.onManipulateSettingsForTest =
688 this.onManipulateSettingsForTest_.bind(this);
689 },
690
691 /**
692 * Function that dispatches an event to print_preview.js to change
693 * a particular setting for print preview.
694 * @param {!Object} settings Object containing the value to be
695 * changed and that value should be set to.
696 * @private
697 */
698 onManipulateSettingsForTest_: function(settings) {
699 var manipulateSettingsEvent =
700 new Event(NativeLayer.EventType.MANIPULATE_SETTINGS_FOR_TEST);
701 manipulateSettingsEvent.settings = settings;
702 this.dispatchEvent(manipulateSettingsEvent);
703 },
704
705 /**
706 * Function that sends a message to the test, letting it know that an
707 * option has been set to a particular value and that the change has
708 * finished modifying the preview area.
709 */
710 previewReadyForTest: function() {
711 if (global.onManipulateSettingsForTest)
712 chrome.send('UILoadedForTest');
713 },
714
715 /**
716 * Function that notifies the test that the option it tried to change
717 * had not been changed successfully.
718 */
719 previewFailedForTest: function() {
720 chrome.send('UIFailedLoadingForTest');
Aleksey Shlyapnikov 2014/06/20 22:13:49 if (global.onManipulateSettingsForTest) chrome.s
ivandavid 2014/06/24 18:49:52 Done.
675 } 721 }
676 }; 722 };
677 723
678 /** 724 /**
679 * Initial settings retrieved from the native layer. 725 * Initial settings retrieved from the native layer.
680 * @param {boolean} isInKioskAutoPrintMode Whether the print preview should be 726 * @param {boolean} isInKioskAutoPrintMode Whether the print preview should be
681 * in auto-print mode. 727 * in auto-print mode.
682 * @param {string} thousandsDelimeter Character delimeter of thousands digits. 728 * @param {string} thousandsDelimeter Character delimeter of thousands digits.
683 * @param {string} decimalDelimeter Character delimeter of the decimal point. 729 * @param {string} decimalDelimeter Character delimeter of the decimal point.
684 * @param {!print_preview.MeasurementSystem.UnitType} unitType Unit type of 730 * @param {!print_preview.MeasurementSystem.UnitType} unitType Unit type of
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
850 return this.serializedAppStateStr_; 896 return this.serializedAppStateStr_;
851 } 897 }
852 }; 898 };
853 899
854 // Export 900 // Export
855 return { 901 return {
856 NativeInitialSettings: NativeInitialSettings, 902 NativeInitialSettings: NativeInitialSettings,
857 NativeLayer: NativeLayer 903 NativeLayer: NativeLayer
858 }; 904 };
859 }); 905 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698