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

Side by Side Diff: chrome/browser/resources/file_manager/foreground/js/file_transfer_controller.js

Issue 163083002: Files.app: Show error messages for the case the source file is not exists. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed. Created 6 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/foreground/js/file_manager.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 'use strict'; 5 'use strict';
6 6
7 /** 7 /**
8 * Global (placed in the window object) variable name to hold internal 8 * Global (placed in the window object) variable name to hold internal
9 * file dragging information. Needed to show visual feedback while dragging 9 * file dragging information. Needed to show visual feedback while dragging
10 * since DataTransfer object is in protected state. Reachable from other 10 * since DataTransfer object is in protected state. Reachable from other
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 * @param {DataTransfer} dataTransfer System data transfer object. 233 * @param {DataTransfer} dataTransfer System data transfer object.
234 * @param {DirectoryEntry=} opt_destinationEntry Paste destination. 234 * @param {DirectoryEntry=} opt_destinationEntry Paste destination.
235 * @param {string=} opt_effect Desired drop/paste effect. Could be 235 * @param {string=} opt_effect Desired drop/paste effect. Could be
236 * 'move'|'copy' (default is copy). Ignored if conflicts with 236 * 'move'|'copy' (default is copy). Ignored if conflicts with
237 * |dataTransfer.effectAllowed|. 237 * |dataTransfer.effectAllowed|.
238 * @return {string} Either "copy" or "move". 238 * @return {string} Either "copy" or "move".
239 */ 239 */
240 paste: function(dataTransfer, opt_destinationEntry, opt_effect) { 240 paste: function(dataTransfer, opt_destinationEntry, opt_effect) {
241 var sourceURLs = dataTransfer.getData('fs/sources') ? 241 var sourceURLs = dataTransfer.getData('fs/sources') ?
242 dataTransfer.getData('fs/sources').split('\n') : []; 242 dataTransfer.getData('fs/sources').split('\n') : [];
243 util.URLsToEntries(sourceURLs, function(sourceEntries) {
244 var destinationEntry =
245 opt_destinationEntry || this.currentDirectoryContentEntry;
246 // Start the pasting operation.
247 this.fileOperationManager_.paste(sourceEntries, destinationEntry, toMove);
248 }.bind(this));
249
250 // effectAllowed set in copy/paste handlers stay uninitialized. DnD handlers 243 // effectAllowed set in copy/paste handlers stay uninitialized. DnD handlers
251 // work fine. 244 // work fine.
252 var effectAllowed = dataTransfer.effectAllowed !== 'uninitialized' ? 245 var effectAllowed = dataTransfer.effectAllowed !== 'uninitialized' ?
253 dataTransfer.effectAllowed : dataTransfer.getData('fs/effectallowed'); 246 dataTransfer.effectAllowed : dataTransfer.getData('fs/effectallowed');
254 var toMove = effectAllowed === 'move' || 247 var toMove = effectAllowed === 'move' ||
255 (effectAllowed === 'copyMove' && opt_effect === 'move'); 248 (effectAllowed === 'copyMove' && opt_effect === 'move');
256 249
250 util.URLsToEntries(sourceURLs, function(sourceEntries, failureUrls) {
251 var destinationEntry =
252 opt_destinationEntry || this.currentDirectoryContentEntry;
253 // Start the pasting operation.
254 this.fileOperationManager_.paste(sourceEntries, destinationEntry, toMove);
255
256 // Publish events for failureUrls.
257 for (var i = 0; i < failureUrls.length; i++) {
258 var fileName = decodeURIComponent(failureUrls[i].replace(/^.+\//, ''));
259 var event = new Event('source-not-found');
260 event.fileName = fileName;
261 event.progressType =
262 toMove ? ProgressItemType.MOVE : ProgressItemType.COPY;
263 this.dispatchEvent(event);
264 }
265 }.bind(this));
257 return toMove ? 'move' : 'copy'; 266 return toMove ? 'move' : 'copy';
258 }, 267 },
259 268
260 /** 269 /**
261 * Preloads an image thumbnail for the specified file entry. 270 * Preloads an image thumbnail for the specified file entry.
262 * 271 *
263 * @this {FileTransferController} 272 * @this {FileTransferController}
264 * @param {Entry} entry Entry to preload a thumbnail for. 273 * @param {Entry} entry Entry to preload a thumbnail for.
265 */ 274 */
266 preloadThumbnailImage_: function(entry) { 275 preloadThumbnailImage_: function(entry) {
(...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after
925 !event.ctrlKey) { 934 !event.ctrlKey) {
926 return 'move'; 935 return 'move';
927 } 936 }
928 if (event.dataTransfer.effectAllowed === 'copyMove' && 937 if (event.dataTransfer.effectAllowed === 'copyMove' &&
929 event.shiftKey) { 938 event.shiftKey) {
930 return 'move'; 939 return 'move';
931 } 940 }
932 return 'copy'; 941 return 'copy';
933 }, 942 },
934 }; 943 };
OLDNEW
« no previous file with comments | « chrome/browser/resources/file_manager/foreground/js/file_manager.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698