Support handling blob URL and resolve blob references in upload data.

BUG=none
TEST=unittest

Review URL: http://codereview.chromium.org/3282003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57938 0039d316-1c4b-4281-b951-d872f2087c98


CrOS-Libchrome-Original-Commit: 8107004fbfe9f7ea4be59f6620273c1206c12f42
diff --git a/base/file_util_proxy.h b/base/file_util_proxy.h
index 87cd081..ff04e5b 100644
--- a/base/file_util_proxy.h
+++ b/base/file_util_proxy.h
@@ -10,6 +10,10 @@
 #include "base/ref_counted.h"
 #include "base/tracked_objects.h"
 
+namespace file_util {
+struct FileInfo;
+}
+
 namespace base {
 
 class MessageLoopProxy;
@@ -55,6 +59,16 @@
       const FilePath& file_path,
       StatusCallback* callback);
 
+  // Retrieves the information about a file. It is invalid to pass NULL for the
+  // callback.
+  typedef Callback2<bool /*exists*/,
+                    const file_util::FileInfo& /*file_info*/
+                    >::Type GetFileInfoCallback;
+  static bool GetFileInfo(
+      scoped_refptr<MessageLoopProxy> message_loop_proxy,
+      const FilePath& file_path,
+      GetFileInfoCallback* callback);
+
  private:
   DISALLOW_IMPLICIT_CONSTRUCTORS(FileUtilProxy);
 };