Index: chrome/browser/resources/file_manager/js/metadata/image_parsers.js |
diff --git a/chrome/browser/resources/file_manager/js/metadata/image_parsers.js b/chrome/browser/resources/file_manager/js/metadata/image_parsers.js |
deleted file mode 100644 |
index 1d9c660e9259f7037c9de5b186cdab60ddec8773..0000000000000000000000000000000000000000 |
--- a/chrome/browser/resources/file_manager/js/metadata/image_parsers.js |
+++ /dev/null |
@@ -1,167 +0,0 @@ |
-// Copyright (c) 2012 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. |
- |
-'use strict'; |
- |
-/* Base class for image metadata parsers that only need to look at a short |
- fragment at the start of the file */ |
-function SimpleImageParser(parent, type, urlFilter, headerSize) { |
- ImageParser.call(this, parent, type, urlFilter); |
- this.headerSize = headerSize; |
-} |
- |
-SimpleImageParser.prototype = {__proto__: ImageParser.prototype}; |
- |
-/** |
- * @param {File} file // TODO(JSDOC). |
- * @param {Object} metadata // TODO(JSDOC). |
- * @param {function(Object)} callback // TODO(JSDOC). |
- * @param {function(string)} errorCallback // TODO(JSDOC). |
- */ |
-SimpleImageParser.prototype.parse = function( |
- file, metadata, callback, errorCallback) { |
- var self = this; |
- util.readFileBytes(file, 0, this.headerSize, |
- function(file, br) { |
- try { |
- self.parseHeader(metadata, br); |
- callback(metadata); |
- } catch (e) { |
- errorCallback(e.toString()); |
- } |
- }, |
- errorCallback); |
-}; |
- |
- |
-function PngParser(parent) { |
- SimpleImageParser.call(this, parent, 'png', /\.png$/i, 24); |
-} |
- |
-PngParser.prototype = {__proto__: SimpleImageParser.prototype}; |
- |
-/** |
- * @param {Object} metadata // TODO(JSDOC). |
- * @param {ByteReader} br // TODO(JSDOC). |
- */ |
-PngParser.prototype.parseHeader = function(metadata, br) { |
- br.setByteOrder(ByteReader.BIG_ENDIAN); |
- |
- var signature = br.readString(8); |
- if (signature != '\x89PNG\x0D\x0A\x1A\x0A') |
- throw new Error('Invalid PNG signature: ' + signature); |
- |
- br.seek(12); |
- var ihdr = br.readString(4); |
- if (ihdr != 'IHDR') |
- throw new Error('Missing IHDR chunk'); |
- |
- metadata.width = br.readScalar(4); |
- metadata.height = br.readScalar(4); |
-}; |
- |
-MetadataDispatcher.registerParserClass(PngParser); |
- |
- |
-function BmpParser(parent) { |
- SimpleImageParser.call(this, parent, 'bmp', /\.bmp$/i, 28); |
-} |
- |
-BmpParser.prototype = {__proto__: SimpleImageParser.prototype}; |
- |
-/** |
- * @param {Object} metadata // TODO(JSDOC). |
- * @param {ByteReader} br // TODO(JSDOC). |
- */ |
-BmpParser.prototype.parseHeader = function(metadata, br) { |
- br.setByteOrder(ByteReader.LITTLE_ENDIAN); |
- |
- var signature = br.readString(2); |
- if (signature != 'BM') |
- throw new Error('Invalid BMP signature: ' + signature); |
- |
- br.seek(18); |
- metadata.width = br.readScalar(4); |
- metadata.height = br.readScalar(4); |
-}; |
- |
-MetadataDispatcher.registerParserClass(BmpParser); |
- |
- |
-function GifParser(parent) { |
- SimpleImageParser.call(this, parent, 'gif', /\.Gif$/i, 10); |
-} |
- |
-GifParser.prototype = {__proto__: SimpleImageParser.prototype}; |
- |
-/** |
- * @param {Object} metadata // TODO(JSDOC). |
- * @param {ByteReader} br // TODO(JSDOC). |
- */ |
-GifParser.prototype.parseHeader = function(metadata, br) { |
- br.setByteOrder(ByteReader.LITTLE_ENDIAN); |
- |
- var signature = br.readString(6); |
- if (!signature.match(/GIF8(7|9)a/)) |
- throw new Error('Invalid GIF signature: ' + signature); |
- |
- metadata.width = br.readScalar(2); |
- metadata.height = br.readScalar(2); |
-}; |
- |
-MetadataDispatcher.registerParserClass(GifParser); |
- |
- |
-function WebpParser(parent) { |
- SimpleImageParser.call(this, parent, 'webp', /\.webp$/i, 30); |
-} |
- |
-WebpParser.prototype = {__proto__: SimpleImageParser.prototype}; |
- |
-/** |
- * @param {Object} metadata // TODO(JSDOC). |
- * @param {ByteReader} br // TODO(JSDOC). |
- */ |
-WebpParser.prototype.parseHeader = function(metadata, br) { |
- br.setByteOrder(ByteReader.LITTLE_ENDIAN); |
- |
- var riffSignature = br.readString(4); |
- if (riffSignature != 'RIFF') |
- throw new Error('Invalid RIFF signature: ' + riffSignature); |
- |
- br.seek(8); |
- var webpSignature = br.readString(4); |
- if (webpSignature != 'WEBP') |
- throw new Error('Invalid WEBP signature: ' + webpSignature); |
- |
- var chunkFormat = br.readString(4); |
- if (chunkFormat != 'VP8 ' && chunkFormat != 'VP8L') |
- throw new Error('Invalid chunk format: ' + chunkFormat); |
- |
- if (chunkFormat == 'VP8 ') { |
- // VP8 lossy bitstream format. |
- br.seek(23); |
- var lossySignature = br.readScalar(2) | (br.readScalar(1) << 16); |
- if (lossySignature != 0x2a019d) |
- throw new Error('Invalid VP8 lossy bitstream signature: ' + |
- lossySignature); |
- |
- var dimensionBits = br.readScalar(4); |
- metadata.width = dimensionBits & 0x3fff; |
- metadata.height = (dimensionBits >> 16) & 0x3fff; |
- } else { |
- // VP8 lossless bitstream format. |
- br.seek(20); |
- var losslessSignature = br.readScalar(1); |
- if (losslessSignature != 0x2f) |
- throw new Error('Invalid VP8 lossless bitstream signature: ' + |
- losslessSignature); |
- |
- var dimensionBits = br.readScalar(4); |
- metadata.width = (dimensionBits & 0x3fff) + 1; |
- metadata.height = ((dimensionBits >> 14) & 0x3fff) + 1; |
- } |
-}; |
- |
-MetadataDispatcher.registerParserClass(WebpParser); |