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

Side by Side Diff: ui/file_manager/gallery/js/image_editor/image_view.js

Issue 971173002: Gallery: Start to use new metadata model in Gallery. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix test. Created 5 years, 9 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 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 /** 5 /**
6 * The overlay displaying the image. 6 * The overlay displaying the image.
7 * 7 *
8 * @param {!HTMLElement} container The container element. 8 * @param {!HTMLElement} container The container element.
9 * @param {!Viewport} viewport The viewport. 9 * @param {!Viewport} viewport The viewport.
10 * @param {!MetadataModel} metadataModel
10 * @constructor 11 * @constructor
11 * @extends {ImageBuffer.Overlay} 12 * @extends {ImageBuffer.Overlay}
12 * @struct 13 * @struct
13 */ 14 */
14 function ImageView(container, viewport) { 15 function ImageView(container, viewport, metadataModel) {
15 ImageBuffer.Overlay.call(this); 16 ImageBuffer.Overlay.call(this);
16 17
17 this.container_ = container; 18 this.container_ = container;
18 19
19 /** 20 /**
20 * The viewport. 21 * The viewport.
21 * @type {!Viewport} 22 * @type {!Viewport}
22 * @private 23 * @private
23 */ 24 */
24 this.viewport_ = viewport; 25 this.viewport_ = viewport;
25 26
26 this.document_ = assertInstanceof(container.ownerDocument, HTMLDocument); 27 this.document_ = assertInstanceof(container.ownerDocument, HTMLDocument);
27 this.contentGeneration_ = 0; 28 this.contentGeneration_ = 0;
28 this.displayedContentGeneration_ = 0; 29 this.displayedContentGeneration_ = 0;
29 30
30 this.imageLoader_ = new ImageUtil.ImageLoader(this.document_); 31 this.imageLoader_ =
32 new ImageUtil.ImageLoader(this.document_, metadataModel);
31 // We have a separate image loader for prefetch which does not get cancelled 33 // We have a separate image loader for prefetch which does not get cancelled
32 // when the selection changes. 34 // when the selection changes.
33 this.prefetchLoader_ = new ImageUtil.ImageLoader(this.document_); 35 this.prefetchLoader_ =
36 new ImageUtil.ImageLoader(this.document_, metadataModel);
34 37
35 this.contentCallbacks_ = []; 38 this.contentCallbacks_ = [];
36 39
37 /** 40 /**
38 * The element displaying the current content. 41 * The element displaying the current content.
39 * @type {HTMLCanvasElement} 42 * @type {HTMLCanvasElement}
40 * @private 43 * @private
41 */ 44 */
42 this.screenImage_ = null; 45 this.screenImage_ = null;
43 46
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 default: 408 default:
406 assertNotReached(); 409 assertNotReached();
407 } 410 }
408 411
409 /** 412 /**
410 * @param {!ImageView.LoadType} loadType A load type. 413 * @param {!ImageView.LoadType} loadType A load type.
411 * @param {(HTMLCanvasElement|HTMLImageElement)} canvas A canvas. 414 * @param {(HTMLCanvasElement|HTMLImageElement)} canvas A canvas.
412 */ 415 */
413 function displayThumbnail(loadType, canvas) { 416 function displayThumbnail(loadType, canvas) {
414 if (canvas) { 417 if (canvas) {
415 var width = null; 418 var width = item.getMetadataItem().imageWidth;
416 var height = null; 419 var height = item.getMetadataItem().imageHeight;
417 if (metadata.media) {
418 width = metadata.media.width;
419 height = metadata.media.height;
420 }
421 // If metadata.external.present is true, the image data is loaded directly
422 // from local cache, whose size may be out of sync with the drive
423 // metadata.
424 if (metadata.external && !metadata.external.present) {
425 width = metadata.external.imageWidth;
426 height = metadata.external.imageHeight;
427 }
428 self.replace( 420 self.replace(
429 canvas, 421 canvas,
430 effect, 422 effect,
431 width, 423 width,
432 height, 424 height,
433 true /* preview */); 425 true /* preview */);
434 if (displayCallback) displayCallback(); 426 if (displayCallback)
427 displayCallback();
435 } 428 }
436 loadMainImage(loadType, entry, !!canvas, 429 loadMainImage(loadType, entry, !!canvas,
437 (effect && canvas) ? effect.getSafeInterval() : 0); 430 (effect && canvas) ? effect.getSafeInterval() : 0);
438 } 431 }
439 432
440 /** 433 /**
441 * @param {!ImageView.LoadType} loadType Load type. 434 * @param {!ImageView.LoadType} loadType Load type.
442 * @param {Entry} contentEntry A content entry. 435 * @param {Entry} contentEntry A content entry.
443 * @param {boolean} previewShown A preview is shown or not. 436 * @param {boolean} previewShown A preview is shown or not.
444 * @param {number} delay Load delay. 437 * @param {number} delay Load delay.
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after
974 }; 967 };
975 968
976 ImageView.Effect.Rotate.prototype = { __proto__: ImageView.Effect.prototype }; 969 ImageView.Effect.Rotate.prototype = { __proto__: ImageView.Effect.prototype };
977 970
978 /** 971 /**
979 * @override 972 * @override
980 */ 973 */
981 ImageView.Effect.Rotate.prototype.transform = function(element, viewport) { 974 ImageView.Effect.Rotate.prototype.transform = function(element, viewport) {
982 return viewport.getInverseTransformForRotatedImage(this.orientation_); 975 return viewport.getInverseTransformForRotatedImage(this.orientation_);
983 }; 976 };
OLDNEW
« no previous file with comments | « ui/file_manager/gallery/js/image_editor/image_util.js ('k') | ui/file_manager/gallery/js/mosaic_mode.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698