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

Unified Diff: ui/file_manager/file_manager/audio_player/elements/control_panel.js

Issue 641283002: Separate the audio player app from Files.app Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Clean up Created 6 years, 2 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: ui/file_manager/file_manager/audio_player/elements/control_panel.js
diff --git a/ui/file_manager/file_manager/audio_player/elements/control_panel.js b/ui/file_manager/file_manager/audio_player/elements/control_panel.js
deleted file mode 100644
index 94c6db1d615cf9605dec15bc243e4da7669c4084..0000000000000000000000000000000000000000
--- a/ui/file_manager/file_manager/audio_player/elements/control_panel.js
+++ /dev/null
@@ -1,177 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-(function() {
- 'use strict';
-
- /**
- * Moves |target| element above |anchor| element, in order to match the
- * bottom lines.
- * @param {HTMLElement} target Target element.
- * @param {HTMLElement} anchor Anchor element.
- */
- function matchBottomLine(target, anchor) {
- var targetRect = target.getBoundingClientRect();
- var anchorRect = anchor.getBoundingClientRect();
-
- var pos = {
- left: anchorRect.left + anchorRect.width / 2 - targetRect.width / 2,
- bottom: window.innerHeight - anchorRect.bottom,
- };
-
- target.style.position = 'fixed';
- target.style.left = pos.left + 'px';
- target.style.bottom = pos.bottom + 'px';
- }
-
- /**
- * Converts the time into human friendly string.
- * @param {number} time Time to be converted.
- * @return {string} String representation of the given time
- */
- function time2string(time) {
- return ~~(time / 60000) + ':' + ('0' + ~~(time / 1000 % 60)).slice(-2);
- }
-
- Polymer('control-panel', {
- /**
- * Initializes an element. This method is called automatically when the
- * element is ready.
- */
- ready: function() {
- var onFocusoutBound = this.onVolumeControllerFocusout_.bind(this);
- this.$.volumeSlider.addEventListener('focusout', onFocusoutBound);
- this.$.volumeButton.addEventListener('focusout', onFocusoutBound);
- },
-
- /**
- * Model object of the Audio Player.
- * @type {AudioPlayerModel}
- */
- model: null,
-
- /**
- * Invoked when the model changed.
- * @param {AudioPlayerModel} oldValue Old Value.
- * @param {AudioPlayerModel} newValue New Value.
- */
- modelChanged: function(oldValue, newValue) {
- this.$.volumeSlider.model = newValue;
- },
-
- /**
- * Current elapsed time in the current music in millisecond.
- * @type {number}
- */
- time: 0,
-
- /**
- * String representation of 'time'.
- * @type {number}
- * @private
- */
- get timeString_() {
- return time2string(this.time);
- },
-
- /**
- * Total length of the current music in millisecond.
- * @type {number}
- */
- duration: 0,
-
- /**
- * String representation of 'duration'.
- * @type {string}
- * @private
- */
- get durationString_() {
- return time2string(this.duration);
- },
-
- /**
- * Flag whether the volume slider is expanded or not.
- * @type {boolean}
- */
- volumeSliderShown: false,
-
- /**
- * Flag whether the audio is playing or paused. True if playing, or false
- * paused.
- * @type {boolean}
- */
- playing: false,
-
- /**
- * Invoked when the 'duration' property is changed.
- * @param {number} oldValue old value.
- * @param {number} newValue new value.
- */
- durationChanged: function(oldValue, newValue) {
- // Reset the current playback position.
- this.time = 0;
- },
-
- /**
- * Invoked when the next button is clicked.
- */
- nextClick: function() {
- this.fire('next-clicked');
- },
-
- /**
- * Invoked when the play button is clicked.
- */
- playClick: function() {
- this.playing = !this.playing;
- },
-
- /**
- * Invoked when the previous button is clicked.
- */
- previousClick: function() {
- this.fire('previous-clicked');
- },
-
- /**
- * Invoked the volume button is clicked.
- * @type {Event} event The event.
- */
- volumeButtonClick: function(event) {
- this.showVolumeController_(this.volumeSliderShown);
- event.stopPropagation();
- },
-
- /**
- * Invoked when the focus goes out of the volume elements.
- * @param {FocusEvent} event The focusout event.
- * @private
- */
- onVolumeControllerFocusout_: function(event) {
- if (this.volumeSliderShown) {
- // If the focus goes out of the volume, hide the volume control.
- if (!event.relatedTarget ||
- (event.relatedTarget !== this.$.volumeButton &&
- event.relatedTarget !== this.$.volumeSlider)) {
- this.showVolumeController_(false);
- this.volumeSliderShown = false;
- }
- }
- },
-
- /**
- * Shows/hides the volume controller.
- * @param {boolean} show True to show the controller, false to hide.
- * @private
- */
- showVolumeController_: function(show) {
- if (show) {
- matchBottomLine(this.$.volumeContainer, this.$.volumeButton);
- this.$.volumeContainer.style.visibility = 'visible';
- } else {
- this.$.volumeContainer.style.visibility = 'hidden';
- }
- },
- });
-})(); // Anonymous closure

Powered by Google App Engine
This is Rietveld 408576698