| 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); | 
|  | 
|  |