| OLD | NEW | 
|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 /** | 5 /** | 
| 6  * Overrided metadata worker's path. | 6  * Overrided metadata worker's path. | 
| 7  * @type {string} | 7  * @type {string} | 
| 8  */ | 8  */ | 
| 9 ContentMetadataProvider.WORKER_SCRIPT = '/js/metadata_worker.js'; | 9 ContentMetadataProvider.WORKER_SCRIPT = '/js/metadata_worker.js'; | 
| 10 | 10 | 
| 11 /** | 11 /** | 
| 12  * Gallery for viewing and editing image files. | 12  * Gallery for viewing and editing image files. | 
| 13  * | 13  * | 
| 14  * @param {!VolumeManagerWrapper} volumeManager | 14  * @param {!VolumeManagerWrapper} volumeManager | 
| 15  * @constructor | 15  * @constructor | 
| 16  * @struct | 16  * @struct | 
| 17  */ | 17  */ | 
| 18 function Gallery(volumeManager) { | 18 function Gallery(volumeManager) { | 
| 19   /** | 19   /** | 
| 20    * @type {{appWindow: chrome.app.window.AppWindow, readonlyDirName: string, | 20    * @type {{appWindow: chrome.app.window.AppWindow, readonlyDirName: string, | 
| 21    *     displayStringFunction: function(), loadTimeData: Object}} | 21    *     displayStringFunction: function(), loadTimeData: Object}} | 
| 22    * @private | 22    * @private | 
| 23    */ | 23    */ | 
| 24   this.context_ = { | 24   this.context_ = { | 
| 25     appWindow: chrome.app.window.current(), | 25     appWindow: chrome.app.window.current(), | 
| 26     readonlyDirName: '', | 26     readonlyDirName: '', | 
| 27     displayStringFunction: function() { return ''; }, | 27     displayStringFunction: function() { return ''; }, | 
| 28     loadTimeData: {}, | 28     loadTimeData: {}, | 
| 29   }; | 29   }; | 
| 30   this.container_ = queryRequiredElement(document, '.gallery'); | 30   this.container_ = queryRequiredElement('.gallery'); | 
| 31   this.document_ = document; | 31   this.document_ = document; | 
| 32   this.volumeManager_ = volumeManager; | 32   this.volumeManager_ = volumeManager; | 
| 33   /** | 33   /** | 
| 34    * @private {!MetadataModel} | 34    * @private {!MetadataModel} | 
| 35    * @const | 35    * @const | 
| 36    */ | 36    */ | 
| 37   this.metadataModel_ = MetadataModel.create(volumeManager); | 37   this.metadataModel_ = MetadataModel.create(volumeManager); | 
| 38   /** | 38   /** | 
| 39    * @private {!ThumbnailModel} | 39    * @private {!ThumbnailModel} | 
| 40    * @const | 40    * @const | 
| (...skipping 26 matching lines...) Expand all  Loading... | 
| 67    */ | 67    */ | 
| 68   this.changingMode_ = false; | 68   this.changingMode_ = false; | 
| 69 | 69 | 
| 70   // ----------------------------------------------------------------- | 70   // ----------------------------------------------------------------- | 
| 71   // Initializes the UI. | 71   // Initializes the UI. | 
| 72 | 72 | 
| 73   // Initialize the dialog label. | 73   // Initialize the dialog label. | 
| 74   cr.ui.dialogs.BaseDialog.OK_LABEL = str('GALLERY_OK_LABEL'); | 74   cr.ui.dialogs.BaseDialog.OK_LABEL = str('GALLERY_OK_LABEL'); | 
| 75   cr.ui.dialogs.BaseDialog.CANCEL_LABEL = str('GALLERY_CANCEL_LABEL'); | 75   cr.ui.dialogs.BaseDialog.CANCEL_LABEL = str('GALLERY_CANCEL_LABEL'); | 
| 76 | 76 | 
| 77   var content = queryRequiredElement(document, '#content'); | 77   var content = getRequiredElement('content'); | 
| 78   content.addEventListener('click', this.onContentClick_.bind(this)); | 78   content.addEventListener('click', this.onContentClick_.bind(this)); | 
| 79 | 79 | 
| 80   this.topToolbar_ = queryRequiredElement(document, '#top-toolbar'); | 80   this.topToolbar_ = getRequiredElement('top-toolbar'); | 
| 81   this.bottomToolbar_ = queryRequiredElement(document, '#bottom-toolbar'); | 81   this.bottomToolbar_ = getRequiredElement('bottom-toolbar'); | 
| 82 | 82 | 
| 83   this.filenameSpacer_ = queryRequiredElement(this.topToolbar_, | 83   this.filenameSpacer_ = queryRequiredElement('.filename-spacer', | 
| 84       '.filename-spacer'); | 84       this.topToolbar_); | 
| 85 | 85 | 
| 86   /** | 86   /** | 
| 87    * @private {HTMLInputElement} | 87    * @private {HTMLInputElement} | 
| 88    * @const | 88    * @const | 
| 89    */ | 89    */ | 
| 90   this.filenameEdit_ = /** @type {HTMLInputElement} */ | 90   this.filenameEdit_ = /** @type {HTMLInputElement} */ | 
| 91       (queryRequiredElement(this.filenameSpacer_, 'input')); | 91       (queryRequiredElement('input', this.filenameSpacer_)); | 
| 92 | 92 | 
| 93   this.filenameCanvas_ = document.createElement('canvas'); | 93   this.filenameCanvas_ = document.createElement('canvas'); | 
| 94   this.filenameCanvasContext_ = this.filenameCanvas_.getContext('2d'); | 94   this.filenameCanvasContext_ = this.filenameCanvas_.getContext('2d'); | 
| 95 | 95 | 
| 96   // Set font style of canvas context to same font style with rename field. | 96   // Set font style of canvas context to same font style with rename field. | 
| 97   var filenameEditComputedStyle = window.getComputedStyle(this.filenameEdit_); | 97   var filenameEditComputedStyle = window.getComputedStyle(this.filenameEdit_); | 
| 98   this.filenameCanvasContext_.font = filenameEditComputedStyle.font; | 98   this.filenameCanvasContext_.font = filenameEditComputedStyle.font; | 
| 99 | 99 | 
| 100   this.filenameEdit_.addEventListener('blur', | 100   this.filenameEdit_.addEventListener('blur', | 
| 101       this.onFilenameEditBlur_.bind(this)); | 101       this.onFilenameEditBlur_.bind(this)); | 
| 102   this.filenameEdit_.addEventListener('focus', | 102   this.filenameEdit_.addEventListener('focus', | 
| 103       this.onFilenameFocus_.bind(this)); | 103       this.onFilenameFocus_.bind(this)); | 
| 104   this.filenameEdit_.addEventListener('input', | 104   this.filenameEdit_.addEventListener('input', | 
| 105       this.resizeRenameField_.bind(this)); | 105       this.resizeRenameField_.bind(this)); | 
| 106   this.filenameEdit_.addEventListener('keydown', | 106   this.filenameEdit_.addEventListener('keydown', | 
| 107       this.onFilenameEditKeydown_.bind(this)); | 107       this.onFilenameEditKeydown_.bind(this)); | 
| 108 | 108 | 
| 109   var buttonSpacer = queryRequiredElement(this.topToolbar_, '.button-spacer'); | 109   var buttonSpacer = queryRequiredElement('.button-spacer', this.topToolbar_); | 
| 110 | 110 | 
| 111   this.prompt_ = new ImageEditor.Prompt(this.container_, strf); | 111   this.prompt_ = new ImageEditor.Prompt(this.container_, strf); | 
| 112 | 112 | 
| 113   this.errorBanner_ = new ErrorBanner(this.container_); | 113   this.errorBanner_ = new ErrorBanner(this.container_); | 
| 114 | 114 | 
| 115   /** | 115   /** | 
| 116    * @private {!HTMLElement} | 116    * @private {!HTMLElement} | 
| 117    * @const | 117    * @const | 
| 118    */ | 118    */ | 
| 119   this.modeSwitchButton_ = queryRequiredElement(this.topToolbar_, | 119   this.modeSwitchButton_ = queryRequiredElement('button.mode', | 
| 120       'button.mode'); | 120       this.topToolbar_); | 
| 121   GalleryUtil.decorateMouseFocusHandling(this.modeSwitchButton_); | 121   GalleryUtil.decorateMouseFocusHandling(this.modeSwitchButton_); | 
| 122   this.modeSwitchButton_.addEventListener('click', | 122   this.modeSwitchButton_.addEventListener('click', | 
| 123       this.onModeSwitchButtonClicked_.bind(this)); | 123       this.onModeSwitchButtonClicked_.bind(this)); | 
| 124 | 124 | 
| 125   /** | 125   /** | 
| 126    * @private {!PaperRipple} | 126    * @private {!PaperRipple} | 
| 127    */ | 127    */ | 
| 128   this.modeSwitchButtonRipple_ = /** @type {!PaperRipple} */ | 128   this.modeSwitchButtonRipple_ = /** @type {!PaperRipple} */ | 
| 129       (queryRequiredElement(this.modeSwitchButton_, 'paper-ripple')); | 129       (queryRequiredElement('paper-ripple', this.modeSwitchButton_)); | 
| 130 | 130 | 
| 131   /** | 131   /** | 
| 132    * @private {!DimmableUIController} | 132    * @private {!DimmableUIController} | 
| 133    * @const | 133    * @const | 
| 134    */ | 134    */ | 
| 135   this.dimmableUIController_ = new DimmableUIController(this.container_); | 135   this.dimmableUIController_ = new DimmableUIController(this.container_); | 
| 136 | 136 | 
| 137   this.thumbnailMode_ = new ThumbnailMode( | 137   this.thumbnailMode_ = new ThumbnailMode( | 
| 138       assertInstanceof(document.querySelector('.thumbnail-view'), HTMLElement), | 138       assertInstanceof(document.querySelector('.thumbnail-view'), HTMLElement), | 
| 139       this.errorBanner_, | 139       this.errorBanner_, | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
| 159                                   this.dimmableUIController_); | 159                                   this.dimmableUIController_); | 
| 160   this.slideMode_.addEventListener('image-displayed', function() { | 160   this.slideMode_.addEventListener('image-displayed', function() { | 
| 161     cr.dispatchSimpleEvent(this, 'image-displayed'); | 161     cr.dispatchSimpleEvent(this, 'image-displayed'); | 
| 162   }.bind(this)); | 162   }.bind(this)); | 
| 163 | 163 | 
| 164   /** | 164   /** | 
| 165    * @private {!HTMLElement} | 165    * @private {!HTMLElement} | 
| 166    * @const | 166    * @const | 
| 167    */ | 167    */ | 
| 168   this.deleteButton_ = queryRequiredElement( | 168   this.deleteButton_ = queryRequiredElement( | 
| 169       this.topToolbar_, 'paper-button.delete'); | 169       'paper-button.delete', this.topToolbar_); | 
| 170   this.deleteButton_.addEventListener('click', this.delete_.bind(this)); | 170   this.deleteButton_.addEventListener('click', this.delete_.bind(this)); | 
| 171 | 171 | 
| 172   /** | 172   /** | 
| 173    * @private {!HTMLElement} | 173    * @private {!HTMLElement} | 
| 174    * @const | 174    * @const | 
| 175    */ | 175    */ | 
| 176   this.slideshowButton_ = queryRequiredElement(this.topToolbar_, | 176   this.slideshowButton_ = queryRequiredElement('paper-button.slideshow', | 
| 177       'paper-button.slideshow'); | 177       this.topToolbar_); | 
| 178 | 178 | 
| 179   /** | 179   /** | 
| 180    * @private {!HTMLElement} | 180    * @private {!HTMLElement} | 
| 181    * @const | 181    * @const | 
| 182    */ | 182    */ | 
| 183   this.shareButton_ = queryRequiredElement( | 183   this.shareButton_ = queryRequiredElement( | 
| 184       this.topToolbar_, 'paper-button.share'); | 184       'paper-button.share', this.topToolbar_); | 
| 185   this.shareButton_.addEventListener( | 185   this.shareButton_.addEventListener( | 
| 186       'click', this.onShareButtonClick_.bind(this)); | 186       'click', this.onShareButtonClick_.bind(this)); | 
| 187 | 187 | 
| 188   this.dataModel_.addEventListener('splice', this.onSplice_.bind(this)); | 188   this.dataModel_.addEventListener('splice', this.onSplice_.bind(this)); | 
| 189   this.dataModel_.addEventListener('content', this.onContentChange_.bind(this)); | 189   this.dataModel_.addEventListener('content', this.onContentChange_.bind(this)); | 
| 190 | 190 | 
| 191   this.selectionModel_.addEventListener('change', this.onSelection_.bind(this)); | 191   this.selectionModel_.addEventListener('change', this.onSelection_.bind(this)); | 
| 192   this.slideMode_.addEventListener('useraction', this.onUserAction_.bind(this)); | 192   this.slideMode_.addEventListener('useraction', this.onUserAction_.bind(this)); | 
| 193 | 193 | 
| 194   this.shareDialog_ = new ShareDialog(this.container_); | 194   this.shareDialog_ = new ShareDialog(this.container_); | 
| (...skipping 774 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 969  */ | 969  */ | 
| 970 var initializePromise = | 970 var initializePromise = | 
| 971     Promise.all([loadTimeDataPromise, volumeManagerPromise]). | 971     Promise.all([loadTimeDataPromise, volumeManagerPromise]). | 
| 972     then(function(args) { | 972     then(function(args) { | 
| 973       var volumeManager = args[1]; | 973       var volumeManager = args[1]; | 
| 974       gallery = new Gallery(volumeManager); | 974       gallery = new Gallery(volumeManager); | 
| 975     }); | 975     }); | 
| 976 | 976 | 
| 977 // Loads entries. | 977 // Loads entries. | 
| 978 initializePromise.then(reload); | 978 initializePromise.then(reload); | 
| OLD | NEW | 
|---|