| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 * Global fileManager reference useful for poking at from the console. | 6 * Global fileManager reference useful for poking at from the console. |
| 7 */ | 7 */ |
| 8 var fileManager; | 8 var fileManager; |
| 9 | 9 |
| 10 /** | 10 /** |
| 11 * Kick off the file manager dialog. | 11 * Kick off the file manager dialog. |
| 12 * | 12 * |
| 13 * Called by main.html after the dom has been parsed. | 13 * Called by main.html after the dom has been parsed. |
| 14 */ | 14 */ |
| 15 function init() { | 15 function init() { |
| 16 var rootPaths = ['Downloads', 'removable', 'archive', 'tmp']; | 16 var rootPaths = ['Downloads', 'removable', 'archive', 'tmp']; |
| 17 | 17 |
| 18 function onEntriesFound(filesystem, entries) { | 18 function onEntriesFound(filesystem, entries) { |
| 19 metrics.recordTime('EnumerateRoots'); |
| 19 FileManager.initStrings(function () { | 20 FileManager.initStrings(function () { |
| 21 metrics.startInterval('Construct'); |
| 20 fileManager = new FileManager(document.body, filesystem, entries); | 22 fileManager = new FileManager(document.body, filesystem, entries); |
| 23 metrics.recordTime('Construct'); |
| 24 metrics.recordTime('TotalLoad'); |
| 21 // We're ready to run. Tests can monitor for this state with | 25 // We're ready to run. Tests can monitor for this state with |
| 22 // ExtensionTestMessageListener listener("ready"); | 26 // ExtensionTestMessageListener listener("ready"); |
| 23 // ASSERT_TRUE(listener.WaitUntilSatisfied()); | 27 // ASSERT_TRUE(listener.WaitUntilSatisfied()); |
| 24 chrome.test.sendMessage('ready'); | 28 chrome.test.sendMessage('ready'); |
| 25 }); | 29 }); |
| 26 } | 30 } |
| 27 | 31 |
| 28 function onFileSystemFound(filesystem) { | 32 function onFileSystemFound(filesystem) { |
| 33 metrics.recordTime('RequestLocalFileSystem'); |
| 29 console.log('Found filesystem: ' + filesystem.name, filesystem); | 34 console.log('Found filesystem: ' + filesystem.name, filesystem); |
| 30 | 35 |
| 31 var entries = []; | 36 var entries = []; |
| 32 | 37 |
| 33 function onPathError(path, err) { | 38 function onPathError(path, err) { |
| 34 console.error('Error locating root path: ' + path + ': ' + err); | 39 console.error('Error locating root path: ' + path + ': ' + err); |
| 35 } | 40 } |
| 36 | 41 |
| 37 function onEntryFound(entry) { | 42 function onEntryFound(entry) { |
| 38 if (entry) { | 43 if (entry) { |
| 39 entries.push(entry); | 44 entries.push(entry); |
| 40 } else { | 45 } else { |
| 41 onEntriesFound(filesystem, entries); | 46 onEntriesFound(filesystem, entries); |
| 42 } | 47 } |
| 43 } | 48 } |
| 44 | 49 |
| 50 metrics.startInterval('EnumerateRoots'); |
| 45 if (filesystem.name.match(/^chrome-extension_\S+:external/i)) { | 51 if (filesystem.name.match(/^chrome-extension_\S+:external/i)) { |
| 46 // We've been handed the local filesystem, whose root directory | 52 // We've been handed the local filesystem, whose root directory |
| 47 // cannot be enumerated. | 53 // cannot be enumerated. |
| 48 util.getDirectories(filesystem.root, {create: false}, rootPaths, | 54 util.getDirectories(filesystem.root, {create: false}, rootPaths, |
| 49 onEntryFound, onPathError); | 55 onEntryFound, onPathError); |
| 50 } else { | 56 } else { |
| 51 util.forEachDirEntry(filesystem.root, onEntryFound); | 57 util.forEachDirEntry(filesystem.root, onEntryFound); |
| 52 } | 58 } |
| 53 }; | 59 }; |
| 54 | 60 |
| 55 util.installFileErrorToString(); | 61 util.installFileErrorToString(); |
| 56 | 62 |
| 57 console.log('Requesting filesystem.'); | 63 console.log('Requesting filesystem.'); |
| 58 chrome.fileBrowserPrivate.requestLocalFileSystem(onFileSystemFound); | 64 metrics.startInterval('RequestLocalFileSystem'); |
| 65 chrome.fileBrowserPrivate.requestLocalFileSystem(onFileSystemFound); |
| 59 } | 66 } |
| OLD | NEW |