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

Side by Side Diff: chrome/browser/resources/file_manager/js/photo/slide_mode.js

Issue 17153007: Enable looping of videos in Files.app. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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 | Annotate | Revision Log
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 'use strict'; 5 'use strict';
6 6
7 /** 7 /**
8 * Slide mode displays a single image and has a set of controls to navigate 8 * Slide mode displays a single image and has a set of controls to navigate
9 * between the images and to edit an image. 9 * between the images and to edit an image.
10 * 10 *
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 var bubbleClose = util.createChild(this.bubble_, 'close-x'); 130 var bubbleClose = util.createChild(this.bubble_, 'close-x');
131 bubbleClose.addEventListener('click', this.onCloseBubble_.bind(this)); 131 bubbleClose.addEventListener('click', this.onCloseBubble_.bind(this));
132 132
133 // Video player controls. 133 // Video player controls.
134 this.mediaSpacer_ = 134 this.mediaSpacer_ =
135 util.createChild(this.container_, 'video-controls-spacer'); 135 util.createChild(this.container_, 'video-controls-spacer');
136 this.mediaToolbar_ = util.createChild(this.mediaSpacer_, 'tool'); 136 this.mediaToolbar_ = util.createChild(this.mediaSpacer_, 'tool');
137 this.mediaControls_ = new VideoControls( 137 this.mediaControls_ = new VideoControls(
138 this.mediaToolbar_, 138 this.mediaToolbar_,
139 this.showErrorBanner_.bind(this, 'VIDEO_ERROR'), 139 this.showErrorBanner_.bind(this, 'VIDEO_ERROR'),
140 this.displayStringFunction_.bind(this),
140 this.toggleFullScreen_.bind(this), 141 this.toggleFullScreen_.bind(this),
141 this.container_); 142 this.container_);
142 143
143 // Ribbon and related controls. 144 // Ribbon and related controls.
144 this.arrowBox_ = util.createChild(this.container_, 'arrow-box'); 145 this.arrowBox_ = util.createChild(this.container_, 'arrow-box');
145 146
146 this.arrowLeft_ = 147 this.arrowLeft_ =
147 util.createChild(this.arrowBox_, 'arrow left tool dimmable'); 148 util.createChild(this.arrowBox_, 'arrow left tool dimmable');
148 this.arrowLeft_.addEventListener('click', 149 this.arrowLeft_.addEventListener('click',
149 this.advanceManually.bind(this, -1)); 150 this.advanceManually.bind(this, -1));
(...skipping 604 matching lines...) Expand 10 before | Expand all | Expand 10 after
754 * @return {string} Message to show if there are unsaved changes. 755 * @return {string} Message to show if there are unsaved changes.
755 */ 756 */
756 SlideMode.prototype.onBeforeUnload = function() { 757 SlideMode.prototype.onBeforeUnload = function() {
757 if (this.editor_.isBusy()) 758 if (this.editor_.isBusy())
758 return this.displayStringFunction_('unsaved_changes'); 759 return this.displayStringFunction_('unsaved_changes');
759 return null; 760 return null;
760 }; 761 };
761 762
762 /** 763 /**
763 * Click handler for the image container. 764 * Click handler for the image container.
765 *
766 * @param {Event} event Mouse click event.
764 * @private 767 * @private
765 */ 768 */
766 SlideMode.prototype.onClick_ = function() { 769 SlideMode.prototype.onClick_ = function(event) {
767 if (this.isShowingVideo_()) 770 if (!this.isShowingVideo_())
771 return;
772 if (event.ctrlKey) {
773 this.mediaControls_.toggleLoopedModeWithFeedback(true);
774 if (!this.mediaControls_.isPlaying())
775 this.mediaControls_.togglePlayStateWithFeedback();
776 } else {
768 this.mediaControls_.togglePlayStateWithFeedback(); 777 this.mediaControls_.togglePlayStateWithFeedback();
778 }
769 }; 779 };
770 780
771 /** 781 /**
772 * Click handler for the entire document. 782 * Click handler for the entire document.
773 * @param {Event} e Mouse click event. 783 * @param {Event} e Mouse click event.
774 * @private 784 * @private
775 */ 785 */
776 SlideMode.prototype.onDocumentClick_ = function(e) { 786 SlideMode.prototype.onDocumentClick_ = function(e) {
777 // Close the bubble if clicked outside of it and if it is visible. 787 // Close the bubble if clicked outside of it and if it is visible.
778 if (!this.bubble_.contains(e.target) && 788 if (!this.bubble_.contains(e.target) &&
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after
1276 done = true; 1286 done = true;
1277 } 1287 }
1278 }.bind(this); 1288 }.bind(this);
1279 }; 1289 };
1280 1290
1281 /** 1291 /**
1282 * If the user touched the image and moved the finger more than SWIPE_THRESHOLD 1292 * If the user touched the image and moved the finger more than SWIPE_THRESHOLD
1283 * horizontally it's considered as a swipe gesture (change the current image). 1293 * horizontally it's considered as a swipe gesture (change the current image).
1284 */ 1294 */
1285 SwipeOverlay.SWIPE_THRESHOLD = 100; 1295 SwipeOverlay.SWIPE_THRESHOLD = 100;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698