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

Side by Side Diff: chrome/browser/resources/file_manager/js/metadata/id3_parser.js

Issue 12207152: [Cleanup] Files.app: adds '@private' annotations to JSdoc of private methods. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/resources/file_manager/js/metadata/function_sequence.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 importScripts('function_sequence.js'); 5 importScripts('function_sequence.js');
6 importScripts('function_parallel.js'); 6 importScripts('function_parallel.js');
7 7
8 function Id3Parser(parent) { 8 function Id3Parser(parent) {
9 MetadataParser.call(this, parent, 'id3', /\.(mp3)$/i); 9 MetadataParser.call(this, parent, 'id3', /\.(mp3)$/i);
10 } 10 }
11 11
12 Id3Parser.prototype = {__proto__: MetadataParser.prototype}; 12 Id3Parser.prototype = {__proto__: MetadataParser.prototype};
13 13
14 /** 14 /**
15 * Reads synchsafe integer. 15 * Reads synchsafe integer.
16 * 'SynchSafe' term is taken from id3 documentation. 16 * 'SynchSafe' term is taken from id3 documentation.
17 * 17 *
18 * @private
18 * @param {ByteReader} reader - reader to use. 19 * @param {ByteReader} reader - reader to use.
19 * @param {int} length - bytes to read. 20 * @param {int} length - bytes to read.
20 * @return {int} 21 * @return {int}
21 */ 22 */
22 Id3Parser.readSynchSafe_ = function(reader, length) { 23 Id3Parser.readSynchSafe_ = function(reader, length) {
23 var rv = 0; 24 var rv = 0;
24 25
25 switch (length) { 26 switch (length) {
26 case 4: 27 case 4:
27 rv = reader.readScalar(1, false) << 21; 28 rv = reader.readScalar(1, false) << 21;
28 case 3: 29 case 3:
29 rv |= reader.readScalar(1, false) << 14; 30 rv |= reader.readScalar(1, false) << 14;
30 case 2: 31 case 2:
31 rv |= reader.readScalar(1, false) << 7; 32 rv |= reader.readScalar(1, false) << 7;
32 case 1: 33 case 1:
33 rv |= reader.readScalar(1, false); 34 rv |= reader.readScalar(1, false);
34 } 35 }
35 36
36 return rv; 37 return rv;
37 }; 38 };
38 39
39 /** 40 /**
40 * Reads 3bytes integer. 41 * Reads 3bytes integer.
41 * 42 *
43 * @private
42 * @param {ByteReader} reader - reader to use. 44 * @param {ByteReader} reader - reader to use.
43 * @return {int} 45 * @return {int}
44 */ 46 */
45 Id3Parser.readUInt24_ = function(reader) { 47 Id3Parser.readUInt24_ = function(reader) {
46 return reader.readScalar(2, false) << 16 | reader.readScalar(1, false); 48 return reader.readScalar(2, false) << 16 | reader.readScalar(1, false);
47 }; 49 };
48 50
49 /** 51 /**
50 * Reads string from reader with specified encoding 52 * Reads string from reader with specified encoding
51 * 53 *
54 * @private
52 * @param {ByteReader} reader reader to use. 55 * @param {ByteReader} reader reader to use.
53 * @param {int} encoding string encoding. 56 * @param {int} encoding string encoding.
54 * @param {int} size maximum string size. Actual result may be shorter. 57 * @param {int} size maximum string size. Actual result may be shorter.
55 *
56 */ 58 */
57 Id3Parser.prototype.readString_ = function(reader, encoding, size) { 59 Id3Parser.prototype.readString_ = function(reader, encoding, size) {
58 switch (encoding) { 60 switch (encoding) {
59 case Id3Parser.v2.ENCODING.ISO_8859_1: 61 case Id3Parser.v2.ENCODING.ISO_8859_1:
60 return reader.readNullTerminatedString(size); 62 return reader.readNullTerminatedString(size);
61 63
62 case Id3Parser.v2.ENCODING.UTF_16: 64 case Id3Parser.v2.ENCODING.UTF_16:
63 return reader.readNullTerminatedStringUTF16(true, size); 65 return reader.readNullTerminatedStringUTF16(true, size);
64 66
65 case Id3Parser.v2.ENCODING.UTF_16BE: 67 case Id3Parser.v2.ENCODING.UTF_16BE:
66 return reader.readNullTerminatedStringUTF16(false, size); 68 return reader.readNullTerminatedStringUTF16(false, size);
67 69
68 case Id3Parser.v2.ENCODING.UTF_8: 70 case Id3Parser.v2.ENCODING.UTF_8:
69 // TODO: implement UTF_8. 71 // TODO: implement UTF_8.
70 this.log('UTF8 encoding not supported, used ISO_8859_1 instead'); 72 this.log('UTF8 encoding not supported, used ISO_8859_1 instead');
71 return reader.readNullTerminatedString(size); 73 return reader.readNullTerminatedString(size);
72 74
73 default: { 75 default: {
74 this.log('Unsupported encoding in ID3 tag: ' + encoding); 76 this.log('Unsupported encoding in ID3 tag: ' + encoding);
75 return ''; 77 return '';
76 } 78 }
77 } 79 }
78 }; 80 };
79 81
80 /** 82 /**
81 * Reads text frame from reader. 83 * Reads text frame from reader.
82 * 84 *
85 * @private
83 * @param {ByteReader} reader reader to use. 86 * @param {ByteReader} reader reader to use.
84 * @param {int} majorVersion major id3 version to use. 87 * @param {int} majorVersion major id3 version to use.
85 * @param {Object} frame frame so store data at. 88 * @param {Object} frame frame so store data at.
86 * @param {int} end frame end position in reader. 89 * @param {int} end frame end position in reader.
87 */ 90 */
88 Id3Parser.prototype.readTextFrame_ = function(reader, 91 Id3Parser.prototype.readTextFrame_ = function(reader,
89 majorVersion, 92 majorVersion,
90 frame, 93 frame,
91 end) { 94 end) {
92 frame.encoding = reader.readScalar(1, false, end); 95 frame.encoding = reader.readScalar(1, false, end);
93 frame.value = this.readString_(reader, frame.encoding, end - reader.tell()); 96 frame.value = this.readString_(reader, frame.encoding, end - reader.tell());
94 }; 97 };
95 98
96 /** 99 /**
97 * Reads user defined text frame from reader. 100 * Reads user defined text frame from reader.
98 * 101 *
102 * @private
99 * @param {ByteReader} reader reader to use. 103 * @param {ByteReader} reader reader to use.
100 * @param {int} majorVersion major id3 version to use. 104 * @param {int} majorVersion major id3 version to use.
101 * @param {Object} frame frame so store data at. 105 * @param {Object} frame frame so store data at.
102 * @param {int} end frame end position in reader. 106 * @param {int} end frame end position in reader.
103 */ 107 */
104 Id3Parser.prototype.readUserDefinedTextFrame_ = function(reader, 108 Id3Parser.prototype.readUserDefinedTextFrame_ = function(reader,
105 majorVersion, 109 majorVersion,
106 frame, 110 frame,
107 end) { 111 end) {
108 frame.encoding = reader.readScalar(1, false, end); 112 frame.encoding = reader.readScalar(1, false, end);
109 113
110 frame.description = this.readString_( 114 frame.description = this.readString_(
111 reader, 115 reader,
112 frame.encoding, 116 frame.encoding,
113 end - reader.tell()); 117 end - reader.tell());
114 118
115 frame.value = this.readString_( 119 frame.value = this.readString_(
116 reader, 120 reader,
117 frame.encoding, 121 frame.encoding,
118 end - reader.tell()); 122 end - reader.tell());
119 }; 123 };
120 124
125 /**
126 * @private
127 */
121 Id3Parser.prototype.readPIC_ = function(reader, majorVersion, frame, end) { 128 Id3Parser.prototype.readPIC_ = function(reader, majorVersion, frame, end) {
122 frame.encoding = reader.readScalar(1, false, end); 129 frame.encoding = reader.readScalar(1, false, end);
123 frame.format = reader.readNullTerminatedString(3, end - reader.tell()); 130 frame.format = reader.readNullTerminatedString(3, end - reader.tell());
124 frame.pictureType = reader.readScalar(1, false, end); 131 frame.pictureType = reader.readScalar(1, false, end);
125 frame.description = this.readString_(reader, 132 frame.description = this.readString_(reader,
126 frame.encoding, 133 frame.encoding,
127 end - reader.tell()); 134 end - reader.tell());
128 135
129 136
130 if (frame.format == '-->') { 137 if (frame.format == '-->') {
131 frame.imageUrl = reader.readNullTerminatedString(end - reader.tell()); 138 frame.imageUrl = reader.readNullTerminatedString(end - reader.tell());
132 } else { 139 } else {
133 frame.imageUrl = reader.readImage(end - reader.tell()); 140 frame.imageUrl = reader.readImage(end - reader.tell());
134 } 141 }
135 }; 142 };
136 143
144 /**
145 * @private
146 */
137 Id3Parser.prototype.readAPIC_ = function(reader, majorVersion, frame, end) { 147 Id3Parser.prototype.readAPIC_ = function(reader, majorVersion, frame, end) {
138 this.vlog('Extracting picture'); 148 this.vlog('Extracting picture');
139 frame.encoding = reader.readScalar(1, false, end); 149 frame.encoding = reader.readScalar(1, false, end);
140 frame.mime = reader.readNullTerminatedString(end - reader.tell()); 150 frame.mime = reader.readNullTerminatedString(end - reader.tell());
141 frame.pictureType = reader.readScalar(1, false, end); 151 frame.pictureType = reader.readScalar(1, false, end);
142 frame.description = this.readString_( 152 frame.description = this.readString_(
143 reader, 153 reader,
144 frame.encoding, 154 frame.encoding,
145 end - reader.tell()); 155 end - reader.tell());
146 156
147 if (frame.mime == '-->') { 157 if (frame.mime == '-->') {
148 frame.imageUrl = reader.readNullTerminatedString(end - reader.tell()); 158 frame.imageUrl = reader.readNullTerminatedString(end - reader.tell());
149 } else { 159 } else {
150 frame.imageUrl = reader.readImage(end - reader.tell()); 160 frame.imageUrl = reader.readImage(end - reader.tell());
151 } 161 }
152 }; 162 };
153 163
154 /** 164 /**
155 * Reads string from reader with specified encoding 165 * Reads string from reader with specified encoding
156 * 166 *
167 * @private
157 * @param {ByteReader} reader reader to use. 168 * @param {ByteReader} reader reader to use.
158 * @return {Object} frame read. 169 * @return {Object} frame read.
159 */ 170 */
160 Id3Parser.prototype.readFrame_ = function(reader, majorVersion) { 171 Id3Parser.prototype.readFrame_ = function(reader, majorVersion) {
161 if (reader.eof()) 172 if (reader.eof())
162 return null; 173 return null;
163 174
164 var frame = {}; 175 var frame = {};
165 176
166 reader.pushSeek(reader.tell(), ByteReader.SEEK_BEG); 177 reader.pushSeek(reader.tell(), ByteReader.SEEK_BEG);
(...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after
669 TYER: 'ID3_YEAR', 680 TYER: 'ID3_YEAR',
670 WCOP: 'ID3_COPYRIGHT', 681 WCOP: 'ID3_COPYRIGHT',
671 WOAF: 'ID3_OFFICIAL_AUDIO_FILE_WEBPAGE', 682 WOAF: 'ID3_OFFICIAL_AUDIO_FILE_WEBPAGE',
672 WOAR: 'ID3_OFFICIAL_ARTIST', 683 WOAR: 'ID3_OFFICIAL_ARTIST',
673 WOAS: 'ID3_OFFICIAL_AUDIO_SOURCE_WEBPAGE', 684 WOAS: 'ID3_OFFICIAL_AUDIO_SOURCE_WEBPAGE',
674 WPUB: 'ID3_PUBLISHERS_OFFICIAL_WEBPAGE' 685 WPUB: 'ID3_PUBLISHERS_OFFICIAL_WEBPAGE'
675 } 686 }
676 }; 687 };
677 688
678 MetadataDispatcher.registerParserClass(Id3Parser); 689 MetadataDispatcher.registerParserClass(Id3Parser);
OLDNEW
« no previous file with comments | « chrome/browser/resources/file_manager/js/metadata/function_sequence.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698