| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |  | 
| 2 // Use of this source code is governed by a BSD-style license that can be |  | 
| 3 // found in the LICENSE file. |  | 
| 4 |  | 
| 5 var fileSystemNatives = requireNative('file_system_natives'); |  | 
| 6 |  | 
| 7 var nameToIds = {}; |  | 
| 8 var idsToEntries = {}; |  | 
| 9 |  | 
| 10 function computeName(entry) { |  | 
| 11   return entry.filesystem.name + ':' + entry.fullPath; |  | 
| 12 } |  | 
| 13 |  | 
| 14 function computeId(entry) { |  | 
| 15   var fileSystemId = fileSystemNatives.CrackIsolatedFileSystemName( |  | 
| 16       entry.filesystem.name); |  | 
| 17   if (!fileSystemId) |  | 
| 18     return null; |  | 
| 19   // Strip the leading '/' from the path. |  | 
| 20   return fileSystemId + ':' + $String.slice(entry.fullPath, 1); |  | 
| 21 } |  | 
| 22 |  | 
| 23 function registerEntry(id, entry) { |  | 
| 24   var name = computeName(entry); |  | 
| 25   nameToIds[name] = id; |  | 
| 26   idsToEntries[id] = entry; |  | 
| 27 } |  | 
| 28 |  | 
| 29 function getEntryId(entry) { |  | 
| 30   var name = null; |  | 
| 31   try { |  | 
| 32     name = computeName(entry); |  | 
| 33   } catch(e) { |  | 
| 34     return null; |  | 
| 35   } |  | 
| 36   var id = nameToIds[name]; |  | 
| 37   if (id != null) |  | 
| 38     return id; |  | 
| 39 |  | 
| 40   // If an entry has not been registered, compute its id and register it. |  | 
| 41   id = computeId(entry); |  | 
| 42   registerEntry(id, entry); |  | 
| 43   return id; |  | 
| 44 } |  | 
| 45 |  | 
| 46 function getEntryById(id) { |  | 
| 47   return idsToEntries[id]; |  | 
| 48 } |  | 
| 49 |  | 
| 50 exports.registerEntry = registerEntry; |  | 
| 51 exports.getEntryId = getEntryId; |  | 
| 52 exports.getEntryById = getEntryById; |  | 
| OLD | NEW | 
|---|