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

Unified Diff: chrome/browser/resources/file_manager/audio_player/elements/track_list.js

Issue 185653014: [AudioPlayer] Fix a bug on changing 'expanded' status (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 10 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: chrome/browser/resources/file_manager/audio_player/elements/track_list.js
diff --git a/chrome/browser/resources/file_manager/audio_player/elements/track_list.js b/chrome/browser/resources/file_manager/audio_player/elements/track_list.js
index 6b373ad6da5d7a6ad960fc101738c22967f0b175..5491d7d262b7a5bcf1689706552f9e5b11cd8fcb 100644
--- a/chrome/browser/resources/file_manager/audio_player/elements/track_list.js
+++ b/chrome/browser/resources/file_manager/audio_player/elements/track_list.js
@@ -154,10 +154,22 @@
var trackSelector = '.track[index="' + trackIndex + '"]';
var trackElement = this.impl.querySelector(trackSelector);
if (trackElement) {
- this.scrollTop = Math.max(
- 0,
- (trackElement.offsetTop + trackElement.offsetHeight -
- this.clientHeight));
+ var viewTop = this.scrollTop;
+ var viewHeight = this.clientHeight;
+ var elementTop = trackElement.offsetTop;
+ var elementHeight = trackElement.offsetHeight;
+
+ if (elementTop < viewTop) {
+ // Adjust the tops.
+ this.scrollTop = elementTop;
+ } else if (viewTop <= elementTop &&
hirono 2014/03/05 17:24:01 nit: The first condition check can be removed.
yoshiki 2014/03/06 08:25:07 Done.
+ elementTop + elementHeight <= viewTop + viewHeight) {
hirono 2014/03/05 17:24:01 nit: How about negating the condition and put the
yoshiki 2014/03/05 18:30:41 I think it's better for readability, specifying we
hirono 2014/03/06 03:44:47 One point I cared a bit is the condition check is
+ // The entire element is in the viewport. Do nothing.
+ } else {
+ // Adjust the bottoms.
+ this.scrollTop = Math.max(0,
+ (elementTop + elementHeight - viewHeight));
+ }
}
},

Powered by Google App Engine
This is Rietveld 408576698