| Index: extensions/renderer/resources/entry_id_manager.js | 
| diff --git a/extensions/renderer/resources/entry_id_manager.js b/extensions/renderer/resources/entry_id_manager.js | 
| index 9fc2c14b16c16113e445206ddb9dc8b25a076615..26b098876ca23b22ceb1202da3e2a7043cb15c9d 100644 | 
| --- a/extensions/renderer/resources/entry_id_manager.js | 
| +++ b/extensions/renderer/resources/entry_id_manager.js | 
| @@ -2,51 +2,56 @@ | 
| // Use of this source code is governed by a BSD-style license that can be | 
| // found in the LICENSE file. | 
|  | 
| -var fileSystemNatives = requireNative('file_system_natives'); | 
| - | 
| -var nameToIds = {}; | 
| -var idsToEntries = {}; | 
| - | 
| -function computeName(entry) { | 
| -  return entry.filesystem.name + ':' + entry.fullPath; | 
| -} | 
| - | 
| -function computeId(entry) { | 
| -  var fileSystemId = fileSystemNatives.CrackIsolatedFileSystemName( | 
| -      entry.filesystem.name); | 
| -  if (!fileSystemId) | 
| -    return null; | 
| -  // Strip the leading '/' from the path. | 
| -  return fileSystemId + ':' + $String.slice(entry.fullPath, 1); | 
| -} | 
| - | 
| -function registerEntry(id, entry) { | 
| -  var name = computeName(entry); | 
| -  nameToIds[name] = id; | 
| -  idsToEntries[id] = entry; | 
| -} | 
| - | 
| -function getEntryId(entry) { | 
| -  var name = null; | 
| -  try { | 
| -    name = computeName(entry); | 
| -  } catch(e) { | 
| -    return null; | 
| +define('entryIdManager', [ | 
| +    'file_system_natives', | 
| +    'string', | 
| +], function(fileSystemNatives, $String) { | 
| +  var nameToIds = {}; | 
| +  var idsToEntries = {}; | 
| + | 
| +  function computeName(entry) { | 
| +    return entry.filesystem.name + ':' + entry.fullPath; | 
| +  } | 
| + | 
| +  function computeId(entry) { | 
| +    var fileSystemId = fileSystemNatives.CrackIsolatedFileSystemName( | 
| +        entry.filesystem.name); | 
| +    if (!fileSystemId) | 
| +      return null; | 
| +    // Strip the leading '/' from the path. | 
| +    return fileSystemId + ':' + $String.slice(entry.fullPath, 1); | 
| +  } | 
| + | 
| +  function registerEntry(id, entry) { | 
| +    var name = computeName(entry); | 
| +    nameToIds[name] = id; | 
| +    idsToEntries[id] = entry; | 
| } | 
| -  var id = nameToIds[name]; | 
| -  if (id != null) | 
| -    return id; | 
|  | 
| -  // If an entry has not been registered, compute its id and register it. | 
| -  id = computeId(entry); | 
| -  registerEntry(id, entry); | 
| -  return id; | 
| -} | 
| +  function getEntryId(entry) { | 
| +    var name = null; | 
| +    try { | 
| +      name = computeName(entry); | 
| +    } catch(e) { | 
| +      return null; | 
| +    } | 
| +    var id = nameToIds[name]; | 
| +    if (id != null) | 
| +      return id; | 
| + | 
| +    // If an entry has not been registered, compute its id and register it. | 
| +    id = computeId(entry); | 
| +    registerEntry(id, entry); | 
| +    return id; | 
| +  } | 
|  | 
| -function getEntryById(id) { | 
| -  return idsToEntries[id]; | 
| -} | 
| +  function getEntryById(id) { | 
| +    return idsToEntries[id]; | 
| +  } | 
|  | 
| -exports.registerEntry = registerEntry; | 
| -exports.getEntryId = getEntryId; | 
| -exports.getEntryById = getEntryById; | 
| +  return { | 
| +    registerEntry: registerEntry, | 
| +    getEntryId: getEntryId, | 
| +    getEntryById: getEntryById, | 
| +  }; | 
| +}); | 
|  |