OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 'use strict'; | 5 'use strict'; |
6 | 6 |
| 7 /** |
| 8 * Protocol + host parts of extension URL. |
| 9 * @type {string} |
| 10 * @const |
| 11 */ |
| 12 var FILE_MANAGER_HOST = 'chrome-extension://hhaomjibdihmijegdhdafkllkbggdgoj'; |
| 13 |
7 // All of these scripts could be imported with a single call to importScripts, | 14 // All of these scripts could be imported with a single call to importScripts, |
8 // but then load and compile time errors would all be reported from the same | 15 // but then load and compile time errors would all be reported from the same |
9 // line. | 16 // line. |
10 importScripts('metadata_parser.js'); | 17 importScripts(FILE_MANAGER_HOST + '/foreground/js/metadata/metadata_parser.js'); |
11 importScripts('byte_reader.js'); | 18 importScripts(FILE_MANAGER_HOST + '/foreground/js/metadata/byte_reader.js'); |
12 importScripts('../../../common/js/util.js'); | 19 importScripts(FILE_MANAGER_HOST + '/common/js/util.js'); |
13 | 20 |
14 /** | 21 /** |
15 * Dispatches metadata requests to the correct parser. | 22 * Dispatches metadata requests to the correct parser. |
16 * | 23 * |
17 * @param {Object} port Worker port. | 24 * @param {Object} port Worker port. |
18 * @constructor | 25 * @constructor |
19 */ | 26 */ |
20 function MetadataDispatcher(port) { | 27 function MetadataDispatcher(port) { |
21 this.port_ = port; | 28 this.port_ = port; |
22 this.port_.onmessage = this.onMessage.bind(this); | 29 this.port_.onmessage = this.onMessage.bind(this); |
23 | 30 |
24 // Make sure to update component_extension_resources.grd | 31 // Make sure to update component_extension_resources.grd |
25 // when adding new parsers. | 32 // when adding new parsers. |
26 importScripts('exif_parser.js'); | 33 importScripts(FILE_MANAGER_HOST + '/foreground/js/metadata/exif_parser.js'); |
27 importScripts('image_parsers.js'); | 34 importScripts(FILE_MANAGER_HOST + '/foreground/js/metadata/image_parsers.js'); |
28 importScripts('mpeg_parser.js'); | 35 importScripts(FILE_MANAGER_HOST + '/foreground/js/metadata/mpeg_parser.js'); |
29 importScripts('id3_parser.js'); | 36 importScripts(FILE_MANAGER_HOST + '/foreground/js/metadata/id3_parser.js'); |
30 | 37 |
31 var patterns = []; | 38 var patterns = []; |
32 | 39 |
33 this.parserInstances_ = []; | 40 this.parserInstances_ = []; |
34 for (var i = 0; i < MetadataDispatcher.parserClasses_.length; i++) { | 41 for (var i = 0; i < MetadataDispatcher.parserClasses_.length; i++) { |
35 var parserClass = MetadataDispatcher.parserClasses_[i]; | 42 var parserClass = MetadataDispatcher.parserClasses_[i]; |
36 var parser = new parserClass(this); | 43 var parser = new parserClass(this); |
37 this.parserInstances_.push(parser); | 44 this.parserInstances_.push(parser); |
38 patterns.push(parser.urlFilter.source); | 45 patterns.push(parser.urlFilter.source); |
39 } | 46 } |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 if (global.constructor.name == 'SharedWorkerGlobalScope') { | 224 if (global.constructor.name == 'SharedWorkerGlobalScope') { |
218 global.addEventListener('connect', function(e) { | 225 global.addEventListener('connect', function(e) { |
219 var port = e.ports[0]; | 226 var port = e.ports[0]; |
220 new MetadataDispatcher(port); | 227 new MetadataDispatcher(port); |
221 port.start(); | 228 port.start(); |
222 }); | 229 }); |
223 } else { | 230 } else { |
224 // Non-shared worker. | 231 // Non-shared worker. |
225 new MetadataDispatcher(global); | 232 new MetadataDispatcher(global); |
226 } | 233 } |
OLD | NEW |