diff options
author | Steve Block <steveblock@google.com> | 2011-05-18 13:36:51 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2011-05-24 15:38:28 +0100 |
commit | 2fc2651226baac27029e38c9d6ef883fa32084db (patch) | |
tree | e396d4bf89dcce6ed02071be66212495b1df1dec /Source/WebCore/fileapi | |
parent | b3725cedeb43722b3b175aaeff70552e562d2c94 (diff) | |
download | external_webkit-2fc2651226baac27029e38c9d6ef883fa32084db.zip external_webkit-2fc2651226baac27029e38c9d6ef883fa32084db.tar.gz external_webkit-2fc2651226baac27029e38c9d6ef883fa32084db.tar.bz2 |
Merge WebKit at r78450: Initial merge by git.
Change-Id: I6d3e5f1f868ec266a0aafdef66182ddc3f265dc1
Diffstat (limited to 'Source/WebCore/fileapi')
-rw-r--r-- | Source/WebCore/fileapi/Entry.cpp | 16 | ||||
-rw-r--r-- | Source/WebCore/fileapi/Entry.h | 2 | ||||
-rw-r--r-- | Source/WebCore/fileapi/Entry.idl | 1 | ||||
-rw-r--r-- | Source/WebCore/fileapi/FileStreamProxy.cpp | 2 |
4 files changed, 16 insertions, 5 deletions
diff --git a/Source/WebCore/fileapi/Entry.cpp b/Source/WebCore/fileapi/Entry.cpp index 9c3fa4e..53cd576 100644 --- a/Source/WebCore/fileapi/Entry.cpp +++ b/Source/WebCore/fileapi/Entry.cpp @@ -32,13 +32,17 @@ #if ENABLE(FILE_SYSTEM) +#include "AsyncFileSystem.h" #include "DirectoryEntry.h" #include "EntryCallback.h" #include "ErrorCallback.h" #include "FileError.h" #include "FileSystemCallbacks.h" #include "MetadataCallback.h" +#include "ScriptExecutionContext.h" +#include "SecurityOrigin.h" #include "VoidCallback.h" +#include <wtf/text/StringBuilder.h> namespace WebCore { @@ -82,11 +86,15 @@ void Entry::getParent(PassRefPtr<EntryCallback> successCallback, PassRefPtr<Erro filesystem()->scheduleCallback(errorCallback.release(), FileError::create(FileError::INVALID_MODIFICATION_ERR)); } -String Entry::toURI(const String&) +String Entry::toURI() { - // FIXME: to be implemented. - ASSERT_NOT_REACHED(); - return String(); + StringBuilder uriBuilder; + uriBuilder.append("filesystem:"); + uriBuilder.append(filesystem()->scriptExecutionContext()->securityOrigin()->toString()); + uriBuilder.append("/"); + uriBuilder.append(m_fileSystem->asyncFileSystem()->type() == AsyncFileSystem::Temporary ? "temporary" : "persistent"); + uriBuilder.append(m_fullPath); + return uriBuilder.toString(); } } // namespace WebCore diff --git a/Source/WebCore/fileapi/Entry.h b/Source/WebCore/fileapi/Entry.h index 9367f4f..d871262 100644 --- a/Source/WebCore/fileapi/Entry.h +++ b/Source/WebCore/fileapi/Entry.h @@ -57,7 +57,7 @@ public: void remove(PassRefPtr<VoidCallback> successCallback = 0, PassRefPtr<ErrorCallback> errorCallback = 0) const; void getParent(PassRefPtr<EntryCallback> successCallback = 0, PassRefPtr<ErrorCallback> errorCallback = 0) const; - String toURI(const String& mimeType = String()); + String toURI(); protected: Entry(PassRefPtr<DOMFileSystemBase>, const String& fullPath); diff --git a/Source/WebCore/fileapi/Entry.idl b/Source/WebCore/fileapi/Entry.idl index f6fcdb3..f144b31 100644 --- a/Source/WebCore/fileapi/Entry.idl +++ b/Source/WebCore/fileapi/Entry.idl @@ -43,6 +43,7 @@ module storage { void getMetadata(in [Optional, Callback] MetadataCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback); void moveTo(in DirectoryEntry parent, in [Optional, ConvertUndefinedOrNullToNullString] DOMString name, in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback); void copyTo(in DirectoryEntry parent, in [Optional, ConvertUndefinedOrNullToNullString] DOMString name, in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback); + DOMString toURI(); void remove(in [Optional, Callback] VoidCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback); void getParent(in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback); }; diff --git a/Source/WebCore/fileapi/FileStreamProxy.cpp b/Source/WebCore/fileapi/FileStreamProxy.cpp index 5daf983..92b07cd 100644 --- a/Source/WebCore/fileapi/FileStreamProxy.cpp +++ b/Source/WebCore/fileapi/FileStreamProxy.cpp @@ -83,6 +83,8 @@ static void didStart(ScriptExecutionContext*, FileStreamProxy* proxy) void FileStreamProxy::startOnFileThread() { + if (!client()) + return; m_stream->start(); m_context->postTask(createCallbackTask(&didStart, this)); } |