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

Unified Diff: chrome/browser/resources/file_manager/js/metadata_dispatcher.js

Issue 8394046: [filebrowser] More reliable file saving in Photo Editor (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 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: chrome/browser/resources/file_manager/js/metadata_dispatcher.js
diff --git a/chrome/browser/resources/file_manager/js/metadata_dispatcher.js b/chrome/browser/resources/file_manager/js/metadata_dispatcher.js
index e786b18ea9b3e99ae76db08dffa444a59f766c64..809b4298ab0b48f0140f5f50294fa0dfe2711cbe 100644
--- a/chrome/browser/resources/file_manager/js/metadata_dispatcher.js
+++ b/chrome/browser/resources/file_manager/js/metadata_dispatcher.js
@@ -18,6 +18,7 @@ importScripts('byte_reader.js');
*/
function MetadataDispatcher() {
importScripts('exif_parser.js');
+ importScripts('image_parsers.js');
importScripts('mpeg_parser.js');
importScripts('id3_parser.js');
@@ -25,8 +26,8 @@ function MetadataDispatcher() {
for (var i = 0; i < MetadataDispatcher.parserClasses_.length; i++) {
var parserClass = MetadataDispatcher.parserClasses_[i];
- this.log('new parser: ' + parserClass.parserType);
var parser = new parserClass(this);
+ this.log('new parser: ' + parser.type);
this.parserInstances_.push(parser);
patterns.push(parser.urlFilter.source);
}
@@ -124,11 +125,11 @@ MetadataDispatcher.prototype.processOneFile = function(fileURL, callback) {
steps[++currentStep].apply(self, arguments);
}
- // Even if the error occurs we still need to pass mimeType.
- var metadata = {};
+ var defaultMetadata; // To pass along with error.
function onError(err, stepName) {
- self.error(fileURL, stepName || steps[currentStep].name, err, metadata);
+ self.error(fileURL, stepName || steps[currentStep].name, err.toString(),
+ defaultMetadata);
}
var steps =
@@ -137,6 +138,7 @@ MetadataDispatcher.prototype.processOneFile = function(fileURL, callback) {
for (var i = 0; i != self.parserInstances_.length; i++) {
var parser = self.parserInstances_[i];
if (fileURL.match(parser.urlFilter)) {
+ defaultMetadata = parser.createDefaultMetadata();
nextStep(parser);
return;
}
@@ -159,7 +161,6 @@ MetadataDispatcher.prototype.processOneFile = function(fileURL, callback) {
// Step four, parse the file content.
function parseContent(file, parser) {
- metadata.mimeType = parser.mimeType;
parser.parse(file, callback, onError);
}
];
@@ -186,7 +187,8 @@ MetadataDispatcher.prototype.processOneFile = function(fileURL, callback) {
function detectFormat(mimeType, arrayBuffer) {
for (var i = 0; i != self.parserInstances_.length; i++) {
var parser = self.parserInstances_[i];
- if (parser.mimeType && mimeType.match(parser.mimeType)) {
+ if (parser.acceptsMimeType(mimeType)) {
+ defaultMetadata = parser.createDefaultMetadata();
var blobBuilder = new WebKitBlobBuilder();
blobBuilder.append(arrayBuffer);
nextStep(blobBuilder.getBlob(), parser);
« no previous file with comments | « chrome/browser/resources/file_manager/js/image_parsers.js ('k') | chrome/browser/resources/file_manager/js/metadata_parser.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698