| Index: content/child/fileapi/webfilesystem_impl.cc
 | 
| diff --git a/content/child/fileapi/webfilesystem_impl.cc b/content/child/fileapi/webfilesystem_impl.cc
 | 
| index ac91214f680229c4ad9b12b00bca1bea7204377d..ae3be406f291d8cd724b2e46959c6384132b86e8 100644
 | 
| --- a/content/child/fileapi/webfilesystem_impl.cc
 | 
| +++ b/content/child/fileapi/webfilesystem_impl.cc
 | 
| @@ -154,6 +154,21 @@ void OpenFileSystemCallbackAdapter(
 | 
|        MakeTuple(UTF8ToUTF16(name), root));
 | 
|  }
 | 
|  
 | 
| +void ResolveURLCallbackAdapter(
 | 
| +    int thread_id, int callbacks_id,
 | 
| +    WaitableCallbackResults* waitable_results,
 | 
| +    const fileapi::FileSystemInfo& info,
 | 
| +    const base::FilePath& file_path, bool is_directory) {
 | 
| +  base::FilePath normalized_path(
 | 
| +      fileapi::VirtualPath::GetNormalizedFilePath(file_path));
 | 
| +  CallbackFileSystemCallbacks(
 | 
| +      thread_id, callbacks_id, waitable_results,
 | 
| +      &WebFileSystemCallbacks::didResolveURL,
 | 
| +      MakeTuple(UTF8ToUTF16(info.name), info.root_url,
 | 
| +                static_cast<WebKit::WebFileSystemType>(info.mount_type),
 | 
| +                normalized_path.AsUTF16Unsafe(), is_directory));
 | 
| +}
 | 
| +
 | 
|  void StatusCallbackAdapter(int thread_id, int callbacks_id,
 | 
|                             WaitableCallbackResults* waitable_results,
 | 
|                             base::PlatformFileError error) {
 | 
| @@ -332,6 +347,25 @@ void WebFileSystemImpl::openFileSystem(
 | 
|        make_scoped_ptr(waitable_results));
 | 
|  }
 | 
|  
 | 
| +void WebFileSystemImpl::resolveURL(
 | 
| +    const WebKit::WebURL& filesystem_url,
 | 
| +    WebFileSystemCallbacks callbacks) {
 | 
| +  int callbacks_id = RegisterCallbacks(callbacks);
 | 
| +  WaitableCallbackResults* waitable_results =
 | 
| +      WaitableCallbackResults::MaybeCreate(callbacks);
 | 
| +  CallDispatcherOnMainThread(
 | 
| +      main_thread_loop_.get(),
 | 
| +      &FileSystemDispatcher::ResolveURL,
 | 
| +      MakeTuple(GURL(filesystem_url),
 | 
| +                base::Bind(&ResolveURLCallbackAdapter,
 | 
| +                           CurrentWorkerId(), callbacks_id,
 | 
| +                           base::Unretained(waitable_results)),
 | 
| +                base::Bind(&StatusCallbackAdapter,
 | 
| +                           CurrentWorkerId(), callbacks_id,
 | 
| +                           base::Unretained(waitable_results))),
 | 
| +      make_scoped_ptr(waitable_results));
 | 
| +}
 | 
| +
 | 
|  void WebFileSystemImpl::deleteFileSystem(
 | 
|      const WebKit::WebURL& storage_partition,
 | 
|      WebKit::WebFileSystemType type,
 | 
| @@ -481,7 +515,7 @@ void WebFileSystemImpl::fileExists(
 | 
|        MakeTuple(GURL(path), false /* directory */,
 | 
|                  base::Bind(&StatusCallbackAdapter,
 | 
|                             CurrentWorkerId(), callbacks_id,
 | 
| -base::Unretained(waitable_results))),
 | 
| +                           base::Unretained(waitable_results))),
 | 
|        make_scoped_ptr(waitable_results));
 | 
|  }
 | 
|  
 | 
| 
 |