| Index: runtime/bin/file.h
 | 
| diff --git a/runtime/bin/file.h b/runtime/bin/file.h
 | 
| index 5bef22c92c33a9b0ebe1570c5a5ad1fea32f0019..c117ff3641442df0d3ad8601307fc7ca237a2895 100644
 | 
| --- a/runtime/bin/file.h
 | 
| +++ b/runtime/bin/file.h
 | 
| @@ -13,6 +13,7 @@
 | 
|  #include "bin/builtin.h"
 | 
|  #include "bin/dartutils.h"
 | 
|  #include "bin/log.h"
 | 
| +#include "bin/namespace.h"
 | 
|  #include "bin/reference_counting.h"
 | 
|  
 | 
|  namespace dart {
 | 
| @@ -172,36 +173,52 @@ class File : public ReferenceCounted<File> {
 | 
|    // reading and writing. If mode contains kWrite and the file does
 | 
|    // not exist the file is created. The file is truncated to length 0 if
 | 
|    // mode contains kTruncate. Assumes we are in an API scope.
 | 
| -  static File* Open(const char* path, FileOpenMode mode);
 | 
| +  static File* Open(Namespace* namespc, const char* path, FileOpenMode mode);
 | 
|  
 | 
|    // Create a file object for the specified stdio file descriptor
 | 
|    // (stdin, stout or stderr).
 | 
|    static File* OpenStdio(int fd);
 | 
|  
 | 
| -  static bool Exists(const char* path);
 | 
| -  static bool Create(const char* path);
 | 
| -  static bool CreateLink(const char* path, const char* target);
 | 
| -  static bool Delete(const char* path);
 | 
| -  static bool DeleteLink(const char* path);
 | 
| -  static bool Rename(const char* old_path, const char* new_path);
 | 
| -  static bool RenameLink(const char* old_path, const char* new_path);
 | 
| -  static bool Copy(const char* old_path, const char* new_path);
 | 
| -  static int64_t LengthFromPath(const char* path);
 | 
| -  static void Stat(const char* path, int64_t* data);
 | 
| -  static time_t LastModified(const char* path);
 | 
| -  static bool SetLastModified(const char* path, int64_t millis);
 | 
| -  static time_t LastAccessed(const char* path);
 | 
| -  static bool SetLastAccessed(const char* path, int64_t millis);
 | 
| +  static bool Exists(Namespace* namespc, const char* path);
 | 
| +  static bool Create(Namespace* namespc, const char* path);
 | 
| +  static bool CreateLink(Namespace* namespc,
 | 
| +                         const char* path,
 | 
| +                         const char* target);
 | 
| +  static bool Delete(Namespace* namespc, const char* path);
 | 
| +  static bool DeleteLink(Namespace* namespc, const char* path);
 | 
| +  static bool Rename(Namespace* namespc,
 | 
| +                     const char* old_path,
 | 
| +                     const char* new_path);
 | 
| +  static bool RenameLink(Namespace* namespc,
 | 
| +                         const char* old_path,
 | 
| +                         const char* new_path);
 | 
| +  static bool Copy(Namespace* namespc,
 | 
| +                   const char* old_path,
 | 
| +                   const char* new_path);
 | 
| +  static int64_t LengthFromPath(Namespace* namespc, const char* path);
 | 
| +  static void Stat(Namespace* namespc, const char* path, int64_t* data);
 | 
| +  static time_t LastModified(Namespace* namespc, const char* path);
 | 
| +  static bool SetLastModified(Namespace* namespc,
 | 
| +                              const char* path,
 | 
| +                              int64_t millis);
 | 
| +  static time_t LastAccessed(Namespace* namespc, const char* path);
 | 
| +  static bool SetLastAccessed(Namespace* namespc,
 | 
| +                              const char* path,
 | 
| +                              int64_t millis);
 | 
|    static bool IsAbsolutePath(const char* path);
 | 
|    static const char* PathSeparator();
 | 
|    static const char* StringEscapedPathSeparator();
 | 
| -  static Type GetType(const char* path, bool follow_links);
 | 
| -  static Identical AreIdentical(const char* file_1, const char* file_2);
 | 
| +  static Type GetType(Namespace* namespc, const char* path, bool follow_links);
 | 
| +  static Identical AreIdentical(Namespace* namespc,
 | 
| +                                const char* file_1,
 | 
| +                                const char* file_2);
 | 
|    static StdioHandleType GetStdioHandleType(int fd);
 | 
|  
 | 
| -  // LinkTarget and GetCanonicalPath may call Dart_ScopeAllocate.
 | 
| -  static const char* LinkTarget(const char* pathname);
 | 
| -  static const char* GetCanonicalPath(const char* path);
 | 
| +  // LinkTarget, GetCanonicalPath, and ReadLink may call Dart_ScopeAllocate.
 | 
| +  static const char* LinkTarget(Namespace* namespc, const char* pathname);
 | 
| +  static const char* GetCanonicalPath(Namespace* namespc, const char* path);
 | 
| +  // Link LinkTarget, but pathname must be absolute.
 | 
| +  static const char* ReadLink(const char* pathname);
 | 
|  
 | 
|    static FileOpenMode DartModeToFileMode(DartFileOpenMode mode);
 | 
|  
 | 
| 
 |