summaryrefslogtreecommitdiffstats
path: root/WebCore/fileapi
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2011-05-06 11:45:16 +0100
committerSteve Block <steveblock@google.com>2011-05-12 13:44:10 +0100
commitcad810f21b803229eb11403f9209855525a25d57 (patch)
tree29a6fd0279be608e0fe9ffe9841f722f0f4e4269 /WebCore/fileapi
parent121b0cf4517156d0ac5111caf9830c51b69bae8f (diff)
downloadexternal_webkit-cad810f21b803229eb11403f9209855525a25d57.zip
external_webkit-cad810f21b803229eb11403f9209855525a25d57.tar.gz
external_webkit-cad810f21b803229eb11403f9209855525a25d57.tar.bz2
Merge WebKit at r75315: Initial merge by git.
Change-Id: I570314b346ce101c935ed22a626b48c2af266b84
Diffstat (limited to 'WebCore/fileapi')
-rw-r--r--WebCore/fileapi/AsyncFileWriter.h61
-rw-r--r--WebCore/fileapi/AsyncFileWriterClient.h53
-rw-r--r--WebCore/fileapi/Blob.cpp103
-rw-r--r--WebCore/fileapi/Blob.h86
-rw-r--r--WebCore/fileapi/Blob.idl46
-rw-r--r--WebCore/fileapi/BlobBuilder.cpp132
-rw-r--r--WebCore/fileapi/BlobBuilder.h70
-rw-r--r--WebCore/fileapi/BlobBuilder.idl48
-rw-r--r--WebCore/fileapi/BlobURL.cpp83
-rw-r--r--WebCore/fileapi/BlobURL.h65
-rw-r--r--WebCore/fileapi/DOMFilePath.cpp166
-rw-r--r--WebCore/fileapi/DOMFilePath.h86
-rw-r--r--WebCore/fileapi/DOMFileSystem.cpp122
-rw-r--r--WebCore/fileapi/DOMFileSystem.h112
-rw-r--r--WebCore/fileapi/DOMFileSystem.idl39
-rw-r--r--WebCore/fileapi/DOMFileSystemBase.cpp204
-rw-r--r--WebCore/fileapi/DOMFileSystemBase.h89
-rw-r--r--WebCore/fileapi/DOMFileSystemSync.cpp172
-rw-r--r--WebCore/fileapi/DOMFileSystemSync.h71
-rw-r--r--WebCore/fileapi/DOMFileSystemSync.idl39
-rw-r--r--WebCore/fileapi/DirectoryEntry.cpp77
-rw-r--r--WebCore/fileapi/DirectoryEntry.h71
-rw-r--r--WebCore/fileapi/DirectoryEntry.idl43
-rw-r--r--WebCore/fileapi/DirectoryEntrySync.cpp89
-rw-r--r--WebCore/fileapi/DirectoryEntrySync.h69
-rw-r--r--WebCore/fileapi/DirectoryEntrySync.idl43
-rw-r--r--WebCore/fileapi/DirectoryReader.cpp59
-rw-r--r--WebCore/fileapi/DirectoryReader.h67
-rw-r--r--WebCore/fileapi/DirectoryReader.idl38
-rw-r--r--WebCore/fileapi/DirectoryReaderBase.h68
-rw-r--r--WebCore/fileapi/DirectoryReaderSync.cpp69
-rw-r--r--WebCore/fileapi/DirectoryReaderSync.h61
-rw-r--r--WebCore/fileapi/DirectoryReaderSync.idl38
-rw-r--r--WebCore/fileapi/EntriesCallback.h52
-rw-r--r--WebCore/fileapi/EntriesCallback.idl38
-rw-r--r--WebCore/fileapi/Entry.cpp94
-rw-r--r--WebCore/fileapi/Entry.h70
-rw-r--r--WebCore/fileapi/Entry.idl49
-rw-r--r--WebCore/fileapi/EntryArray.cpp51
-rw-r--r--WebCore/fileapi/EntryArray.h67
-rw-r--r--WebCore/fileapi/EntryArray.idl40
-rw-r--r--WebCore/fileapi/EntryArraySync.cpp63
-rw-r--r--WebCore/fileapi/EntryArraySync.h70
-rw-r--r--WebCore/fileapi/EntryArraySync.idl40
-rw-r--r--WebCore/fileapi/EntryBase.h81
-rw-r--r--WebCore/fileapi/EntryCallback.h52
-rw-r--r--WebCore/fileapi/EntryCallback.idl38
-rw-r--r--WebCore/fileapi/EntrySync.cpp112
-rw-r--r--WebCore/fileapi/EntrySync.h68
-rw-r--r--WebCore/fileapi/EntrySync.idl49
-rw-r--r--WebCore/fileapi/ErrorCallback.h52
-rw-r--r--WebCore/fileapi/ErrorCallback.idl38
-rw-r--r--WebCore/fileapi/File.cpp106
-rw-r--r--WebCore/fileapi/File.h95
-rw-r--r--WebCore/fileapi/File.idl46
-rw-r--r--WebCore/fileapi/FileCallback.h51
-rw-r--r--WebCore/fileapi/FileCallback.idl38
-rw-r--r--WebCore/fileapi/FileEntry.cpp61
-rw-r--r--WebCore/fileapi/FileEntry.h64
-rw-r--r--WebCore/fileapi/FileEntry.idl41
-rw-r--r--WebCore/fileapi/FileEntrySync.cpp58
-rw-r--r--WebCore/fileapi/FileEntrySync.h67
-rw-r--r--WebCore/fileapi/FileEntrySync.idl41
-rw-r--r--WebCore/fileapi/FileError.h75
-rw-r--r--WebCore/fileapi/FileError.idl53
-rw-r--r--WebCore/fileapi/FileException.h83
-rw-r--r--WebCore/fileapi/FileException.idl61
-rw-r--r--WebCore/fileapi/FileList.cpp44
-rw-r--r--WebCore/fileapi/FileList.h59
-rw-r--r--WebCore/fileapi/FileList.idl36
-rw-r--r--WebCore/fileapi/FileReader.cpp258
-rw-r--r--WebCore/fileapi/FileReader.h145
-rw-r--r--WebCore/fileapi/FileReader.idl66
-rw-r--r--WebCore/fileapi/FileReaderLoader.cpp323
-rw-r--r--WebCore/fileapi/FileReaderLoader.h119
-rw-r--r--WebCore/fileapi/FileReaderLoaderClient.h52
-rw-r--r--WebCore/fileapi/FileReaderSync.cpp101
-rw-r--r--WebCore/fileapi/FileReaderSync.h76
-rw-r--r--WebCore/fileapi/FileReaderSync.idl46
-rw-r--r--WebCore/fileapi/FileStreamProxy.cpp219
-rw-r--r--WebCore/fileapi/FileStreamProxy.h92
-rw-r--r--WebCore/fileapi/FileSystemCallback.h52
-rw-r--r--WebCore/fileapi/FileSystemCallback.idl38
-rw-r--r--WebCore/fileapi/FileSystemCallbacks.cpp259
-rw-r--r--WebCore/fileapi/FileSystemCallbacks.h161
-rw-r--r--WebCore/fileapi/FileThread.cpp119
-rw-r--r--WebCore/fileapi/FileThread.h88
-rw-r--r--WebCore/fileapi/FileThreadTask.h227
-rw-r--r--WebCore/fileapi/FileWriter.cpp200
-rw-r--r--WebCore/fileapi/FileWriter.h119
-rw-r--r--WebCore/fileapi/FileWriter.idl62
-rw-r--r--WebCore/fileapi/FileWriterBase.cpp76
-rw-r--r--WebCore/fileapi/FileWriterBase.h94
-rw-r--r--WebCore/fileapi/FileWriterBaseCallback.h52
-rw-r--r--WebCore/fileapi/FileWriterCallback.h52
-rw-r--r--WebCore/fileapi/FileWriterCallback.idl38
-rw-r--r--WebCore/fileapi/FileWriterSync.cpp148
-rw-r--r--WebCore/fileapi/FileWriterSync.h79
-rw-r--r--WebCore/fileapi/FileWriterSync.idl43
-rw-r--r--WebCore/fileapi/Flags.h67
-rw-r--r--WebCore/fileapi/Flags.idl40
-rw-r--r--WebCore/fileapi/LocalFileSystem.cpp98
-rw-r--r--WebCore/fileapi/LocalFileSystem.h94
-rw-r--r--WebCore/fileapi/Metadata.h68
-rw-r--r--WebCore/fileapi/Metadata.idl38
-rw-r--r--WebCore/fileapi/MetadataCallback.h52
-rw-r--r--WebCore/fileapi/MetadataCallback.idl38
-rw-r--r--WebCore/fileapi/SyncCallbackHelper.h186
-rw-r--r--WebCore/fileapi/ThreadableBlobRegistry.cpp130
-rw-r--r--WebCore/fileapi/ThreadableBlobRegistry.h50
110 files changed, 0 insertions, 9107 deletions
diff --git a/WebCore/fileapi/AsyncFileWriter.h b/WebCore/fileapi/AsyncFileWriter.h
deleted file mode 100644
index d6a28d5..0000000
--- a/WebCore/fileapi/AsyncFileWriter.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef AsyncFileWriter_h
-#define AsyncFileWriter_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "PlatformString.h"
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class Blob;
-
-class AsyncFileWriter {
-public:
- virtual ~AsyncFileWriter() {}
-
- virtual void write(long long position, Blob* data) = 0;
- virtual void truncate(long long length) = 0;
- virtual void abort() = 0;
- virtual bool waitForOperationToComplete() // Needed for FileWriterSync only.
- {
- return false;
- }
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // AsyncFileWriter_h
-
diff --git a/WebCore/fileapi/AsyncFileWriterClient.h b/WebCore/fileapi/AsyncFileWriterClient.h
deleted file mode 100644
index 929f523..0000000
--- a/WebCore/fileapi/AsyncFileWriterClient.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef AsyncFileWriterClient_h
-#define AsyncFileWriterClient_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "FileError.h"
-
-namespace WebCore {
-
-class AsyncFileWriterClient {
-public:
- virtual ~AsyncFileWriterClient() {}
-
- virtual void didWrite(long long bytes, bool complete) = 0;
- virtual void didTruncate() = 0;
- virtual void didFail(FileError::ErrorCode) = 0;
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // AsyncFileWriterClient_h
diff --git a/WebCore/fileapi/Blob.cpp b/WebCore/fileapi/Blob.cpp
deleted file mode 100644
index 90df3c4..0000000
--- a/WebCore/fileapi/Blob.cpp
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "Blob.h"
-
-#include "BlobURL.h"
-#include "File.h"
-#include "ThreadableBlobRegistry.h"
-
-namespace WebCore {
-
-Blob::Blob(PassOwnPtr<BlobData> blobData, long long size)
- : m_type(blobData->contentType())
- , m_size(size)
-{
- ASSERT(blobData);
-
- // Create a new internal URL and register it with the provided blob data.
- m_internalURL = BlobURL::createInternalURL();
- ThreadableBlobRegistry::registerBlobURL(m_internalURL, blobData);
-}
-
-Blob::Blob(const KURL& srcURL, const String& type, long long size)
- : m_type(type)
- , m_size(size)
-{
- // Create a new internal URL and register it with the same blob data as the source URL.
- m_internalURL = BlobURL::createInternalURL();
- ThreadableBlobRegistry::registerBlobURL(m_internalURL, srcURL);
-}
-
-Blob::~Blob()
-{
- ThreadableBlobRegistry::unregisterBlobURL(m_internalURL);
-}
-
-#if ENABLE(BLOB)
-PassRefPtr<Blob> Blob::slice(long long start, long long length, const String& contentType) const
-{
- // When we slice a file for the first time, we obtain a snapshot of the file by capturing its current size and modification time.
- // The modification time will be used to verify if the file has been changed or not, when the underlying data are accessed.
- long long size;
- double modificationTime;
- if (isFile())
- // FIXME: This involves synchronous file operation. We need to figure out how to make it asynchronous.
- static_cast<const File*>(this)->captureSnapshot(size, modificationTime);
- else {
- ASSERT(m_size != -1);
- size = m_size;
- }
-
- // Clamp the range if it exceeds the size limit.
- if (start < 0)
- start = 0;
- if (length < 0)
- length = 0;
-
- if (start >= size) {
- start = 0;
- length = 0;
- } else if (start + length > size || length > std::numeric_limits<long long>::max() - start)
- length = size - start;
-
- OwnPtr<BlobData> blobData = BlobData::create();
- blobData->setContentType(contentType);
- if (isFile())
- blobData->appendFile(static_cast<const File*>(this)->path(), start, length, modificationTime);
- else
- blobData->appendBlob(m_internalURL, start, length);
-
- return Blob::create(blobData.release(), length);
-}
-#endif
-
-} // namespace WebCore
diff --git a/WebCore/fileapi/Blob.h b/WebCore/fileapi/Blob.h
deleted file mode 100644
index 2690ff5..0000000
--- a/WebCore/fileapi/Blob.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef Blob_h
-#define Blob_h
-
-#include "BlobData.h"
-#include "KURL.h"
-#include "PlatformString.h"
-#include <wtf/PassOwnPtr.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/Vector.h>
-
-namespace WebCore {
-
-class Blob : public RefCounted<Blob> {
-public:
- static PassRefPtr<Blob> create(PassOwnPtr<BlobData> blobData, long long size)
- {
- return adoptRef(new Blob(blobData, size));
- }
-
- // For deserialization.
- static PassRefPtr<Blob> create(const KURL& srcURL, const String& type, long long size)
- {
- return adoptRef(new Blob(srcURL, type, size));
- }
-
- virtual ~Blob();
-
- const KURL& url() const { return m_internalURL; }
- const String& type() const { return m_type; }
-
- virtual unsigned long long size() const { return static_cast<unsigned long long>(m_size); }
- virtual bool isFile() const { return false; }
-
-#if ENABLE(BLOB)
- PassRefPtr<Blob> slice(long long start, long long length, const String& contentType = String()) const;
-#endif
-
-protected:
- Blob(PassOwnPtr<BlobData>, long long size);
-
- // For deserialization.
- Blob(const KURL& srcURL, const String& type, long long size);
-
- // This is an internal URL referring to the blob data associated with this object. It serves
- // as an identifier for this blob. The internal URL is never used to source the blob's content
- // into an HTML or for FileRead'ing, public blob URLs must be used for those purposes.
- KURL m_internalURL;
-
- String m_type;
- long long m_size;
-};
-
-} // namespace WebCore
-
-#endif // Blob_h
diff --git a/WebCore/fileapi/Blob.idl b/WebCore/fileapi/Blob.idl
deleted file mode 100644
index 297d039..0000000
--- a/WebCore/fileapi/Blob.idl
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module html {
-
- interface [
- NoStaticTables
- ] Blob {
- readonly attribute unsigned long long size;
- readonly attribute DOMString type;
-
-#if !defined(LANGUAGE_OBJECTIVE_C)
-#if defined(ENABLE_BLOB) && ENABLE_BLOB
- Blob slice(in long long start, in long long length, in [Optional, ConvertUndefinedOrNullToNullString] DOMString contentType);
-#endif
-#endif
- };
-
-}
diff --git a/WebCore/fileapi/BlobBuilder.cpp b/WebCore/fileapi/BlobBuilder.cpp
deleted file mode 100644
index 9406899..0000000
--- a/WebCore/fileapi/BlobBuilder.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#include "BlobBuilder.h"
-
-#include "ArrayBuffer.h"
-#include "Blob.h"
-#include "ExceptionCode.h"
-#include "File.h"
-#include "LineEnding.h"
-#include "TextEncoding.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/Vector.h>
-#include <wtf/text/AtomicString.h>
-#include <wtf/text/CString.h>
-
-namespace WebCore {
-
-BlobBuilder::BlobBuilder()
- : m_size(0)
-{
-}
-
-Vector<char>& BlobBuilder::getBuffer()
-{
- // If the last item is not a data item, create one. Otherwise, we simply append the new string to the last data item.
- if (m_items.isEmpty() || m_items[m_items.size() - 1].type != BlobDataItem::Data)
- m_items.append(BlobDataItem(RawData::create()));
-
- return *m_items[m_items.size() - 1].data->mutableData();
-}
-
-void BlobBuilder::append(const String& text, const String& endingType, ExceptionCode& ec)
-{
- bool isEndingTypeTransparent = endingType == "transparent";
- bool isEndingTypeNative = endingType == "native";
- if (!endingType.isEmpty() && !isEndingTypeTransparent && !isEndingTypeNative) {
- ec = SYNTAX_ERR;
- return;
- }
-
- CString utf8Text = UTF8Encoding().encode(text.characters(), text.length(), EntitiesForUnencodables);
-
- Vector<char>& buffer = getBuffer();
- size_t oldSize = buffer.size();
-
- if (isEndingTypeNative)
- normalizeLineEndingsToNative(utf8Text, buffer);
- else
- buffer.append(utf8Text.data(), utf8Text.length());
- m_size += buffer.size() - oldSize;
-}
-
-void BlobBuilder::append(const String& text, ExceptionCode& ec)
-{
- append(text, String(), ec);
-}
-
-#if ENABLE(BLOB)
-void BlobBuilder::append(ArrayBuffer* arrayBuffer)
-{
- Vector<char>& buffer = getBuffer();
- size_t oldSize = buffer.size();
- buffer.append(static_cast<const char*>(arrayBuffer->data()), arrayBuffer->byteLength());
- m_size += buffer.size() - oldSize;
-}
-#endif
-
-void BlobBuilder::append(Blob* blob)
-{
- if (blob->isFile()) {
- // If the blob is file that is not snapshoted, capture the snapshot now.
- // FIXME: This involves synchronous file operation. We need to figure out how to make it asynchronous.
- File* file = static_cast<File*>(blob);
- long long snapshotSize;
- double snapshotModificationTime;
- file->captureSnapshot(snapshotSize, snapshotModificationTime);
-
- m_size += snapshotSize;
- m_items.append(BlobDataItem(file->path(), 0, snapshotSize, snapshotModificationTime));
- } else {
- long long blobSize = static_cast<long long>(blob->size());
- m_size += blobSize;
- m_items.append(BlobDataItem(blob->url(), 0, blobSize));
- }
-}
-
-PassRefPtr<Blob> BlobBuilder::getBlob(const String& contentType)
-{
- OwnPtr<BlobData> blobData = BlobData::create();
- blobData->setContentType(contentType);
- blobData->swapItems(m_items);
-
- RefPtr<Blob> blob = Blob::create(blobData.release(), m_size);
-
- // After creating a blob from the current blob data, we do not need to keep the data around any more. Instead, we only
- // need to keep a reference to the URL of the blob just created.
- m_items.append(BlobDataItem(blob->url(), 0, m_size));
-
- return blob;
-}
-
-} // namespace WebCore
diff --git a/WebCore/fileapi/BlobBuilder.h b/WebCore/fileapi/BlobBuilder.h
deleted file mode 100644
index db46591..0000000
--- a/WebCore/fileapi/BlobBuilder.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef BlobBuilder_h
-#define BlobBuilder_h
-
-#include "BlobData.h"
-#include <wtf/Forward.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class ArrayBuffer;
-class Blob;
-class TextEncoding;
-
-typedef int ExceptionCode;
-
-class BlobBuilder : public RefCounted<BlobBuilder> {
-public:
- static PassRefPtr<BlobBuilder> create() { return adoptRef(new BlobBuilder()); }
-
- void append(Blob*);
- void append(const String& text, ExceptionCode&);
- void append(const String& text, const String& ending, ExceptionCode&);
-#if ENABLE(BLOB)
- void append(ArrayBuffer*);
-#endif
-
- PassRefPtr<Blob> getBlob(const String& contentType = String());
-
-private:
- BlobBuilder();
-
- Vector<char>& getBuffer();
-
- long long m_size;
- BlobDataItemList m_items;
-};
-
-} // namespace WebCore
-
-#endif // BlobBuilder_h
diff --git a/WebCore/fileapi/BlobBuilder.idl b/WebCore/fileapi/BlobBuilder.idl
deleted file mode 100644
index 8f5049f..0000000
--- a/WebCore/fileapi/BlobBuilder.idl
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module html {
- interface [
- CanBeConstructed,
- GenerateNativeConverter,
- NoStaticTables
- ] BlobBuilder {
-#if !defined(LANGUAGE_OBJECTIVE_C)
- Blob getBlob(in [Optional, ConvertUndefinedOrNullToNullString] DOMString contentType);
-#endif
- void append(in Blob blob);
-#if defined(ENABLE_BLOB) && ENABLE_BLOB
- void append(in ArrayBuffer arrayBuffer);
-#endif
- void append(in DOMString value, in [Optional, ConvertUndefinedOrNullToNullString] DOMString endings) raises (DOMException);
- };
-
-}
-
diff --git a/WebCore/fileapi/BlobURL.cpp b/WebCore/fileapi/BlobURL.cpp
deleted file mode 100644
index 47ebe8d..0000000
--- a/WebCore/fileapi/BlobURL.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#include "BlobURL.h"
-
-#include "KURL.h"
-#include "PlatformString.h"
-#include "SecurityOrigin.h"
-#include "UUID.h"
-
-namespace WebCore {
-
-const char BlobURL::kBlobProtocol[] = "blob";
-
-KURL BlobURL::createPublicURL(SecurityOrigin* securityOrigin)
-{
- ASSERT(securityOrigin);
- return createBlobURL(securityOrigin->toString());
-}
-
-KURL BlobURL::createInternalURL()
-{
- return createBlobURL("blobinternal://");
-}
-
-KURL BlobURL::getOrigin(const KURL& url)
-{
- ASSERT(url.protocolIs(kBlobProtocol));
-
- unsigned startIndex = url.pathStart();
- unsigned afterEndIndex = url.pathAfterLastSlash();
- String origin = url.string().substring(startIndex, afterEndIndex - startIndex);
- return KURL(ParsedURLString, decodeURLEscapeSequences(origin));
-}
-
-String BlobURL::getIdentifier(const KURL& url)
-{
- ASSERT(url.protocolIs(kBlobProtocol));
-
- unsigned startIndex = url.pathAfterLastSlash();
- return url.string().substring(startIndex);
-}
-
-KURL BlobURL::createBlobURL(const String& originString)
-{
- String urlString = kBlobProtocol;
- urlString += ":";
- urlString += encodeWithURLEscapeSequences(originString);
- urlString += "/";
- urlString += createCanonicalUUIDString();
- return KURL(ParsedURLString, urlString);
-}
-
-} // namespace WebCore
diff --git a/WebCore/fileapi/BlobURL.h b/WebCore/fileapi/BlobURL.h
deleted file mode 100644
index 4526e63..0000000
--- a/WebCore/fileapi/BlobURL.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef BlobURL_h
-#define BlobURL_h
-
-#include "KURL.h"
-
-namespace WebCore {
-
-class SecurityOrigin;
-
-// Blob URLs are of the form
-// blob:%escaped_origin%/%UUID%
-// For public urls, the origin of the host page is encoded in the URL value to
-// allow easy lookup of the origin when security checks need to be performed.
-// When loading blobs via ResourceHandle or when reading blobs via FileReader
-// the loader conducts security checks that examine the origin of host page
-// encoded in the public blob url. The origin baked into internal blob urls
-// is a simple constant value, "blobinternal://", internal urls should not
-// be used with ResourceHandle or FileReader.
-class BlobURL {
-public:
- static KURL createPublicURL(SecurityOrigin*);
- static KURL createInternalURL();
- static KURL getOrigin(const KURL&);
- static String getIdentifier(const KURL&);
- static const char* blobProtocol() { return kBlobProtocol; }
-
-private:
- static KURL createBlobURL(const String& originString);
- static const char kBlobProtocol[];
- BlobURL() { }
-};
-
-}
-
-#endif // BlobURL_h
diff --git a/WebCore/fileapi/DOMFilePath.cpp b/WebCore/fileapi/DOMFilePath.cpp
deleted file mode 100644
index 1e0d788..0000000
--- a/WebCore/fileapi/DOMFilePath.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "DOMFilePath.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "RegularExpression.h"
-#include <wtf/Vector.h>
-#include <wtf/text/CString.h>
-
-namespace WebCore {
-
-const char DOMFilePath::separator = '/';
-const char DOMFilePath::root[] = "/";
-
-String DOMFilePath::append(const String& base, const String& components)
-{
- return ensureDirectoryPath(base) + components;
-}
-
-String DOMFilePath::ensureDirectoryPath(const String& path)
-{
- if (!DOMFilePath::endsWithSeparator(path)) {
- String newPath = path;
- newPath.append(DOMFilePath::separator);
- return newPath;
- }
- return path;
-}
-
-String DOMFilePath::getName(const String& path)
-{
- int index = path.reverseFind(DOMFilePath::separator);
- if (index != -1)
- return path.substring(index + 1);
- return path;
-}
-
-String DOMFilePath::getDirectory(const String& path)
-{
- int index = path.reverseFind(DOMFilePath::separator);
- if (index == 0)
- return DOMFilePath::root;
- if (index != -1)
- return path.substring(0, index);
- return ".";
-}
-
-bool DOMFilePath::isParentOf(const String& parent, const String& mayBeChild)
-{
- ASSERT(DOMFilePath::isAbsolute(parent));
- ASSERT(DOMFilePath::isAbsolute(mayBeChild));
- if (parent == DOMFilePath::root && mayBeChild != DOMFilePath::root)
- return true;
- if (parent.length() >= mayBeChild.length() || !mayBeChild.startsWith(parent, false))
- return false;
- if (mayBeChild[parent.length()] != DOMFilePath::separator)
- return false;
- return true;
-}
-
-String DOMFilePath::removeExtraParentReferences(const String& path)
-{
- ASSERT(DOMFilePath::isAbsolute(path));
- Vector<String> components;
- Vector<String> canonicalized;
- path.split(DOMFilePath::separator, components);
- for (size_t i = 0; i < components.size(); ++i) {
- if (components[i] == ".")
- continue;
- if (components[i] == "..") {
- if (canonicalized.size() > 0)
- canonicalized.removeLast();
- continue;
- }
- canonicalized.append(components[i]);
- }
- if (canonicalized.isEmpty())
- return DOMFilePath::root;
- String result;
- for (size_t i = 0; i < canonicalized.size(); ++i) {
- result.append(DOMFilePath::separator);
- result.append(canonicalized[i]);
- }
- return result;
-}
-
-// Check the naming restrictions defined in FileSystem API 8.3.
-// http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#naming-restrictions
-bool DOMFilePath::isValidPath(const String& path)
-{
- if (path.isEmpty() || path == DOMFilePath::root)
- return true;
-
- // Chars 0-31 in UTF-8 prepresentation are not allowed.
- for (size_t i = 0; i < path.length(); ++i)
- if (path[i] < 32)
- return false;
-
- // Unallowed names.
- DEFINE_STATIC_LOCAL(RegularExpression, unallowedNamesRegExp1, ("(/|^)(CON|PRN|AUX|NUL)([\\./]|$)", TextCaseInsensitive));
- DEFINE_STATIC_LOCAL(RegularExpression, unallowedNamesRegExp2, ("(/|^)(COM|LPT)[1-9]([\\./]|$)", TextCaseInsensitive));
-
- if (unallowedNamesRegExp1.match(path) >= 0)
- return false;
- if (unallowedNamesRegExp2.match(path) >= 0)
- return false;
-
- // Names must not end with period or whitespace.
- DEFINE_STATIC_LOCAL(RegularExpression, endingRegExp, ("[\\.\\s](/|$)", TextCaseInsensitive));
-
- if (endingRegExp.match(path) >= 0)
- return false;
-
- // Unallowed chars: '\', '<', '>', ':', '?', '*', '"', '|'
- // (We don't check '/' here as this method takes paths as its argument.)
- DEFINE_STATIC_LOCAL(RegularExpression, unallowedCharsRegExp, ("[\\\\<>:\\?\\*\"|]", TextCaseInsensitive));
-
- if (unallowedCharsRegExp.match(path) >= 0)
- return false;
-
- return true;
-}
-
-bool DOMFilePath::isValidName(const String& name)
-{
- if (name.isEmpty())
- return true;
- // '/' is not allowed in name.
- if (name.contains('/'))
- return false;
- return isValidPath(name);
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/DOMFilePath.h b/WebCore/fileapi/DOMFilePath.h
deleted file mode 100644
index 2f2bb23..0000000
--- a/WebCore/fileapi/DOMFilePath.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef DOMFilePath_h
-#define DOMFilePath_h
-
-#include "PlatformString.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-// DOMFileSystem path utilities. All methods in this class are static.
-class DOMFilePath {
-public:
- static const char separator;
- static const char root[];
-
- // Returns the name part from the given path.
- static String getName(const String& path);
-
- // Returns the parent directory path of the given path.
- static String getDirectory(const String& path);
-
- // Checks if a given path is a parent of mayBeChild. This method assumes given paths are absolute and do not have extra references to a parent (i.e. "../").
- static bool isParentOf(const String& path, const String& mayBeChild);
-
- // Appends the separator at the end of the path if it's not there already.
- static String ensureDirectoryPath(const String& path);
-
- // Returns a new path by appending a separator and the supplied path component to the path.
- static String append(const String& path, const String& component);
-
- static bool isAbsolute(const String& path)
- {
- return path.startsWith(DOMFilePath::root);
- }
-
- static bool endsWithSeparator(const String& path)
- {
- return path[path.length() - 1] == DOMFilePath::separator;
- }
-
- // Evaluates all "../" and "./" segments. Note that "/../" expands to "/", so you can't ever refer to anything above the root directory.
- static String removeExtraParentReferences(const String& path);
-
- // Checks if the given path follows the FileSystem API naming restrictions.
- static bool isValidPath(const String& path);
-
- // Checks if the given name follows the FileSystem API naming restrictions.
- static bool isValidName(const String& name);
-
-private:
- DOMFilePath() { }
-};
-
-} // namespace WebCore
-
-#endif // DOMFilePath_h
diff --git a/WebCore/fileapi/DOMFileSystem.cpp b/WebCore/fileapi/DOMFileSystem.cpp
deleted file mode 100644
index f4ebe7c..0000000
--- a/WebCore/fileapi/DOMFileSystem.cpp
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "DOMFileSystem.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "AsyncFileSystem.h"
-#include "DOMFilePath.h"
-#include "DirectoryEntry.h"
-#include "ErrorCallback.h"
-#include "File.h"
-#include "FileEntry.h"
-#include "FileSystemCallbacks.h"
-#include "FileWriter.h"
-#include "FileWriterBaseCallback.h"
-#include "FileWriterCallback.h"
-#include "MetadataCallback.h"
-#include "ScriptExecutionContext.h"
-#include <wtf/OwnPtr.h>
-
-namespace WebCore {
-
-DOMFileSystem::DOMFileSystem(ScriptExecutionContext* context, const String& name, PassOwnPtr<AsyncFileSystem> asyncFileSystem)
- : DOMFileSystemBase(name, asyncFileSystem)
- , ActiveDOMObject(context, this)
-{
-}
-
-PassRefPtr<DirectoryEntry> DOMFileSystem::root()
-{
- return DirectoryEntry::create(this, DOMFilePath::root);
-}
-
-void DOMFileSystem::stop()
-{
- m_asyncFileSystem->stop();
-}
-
-bool DOMFileSystem::hasPendingActivity() const
-{
- return m_asyncFileSystem->hasPendingActivity();
-}
-
-void DOMFileSystem::contextDestroyed()
-{
- m_asyncFileSystem->stop();
- ActiveDOMObject::contextDestroyed();
-}
-
-namespace {
-
-class ConvertToFileWriterCallback : public FileWriterBaseCallback {
-public:
- static PassRefPtr<ConvertToFileWriterCallback> create(PassRefPtr<FileWriterCallback> callback)
- {
- return adoptRef(new ConvertToFileWriterCallback(callback));
- }
-
- bool handleEvent(FileWriterBase* fileWriterBase)
- {
- return m_callback->handleEvent(static_cast<FileWriter*>(fileWriterBase));
- }
-private:
- ConvertToFileWriterCallback(PassRefPtr<FileWriterCallback> callback)
- : m_callback(callback)
- {
- }
- RefPtr<FileWriterCallback> m_callback;
-};
-
-}
-
-void DOMFileSystem::createWriter(const FileEntry* fileEntry, PassRefPtr<FileWriterCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
-{
- ASSERT(fileEntry);
-
- String platformPath = m_asyncFileSystem->virtualToPlatformPath(fileEntry->fullPath());
-
- RefPtr<FileWriter> fileWriter = FileWriter::create(scriptExecutionContext());
- RefPtr<FileWriterBaseCallback> conversionCallback = ConvertToFileWriterCallback::create(successCallback);
- OwnPtr<FileWriterBaseCallbacks> callbacks = FileWriterBaseCallbacks::create(fileWriter, conversionCallback, errorCallback);
- m_asyncFileSystem->createWriter(fileWriter.get(), platformPath, callbacks.release());
-}
-
-void DOMFileSystem::createFile(const FileEntry* fileEntry, PassRefPtr<FileCallback> successCallback, PassRefPtr<ErrorCallback>)
-{
- String platformPath = m_asyncFileSystem->virtualToPlatformPath(fileEntry->fullPath());
- scheduleCallback(successCallback, File::create(platformPath));
-}
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/DOMFileSystem.h b/WebCore/fileapi/DOMFileSystem.h
deleted file mode 100644
index 1d820f1..0000000
--- a/WebCore/fileapi/DOMFileSystem.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef DOMFileSystem_h
-#define DOMFileSystem_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "ActiveDOMObject.h"
-#include "DOMFileSystemBase.h"
-#include "ScriptExecutionContext.h"
-
-namespace WebCore {
-
-class DirectoryEntry;
-class File;
-class FileCallback;
-class FileEntry;
-class FileWriterCallback;
-
-class DOMFileSystem : public DOMFileSystemBase, public ActiveDOMObject {
-public:
- static PassRefPtr<DOMFileSystem> create(ScriptExecutionContext* context, const String& name, PassOwnPtr<AsyncFileSystem> asyncFileSystem)
- {
- return adoptRef(new DOMFileSystem(context, name, asyncFileSystem));
- }
-
- PassRefPtr<DirectoryEntry> root();
-
- // ActiveDOMObject methods.
- virtual void stop();
- virtual bool hasPendingActivity() const;
- virtual void contextDestroyed();
-
- void createWriter(const FileEntry*, PassRefPtr<FileWriterCallback>, PassRefPtr<ErrorCallback>);
- void createFile(const FileEntry*, PassRefPtr<FileCallback>, PassRefPtr<ErrorCallback>);
-
- // Schedule a callback. This should not cross threads (should be called on the same context thread).
- // FIXME: move this to a more generic place.
- template <typename CB, typename CBArg>
- static void scheduleCallback(ScriptExecutionContext*, PassRefPtr<CB>, PassRefPtr<CBArg>);
-
- template <typename CB, typename CBArg>
- void scheduleCallback(PassRefPtr<CB> callback, PassRefPtr<CBArg> callbackArg)
- {
- scheduleCallback(scriptExecutionContext(), callback, callbackArg);
- }
-
-private:
- DOMFileSystem(ScriptExecutionContext*, const String& name, PassOwnPtr<AsyncFileSystem>);
-
- // A helper template to schedule a callback task.
- template <typename CB, typename CBArg>
- class DispatchCallbackTask : public ScriptExecutionContext::Task {
- public:
- DispatchCallbackTask(PassRefPtr<CB> callback, PassRefPtr<CBArg> arg)
- : m_callback(callback)
- , m_callbackArg(arg)
- {
- }
-
- virtual void performTask(ScriptExecutionContext*)
- {
- m_callback->handleEvent(m_callbackArg.get());
- }
-
- private:
- RefPtr<CB> m_callback;
- RefPtr<CBArg> m_callbackArg;
- };
-};
-
-template <typename CB, typename CBArg>
-void DOMFileSystem::scheduleCallback(ScriptExecutionContext* scriptExecutionContext, PassRefPtr<CB> callback, PassRefPtr<CBArg> arg)
-{
- ASSERT(scriptExecutionContext->isContextThread());
- ASSERT(callback);
- scriptExecutionContext->postTask(new DispatchCallbackTask<CB, CBArg>(callback, arg));
-}
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // DOMFileSystem_h
diff --git a/WebCore/fileapi/DOMFileSystem.idl b/WebCore/fileapi/DOMFileSystem.idl
deleted file mode 100644
index 037770b..0000000
--- a/WebCore/fileapi/DOMFileSystem.idl
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- NoStaticTables
- ] DOMFileSystem {
- readonly attribute DOMString name;
- readonly attribute DirectoryEntry root;
- };
-}
diff --git a/WebCore/fileapi/DOMFileSystemBase.cpp b/WebCore/fileapi/DOMFileSystemBase.cpp
deleted file mode 100644
index c462c3c..0000000
--- a/WebCore/fileapi/DOMFileSystemBase.cpp
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "DOMFileSystemBase.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "DOMFilePath.h"
-#include "DirectoryEntry.h"
-#include "DirectoryReaderBase.h"
-#include "EntriesCallback.h"
-#include "EntryArray.h"
-#include "EntryBase.h"
-#include "EntryCallback.h"
-#include "ErrorCallback.h"
-#include "FileError.h"
-#include "FileSystemCallbacks.h"
-#include "MetadataCallback.h"
-#include "VoidCallback.h"
-#include <wtf/OwnPtr.h>
-
-namespace WebCore {
-
-DOMFileSystemBase::DOMFileSystemBase(const String& name, PassOwnPtr<AsyncFileSystem> asyncFileSystem)
- : m_name(name)
- , m_asyncFileSystem(asyncFileSystem)
-{
-}
-
-DOMFileSystemBase::~DOMFileSystemBase()
-{
-}
-
-bool DOMFileSystemBase::getMetadata(const EntryBase* entry, PassRefPtr<MetadataCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
-{
- String platformPath = m_asyncFileSystem->virtualToPlatformPath(entry->fullPath());
- m_asyncFileSystem->readMetadata(platformPath, MetadataCallbacks::create(successCallback, errorCallback));
- return true;
-}
-
-static bool verifyAndGetDestinationPathForCopyOrMove(const EntryBase* source, EntryBase* parent, const String& newName, String& destinationPath)
-{
- ASSERT(source);
-
- if (!parent || !parent->isDirectory())
- return false;
-
- if (!newName.isEmpty() && !DOMFilePath::isValidName(newName))
- return false;
-
- // It is an error to try to copy or move an entry inside itself at any depth if it is a directory.
- if (source->isDirectory() && DOMFilePath::isParentOf(source->fullPath(), parent->fullPath()))
- return false;
-
- // It is an error to copy or move an entry into its parent if a name different from its current one isn't provided.
- if ((newName.isEmpty() || source->name() == newName) && DOMFilePath::getDirectory(source->fullPath()) == parent->fullPath())
- return false;
-
- destinationPath = parent->fullPath();
- if (!newName.isEmpty())
- destinationPath = DOMFilePath::append(destinationPath, newName);
- else
- destinationPath = DOMFilePath::append(destinationPath, source->name());
-
- return true;
-}
-
-static bool pathToAbsolutePath(const EntryBase* base, String path, String& absolutePath)
-{
- ASSERT(base);
-
- if (!DOMFilePath::isAbsolute(path))
- path = DOMFilePath::append(base->fullPath(), path);
- absolutePath = DOMFilePath::removeExtraParentReferences(path);
-
- if (!DOMFilePath::isValidPath(absolutePath))
- return false;
- return true;
-}
-
-bool DOMFileSystemBase::move(const EntryBase* source, EntryBase* parent, const String& newName, PassRefPtr<EntryCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
-{
- String destinationPath;
- if (!verifyAndGetDestinationPathForCopyOrMove(source, parent, newName, destinationPath))
- return false;
-
- String sourcePlatformPath = m_asyncFileSystem->virtualToPlatformPath(source->fullPath());
- String destinationPlatformPath = parent->filesystem()->asyncFileSystem()->virtualToPlatformPath(destinationPath);
- m_asyncFileSystem->move(sourcePlatformPath, destinationPlatformPath, EntryCallbacks::create(successCallback, errorCallback, this, destinationPath, source->isDirectory()));
- return true;
-}
-
-bool DOMFileSystemBase::copy(const EntryBase* source, EntryBase* parent, const String& newName, PassRefPtr<EntryCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
-{
- String destinationPath;
- if (!verifyAndGetDestinationPathForCopyOrMove(source, parent, newName, destinationPath))
- return false;
-
- String sourcePlatformPath = m_asyncFileSystem->virtualToPlatformPath(source->fullPath());
- String destinationPlatformPath = parent->filesystem()->asyncFileSystem()->virtualToPlatformPath(destinationPath);
- m_asyncFileSystem->copy(sourcePlatformPath, destinationPlatformPath, EntryCallbacks::create(successCallback, errorCallback, this, destinationPath, source->isDirectory()));
- return true;
-}
-
-bool DOMFileSystemBase::remove(const EntryBase* entry, PassRefPtr<VoidCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
-{
- ASSERT(entry);
- // We don't allow calling remove() on the root directory.
- if (entry->fullPath() == String(DOMFilePath::root))
- return false;
- String platformPath = m_asyncFileSystem->virtualToPlatformPath(entry->fullPath());
- m_asyncFileSystem->remove(platformPath, VoidCallbacks::create(successCallback, errorCallback));
- return true;
-}
-
-bool DOMFileSystemBase::removeRecursively(const EntryBase* entry, PassRefPtr<VoidCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
-{
- ASSERT(entry && entry->isDirectory());
- // We don't allow calling remove() on the root directory.
- if (entry->fullPath() == String(DOMFilePath::root))
- return false;
- String platformPath = m_asyncFileSystem->virtualToPlatformPath(entry->fullPath());
- m_asyncFileSystem->removeRecursively(platformPath, VoidCallbacks::create(successCallback, errorCallback));
- return true;
-}
-
-bool DOMFileSystemBase::getParent(const EntryBase* entry, PassRefPtr<EntryCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
-{
- ASSERT(entry);
- String path = DOMFilePath::getDirectory(entry->fullPath());
- String platformPath = m_asyncFileSystem->virtualToPlatformPath(path);
- m_asyncFileSystem->directoryExists(platformPath, EntryCallbacks::create(successCallback, errorCallback, this, path, true));
- return true;
-}
-
-bool DOMFileSystemBase::getFile(const EntryBase* base, const String& path, PassRefPtr<Flags> flags, PassRefPtr<EntryCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
-{
- String absolutePath;
- if (!pathToAbsolutePath(base, path, absolutePath))
- return false;
-
- String platformPath = m_asyncFileSystem->virtualToPlatformPath(absolutePath);
- OwnPtr<EntryCallbacks> callbacks = EntryCallbacks::create(successCallback, errorCallback, this, absolutePath, false);
- if (flags && flags->isCreate())
- m_asyncFileSystem->createFile(platformPath, flags->isExclusive(), callbacks.release());
- else
- m_asyncFileSystem->fileExists(platformPath, callbacks.release());
- return true;
-}
-
-bool DOMFileSystemBase::getDirectory(const EntryBase* base, const String& path, PassRefPtr<Flags> flags, PassRefPtr<EntryCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
-{
- String absolutePath;
- if (!pathToAbsolutePath(base, path, absolutePath))
- return false;
-
- String platformPath = m_asyncFileSystem->virtualToPlatformPath(absolutePath);
- OwnPtr<EntryCallbacks> callbacks = EntryCallbacks::create(successCallback, errorCallback, this, absolutePath, true);
- if (flags && flags->isCreate())
- m_asyncFileSystem->createDirectory(platformPath, flags->isExclusive(), callbacks.release());
- else
- m_asyncFileSystem->directoryExists(platformPath, callbacks.release());
- return true;
-}
-
-bool DOMFileSystemBase::readDirectory(PassRefPtr<DirectoryReaderBase> reader, const String& path, PassRefPtr<EntriesCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
-{
- ASSERT(DOMFilePath::isAbsolute(path));
- String platformPath = m_asyncFileSystem->virtualToPlatformPath(path);
- m_asyncFileSystem->readDirectory(platformPath, EntriesCallbacks::create(successCallback, errorCallback, reader, path));
- return true;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/DOMFileSystemBase.h b/WebCore/fileapi/DOMFileSystemBase.h
deleted file mode 100644
index 66f1331..0000000
--- a/WebCore/fileapi/DOMFileSystemBase.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef DOMFileSystemBase_h
-#define DOMFileSystemBase_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "AsyncFileSystem.h"
-#include "Flags.h"
-#include "PlatformString.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class DirectoryEntry;
-class DirectoryReaderBase;
-class EntriesCallback;
-class EntryBase;
-class EntryCallback;
-class ErrorCallback;
-class MetadataCallback;
-class VoidCallback;
-
-// A common base class for DOMFileSystem and DOMFileSystemSync.
-class DOMFileSystemBase : public RefCounted<DOMFileSystemBase> {
-public:
- static PassRefPtr<DOMFileSystemBase> create(const String& name, PassOwnPtr<AsyncFileSystem> asyncFileSystem)
- {
- return adoptRef(new DOMFileSystemBase(name, asyncFileSystem));
- }
- virtual ~DOMFileSystemBase();
-
- const String& name() const { return m_name; }
- AsyncFileSystem* asyncFileSystem() const { return m_asyncFileSystem.get(); }
-
- // Actual FileSystem API implementations. All the validity checks on virtual paths are done at this level.
- // They return false for immediate errors that don't involve lower AsyncFileSystem layer (e.g. for name validation errors). Otherwise they return true (but later may call back with an runtime error).
- bool getMetadata(const EntryBase*, PassRefPtr<MetadataCallback>, PassRefPtr<ErrorCallback>);
- bool move(const EntryBase* source, EntryBase* parent, const String& name, PassRefPtr<EntryCallback>, PassRefPtr<ErrorCallback>);
- bool copy(const EntryBase* source, EntryBase* parent, const String& name, PassRefPtr<EntryCallback>, PassRefPtr<ErrorCallback>);
- bool remove(const EntryBase*, PassRefPtr<VoidCallback>, PassRefPtr<ErrorCallback>);
- bool removeRecursively(const EntryBase*, PassRefPtr<VoidCallback>, PassRefPtr<ErrorCallback>);
- bool getParent(const EntryBase*, PassRefPtr<EntryCallback>, PassRefPtr<ErrorCallback>);
- bool getFile(const EntryBase*, const String& path, PassRefPtr<Flags>, PassRefPtr<EntryCallback>, PassRefPtr<ErrorCallback>);
- bool getDirectory(const EntryBase*, const String& path, PassRefPtr<Flags>, PassRefPtr<EntryCallback>, PassRefPtr<ErrorCallback>);
- bool readDirectory(PassRefPtr<DirectoryReaderBase>, const String& path, PassRefPtr<EntriesCallback>, PassRefPtr<ErrorCallback>);
-
-protected:
- DOMFileSystemBase(const String& name, PassOwnPtr<AsyncFileSystem>);
- friend class DOMFileSystemSync;
-
- String m_name;
- mutable OwnPtr<AsyncFileSystem> m_asyncFileSystem;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // DOMFileSystemBase_h
diff --git a/WebCore/fileapi/DOMFileSystemSync.cpp b/WebCore/fileapi/DOMFileSystemSync.cpp
deleted file mode 100644
index dcbc9c7..0000000
--- a/WebCore/fileapi/DOMFileSystemSync.cpp
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "DOMFileSystemSync.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "DOMFilePath.h"
-#include "DirectoryEntrySync.h"
-#include "ErrorCallback.h"
-#include "File.h"
-#include "FileEntrySync.h"
-#include "FileError.h"
-#include "FileException.h"
-#include "FileSystemCallbacks.h"
-#include "FileWriterBaseCallback.h"
-#include "FileWriterSync.h"
-
-namespace WebCore {
-
-class FileWriterBase;
-
-PassRefPtr<DOMFileSystemSync> DOMFileSystemSync::create(DOMFileSystemBase* fileSystem)
-{
- return adoptRef(new DOMFileSystemSync(fileSystem->m_name, fileSystem->m_asyncFileSystem.release()));
-}
-
-DOMFileSystemSync::DOMFileSystemSync(const String& name, PassOwnPtr<AsyncFileSystem> asyncFileSystem)
- : DOMFileSystemBase(name, asyncFileSystem)
-{
-}
-
-DOMFileSystemSync::~DOMFileSystemSync()
-{
-}
-
-PassRefPtr<DirectoryEntrySync> DOMFileSystemSync::root()
-{
- return DirectoryEntrySync::create(this, DOMFilePath::root);
-}
-
-PassRefPtr<File> DOMFileSystemSync::createFile(const FileEntrySync* fileEntry, ExceptionCode& ec)
-{
- ec = 0;
- String platformPath = m_asyncFileSystem->virtualToPlatformPath(fileEntry->fullPath());
- return File::create(platformPath);
-}
-
-namespace {
-
-class ReceiveFileWriterCallback : public FileWriterBaseCallback {
-public:
- static PassRefPtr<ReceiveFileWriterCallback> create()
- {
- return adoptRef(new ReceiveFileWriterCallback());
- }
-
- bool handleEvent(FileWriterBase* fileWriterBase)
- {
-#ifndef NDEBUG
- m_fileWriterBase = fileWriterBase;
-#else
- ASSERT_UNUSED(fileWriterBase, fileWriterBase);
-#endif
- return true;
- }
-
-#ifndef NDEBUG
- FileWriterBase* fileWriterBase()
- {
- return m_fileWriterBase;
- }
-#endif
-
-private:
- ReceiveFileWriterCallback()
-#ifndef NDEBUG
- : m_fileWriterBase(0)
-#endif
- {
- }
-
-#ifndef NDEBUG
- FileWriterBase* m_fileWriterBase;
-#endif
-};
-
-class LocalErrorCallback : public ErrorCallback {
-public:
- static PassRefPtr<LocalErrorCallback> create()
- {
- return adoptRef(new LocalErrorCallback());
- }
-
- bool handleEvent(FileError* error)
- {
- m_error = error;
- return true;
- }
-
- FileError* error()
- {
- return m_error.get();
- }
-
-private:
- LocalErrorCallback()
- {
- }
- RefPtr<FileError> m_error;
-};
-
-}
-
-PassRefPtr<FileWriterSync> DOMFileSystemSync::createWriter(const FileEntrySync* fileEntry, ExceptionCode& ec)
-{
- ASSERT(fileEntry);
- ec = 0;
-
- String platformPath = m_asyncFileSystem->virtualToPlatformPath(fileEntry->fullPath());
-
- RefPtr<FileWriterSync> fileWriter = FileWriterSync::create();
- RefPtr<ReceiveFileWriterCallback> successCallback = ReceiveFileWriterCallback::create();
- RefPtr<LocalErrorCallback> errorCallback = LocalErrorCallback::create();
-
- OwnPtr<FileWriterBaseCallbacks> callbacks = FileWriterBaseCallbacks::create(fileWriter, successCallback, errorCallback);
- m_asyncFileSystem->createWriter(fileWriter.get(), platformPath, callbacks.release());
- if (!m_asyncFileSystem->waitForOperationToComplete()) {
- ec = FileException::ABORT_ERR;
- return 0;
- }
- if (errorCallback->error()) {
- ASSERT(!successCallback->fileWriterBase());
- ec = FileException::ErrorCodeToExceptionCode(errorCallback->error()->code());
- return 0;
- }
- ASSERT(successCallback->fileWriterBase());
- ASSERT(static_cast<FileWriterSync*>(successCallback->fileWriterBase()) == fileWriter.get());
- return fileWriter;
-}
-
-}
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/DOMFileSystemSync.h b/WebCore/fileapi/DOMFileSystemSync.h
deleted file mode 100644
index ce07c85..0000000
--- a/WebCore/fileapi/DOMFileSystemSync.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef DOMFileSystemSync_h
-#define DOMFileSystemSync_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "DOMFileSystemBase.h"
-
-namespace WebCore {
-
-class DirectoryEntrySync;
-class File;
-class FileEntrySync;
-class FileWriterSync;
-
-typedef int ExceptionCode;
-
-class DOMFileSystemSync : public DOMFileSystemBase {
-public:
- static PassRefPtr<DOMFileSystemSync> create(const String& name, PassOwnPtr<AsyncFileSystem> asyncFileSystem)
- {
- return adoptRef(new DOMFileSystemSync(name, asyncFileSystem));
- }
-
- static PassRefPtr<DOMFileSystemSync> create(DOMFileSystemBase*);
-
- virtual ~DOMFileSystemSync();
-
- PassRefPtr<DirectoryEntrySync> root();
-
- PassRefPtr<File> createFile(const FileEntrySync*, ExceptionCode&);
- PassRefPtr<FileWriterSync> createWriter(const FileEntrySync*, ExceptionCode&);
-
-private:
- DOMFileSystemSync(const String& name, PassOwnPtr<AsyncFileSystem>);
-};
-
-}
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // DOMFileSystemSync_h
diff --git a/WebCore/fileapi/DOMFileSystemSync.idl b/WebCore/fileapi/DOMFileSystemSync.idl
deleted file mode 100644
index b51d8cc..0000000
--- a/WebCore/fileapi/DOMFileSystemSync.idl
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- NoStaticTables
- ] DOMFileSystemSync {
- readonly attribute DOMString name;
- readonly attribute DirectoryEntrySync root;
- };
-}
diff --git a/WebCore/fileapi/DirectoryEntry.cpp b/WebCore/fileapi/DirectoryEntry.cpp
deleted file mode 100644
index 7bc0af8..0000000
--- a/WebCore/fileapi/DirectoryEntry.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "DirectoryEntry.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "DirectoryReader.h"
-#include "EntryCallback.h"
-#include "ErrorCallback.h"
-#include "FileError.h"
-#include "VoidCallback.h"
-
-namespace WebCore {
-
-DirectoryEntry::DirectoryEntry(PassRefPtr<DOMFileSystemBase> fileSystem, const String& fullPath)
- : Entry(fileSystem, fullPath)
-{
-}
-
-PassRefPtr<DirectoryReader> DirectoryEntry::createReader()
-{
- return DirectoryReader::create(m_fileSystem, m_fullPath);
-}
-
-void DirectoryEntry::getFile(const String& path, PassRefPtr<Flags> flags, PassRefPtr<EntryCallback> successCallback, PassRefPtr<ErrorCallback> errorCallbackRef)
-{
- RefPtr<ErrorCallback> errorCallback(errorCallbackRef);
- if (!m_fileSystem->getFile(this, path, flags, successCallback, errorCallback))
- filesystem()->scheduleCallback(errorCallback.release(), FileError::create(FileError::INVALID_MODIFICATION_ERR));
-}
-
-void DirectoryEntry::getDirectory(const String& path, PassRefPtr<Flags> flags, PassRefPtr<EntryCallback> successCallback, PassRefPtr<ErrorCallback> errorCallbackRef)
-{
- RefPtr<ErrorCallback> errorCallback(errorCallbackRef);
- if (!m_fileSystem->getDirectory(this, path, flags, successCallback, errorCallback))
- filesystem()->scheduleCallback(errorCallback.release(), FileError::create(FileError::INVALID_MODIFICATION_ERR));
-}
-
-void DirectoryEntry::removeRecursively(PassRefPtr<VoidCallback> successCallback, PassRefPtr<ErrorCallback> errorCallbackRef) const
-{
- RefPtr<ErrorCallback> errorCallback(errorCallbackRef);
- if (!m_fileSystem->removeRecursively(this, successCallback, errorCallback))
- filesystem()->scheduleCallback(errorCallback.release(), FileError::create(FileError::INVALID_MODIFICATION_ERR));
-}
-
-}
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/DirectoryEntry.h b/WebCore/fileapi/DirectoryEntry.h
deleted file mode 100644
index da903da..0000000
--- a/WebCore/fileapi/DirectoryEntry.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef DirectoryEntry_h
-#define DirectoryEntry_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "Entry.h"
-#include "Flags.h"
-#include "PlatformString.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class DOMFileSystemBase;
-class DirectoryReader;
-class EntryCallback;
-class ErrorCallback;
-class VoidCallback;
-
-class DirectoryEntry : public Entry {
-public:
- static PassRefPtr<DirectoryEntry> create(PassRefPtr<DOMFileSystemBase> fileSystem, const String& fullPath)
- {
- return adoptRef(new DirectoryEntry(fileSystem, fullPath));
- }
- virtual bool isDirectory() const { return true; }
-
- PassRefPtr<DirectoryReader> createReader();
- void getFile(const String& path, PassRefPtr<Flags> = 0, PassRefPtr<EntryCallback> = 0, PassRefPtr<ErrorCallback> = 0);
- void getDirectory(const String& path, PassRefPtr<Flags> = 0, PassRefPtr<EntryCallback> = 0, PassRefPtr<ErrorCallback> = 0);
- void removeRecursively(PassRefPtr<VoidCallback> successCallback = 0, PassRefPtr<ErrorCallback> = 0) const;
-
-private:
- DirectoryEntry(PassRefPtr<DOMFileSystemBase>, const String& fullPath);
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // DirectoryEntry_h
diff --git a/WebCore/fileapi/DirectoryEntry.idl b/WebCore/fileapi/DirectoryEntry.idl
deleted file mode 100644
index 0e38153..0000000
--- a/WebCore/fileapi/DirectoryEntry.idl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- GenerateNativeConverter,
- GenerateToJS,
- NoStaticTables
- ] DirectoryEntry : Entry {
- DirectoryReader createReader();
- [Custom] void getFile(in [ConvertUndefinedOrNullToNullString] DOMString path, in [Optional] Flags flags, in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
- [Custom] void getDirectory(in [ConvertUndefinedOrNullToNullString] DOMString path, in [Optional] Flags flags, in [Optional, Callback] EntryCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
- void removeRecursively(in [Optional, Callback] VoidCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
- };
-}
diff --git a/WebCore/fileapi/DirectoryEntrySync.cpp b/WebCore/fileapi/DirectoryEntrySync.cpp
deleted file mode 100644
index e68f7be..0000000
--- a/WebCore/fileapi/DirectoryEntrySync.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "DirectoryEntrySync.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "DirectoryReaderSync.h"
-#include "EntrySync.h"
-#include "FileEntrySync.h"
-#include "FileException.h"
-#include "SyncCallbackHelper.h"
-
-namespace WebCore {
-
-DirectoryEntrySync::DirectoryEntrySync(PassRefPtr<DOMFileSystemBase> fileSystem, const String& fullPath)
- : EntrySync(fileSystem, fullPath)
-{
-}
-
-PassRefPtr<DirectoryReaderSync> DirectoryEntrySync::createReader(ExceptionCode&)
-{
- return DirectoryReaderSync::create(m_fileSystem, m_fullPath);
-}
-
-PassRefPtr<FileEntrySync> DirectoryEntrySync::getFile(const String& path, PassRefPtr<Flags> flags, ExceptionCode& ec)
-{
- ec = 0;
- EntrySyncCallbackHelper helper(m_fileSystem->asyncFileSystem());
- if (!m_fileSystem->getFile(this, path, flags, helper.successCallback(), helper.errorCallback())) {
- ec = FileException::INVALID_MODIFICATION_ERR;
- return 0;
- }
- return static_pointer_cast<FileEntrySync>(helper.getResult(ec));
-}
-
-PassRefPtr<DirectoryEntrySync> DirectoryEntrySync::getDirectory(const String& path, PassRefPtr<Flags> flags, ExceptionCode& ec)
-{
- ec = 0;
- EntrySyncCallbackHelper helper(m_fileSystem->asyncFileSystem());
- if (!m_fileSystem->getDirectory(this, path, flags, helper.successCallback(), helper.errorCallback())) {
- ec = FileException::INVALID_MODIFICATION_ERR;
- return 0;
- }
- return static_pointer_cast<DirectoryEntrySync>(helper.getResult(ec));
-}
-
-void DirectoryEntrySync::removeRecursively(ExceptionCode& ec)
-{
- ec = 0;
- VoidSyncCallbackHelper helper(m_fileSystem->asyncFileSystem());
- if (!m_fileSystem->removeRecursively(this, helper.successCallback(), helper.errorCallback())) {
- ec = FileException::INVALID_MODIFICATION_ERR;
- return;
- }
- helper.getResult(ec);
-}
-
-}
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/DirectoryEntrySync.h b/WebCore/fileapi/DirectoryEntrySync.h
deleted file mode 100644
index eb412bb..0000000
--- a/WebCore/fileapi/DirectoryEntrySync.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef DirectoryEntrySync_h
-#define DirectoryEntrySync_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "EntrySync.h"
-#include "Flags.h"
-#include "PlatformString.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class DirectoryReaderSync;
-class FileEntrySync;
-
-class DirectoryEntrySync : public EntrySync {
-public:
- static PassRefPtr<DirectoryEntrySync> create(PassRefPtr<DOMFileSystemBase> fileSystem, const String& fullPath)
- {
- return adoptRef(new DirectoryEntrySync(fileSystem, fullPath));
- }
- virtual bool isDirectory() const { return true; }
-
- PassRefPtr<DirectoryReaderSync> createReader(ExceptionCode&);
- PassRefPtr<FileEntrySync> getFile(const String& path, PassRefPtr<Flags>, ExceptionCode&);
- PassRefPtr<DirectoryEntrySync> getDirectory(const String& path, PassRefPtr<Flags>, ExceptionCode&);
- void removeRecursively(ExceptionCode&);
-
-private:
- friend class EntrySync;
- DirectoryEntrySync(PassRefPtr<DOMFileSystemBase>, const String& fullPath);
-};
-
-}
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // DirectoryEntrySync_h
diff --git a/WebCore/fileapi/DirectoryEntrySync.idl b/WebCore/fileapi/DirectoryEntrySync.idl
deleted file mode 100644
index 268b2a9..0000000
--- a/WebCore/fileapi/DirectoryEntrySync.idl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- GenerateNativeConverter,
- GenerateToJS,
- NoStaticTables
- ] DirectoryEntrySync : EntrySync {
- DirectoryReaderSync createReader() raises (FileException);
- [Custom] FileEntrySync getFile(in [ConvertUndefinedOrNullToNullString] DOMString path, in Flags flags) raises (FileException);
- [Custom] DirectoryEntrySync getDirectory(in [ConvertUndefinedOrNullToNullString] DOMString path, in Flags flags) raises (FileException);
- void removeRecursively() raises (FileException);
- };
-}
diff --git a/WebCore/fileapi/DirectoryReader.cpp b/WebCore/fileapi/DirectoryReader.cpp
deleted file mode 100644
index fe2d99f..0000000
--- a/WebCore/fileapi/DirectoryReader.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "DirectoryReader.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "EntriesCallback.h"
-#include "EntryArray.h"
-#include "ErrorCallback.h"
-#include "FileError.h"
-
-namespace WebCore {
-
-DirectoryReader::DirectoryReader(PassRefPtr<DOMFileSystemBase> fileSystem, const String& fullPath)
- : DirectoryReaderBase(fileSystem, fullPath)
-{
-}
-
-void DirectoryReader::readEntries(PassRefPtr<EntriesCallback> entriesCallback, PassRefPtr<ErrorCallback> errorCallback)
-{
- if (!m_hasMoreEntries) {
- filesystem()->scheduleCallback(entriesCallback, EntryArray::create());
- return;
- }
- filesystem()->readDirectory(this, m_fullPath, entriesCallback, errorCallback);
-}
-
-}
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/DirectoryReader.h b/WebCore/fileapi/DirectoryReader.h
deleted file mode 100644
index bc89858..0000000
--- a/WebCore/fileapi/DirectoryReader.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef DirectoryReader_h
-#define DirectoryReader_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "DOMFileSystem.h"
-#include "DirectoryReaderBase.h"
-#include "PlatformString.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class EntriesCallback;
-class EntriesCallbacks;
-class ErrorCallback;
-
-class DirectoryReader : public DirectoryReaderBase {
-public:
- static PassRefPtr<DirectoryReader> create(PassRefPtr<DOMFileSystemBase> fileSystem, const String& fullPath)
- {
- return adoptRef(new DirectoryReader(fileSystem, fullPath));
- }
-
- void readEntries(PassRefPtr<EntriesCallback>, PassRefPtr<ErrorCallback> = 0);
-
- DOMFileSystem* filesystem() const { return static_cast<DOMFileSystem*>(m_fileSystem.get()); }
-
-private:
- DirectoryReader(PassRefPtr<DOMFileSystemBase>, const String& fullPath);
-};
-
-}
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // DirectoryReader_h
diff --git a/WebCore/fileapi/DirectoryReader.idl b/WebCore/fileapi/DirectoryReader.idl
deleted file mode 100644
index 831fb05..0000000
--- a/WebCore/fileapi/DirectoryReader.idl
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- NoStaticTables
- ] DirectoryReader {
- void readEntries(in [Callback] EntriesCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
- };
-}
diff --git a/WebCore/fileapi/DirectoryReaderBase.h b/WebCore/fileapi/DirectoryReaderBase.h
deleted file mode 100644
index 4096fe8..0000000
--- a/WebCore/fileapi/DirectoryReaderBase.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef DirectoryReaderBase_h
-#define DirectoryReaderBase_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "DOMFileSystemBase.h"
-#include "PlatformString.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class DirectoryReaderBase : public RefCounted<DirectoryReaderBase> {
-public:
- DOMFileSystemBase* filesystem() const { return m_fileSystem.get(); }
- void setHasMoreEntries(bool hasMoreEntries) { m_hasMoreEntries = hasMoreEntries; }
-
-protected:
- DirectoryReaderBase(PassRefPtr<DOMFileSystemBase> fileSystem, const String& fullPath)
- : m_fileSystem(fileSystem)
- , m_fullPath(fullPath)
- , m_hasMoreEntries(true)
- {
- }
-
- RefPtr<DOMFileSystemBase> m_fileSystem;
-
- // This is a virtual path.
- String m_fullPath;
-
- bool m_hasMoreEntries;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // DirectoryReaderBase_h
diff --git a/WebCore/fileapi/DirectoryReaderSync.cpp b/WebCore/fileapi/DirectoryReaderSync.cpp
deleted file mode 100644
index 15cdaa8..0000000
--- a/WebCore/fileapi/DirectoryReaderSync.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "DirectoryReaderSync.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "DirectoryEntry.h"
-#include "DirectoryEntrySync.h"
-#include "EntryArraySync.h"
-#include "EntrySync.h"
-#include "ExceptionCode.h"
-#include "FileEntrySync.h"
-#include "FileException.h"
-#include "SyncCallbackHelper.h"
-
-namespace WebCore {
-
-DirectoryReaderSync::DirectoryReaderSync(PassRefPtr<DOMFileSystemBase> fileSystem, const String& fullPath)
- : DirectoryReaderBase(fileSystem, fullPath)
-{
-}
-
-PassRefPtr<EntryArraySync> DirectoryReaderSync::readEntries(ExceptionCode& ec)
-{
- ec = 0;
- if (!m_hasMoreEntries)
- return EntryArraySync::create();
-
- EntriesSyncCallbackHelper helper(m_fileSystem->asyncFileSystem());
- if (!m_fileSystem->readDirectory(this, m_fullPath, helper.successCallback(), helper.errorCallback())) {
- ec = FileException::INVALID_MODIFICATION_ERR;
- setHasMoreEntries(false);
- return 0;
- }
- return helper.getResult(ec);
-}
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/DirectoryReaderSync.h b/WebCore/fileapi/DirectoryReaderSync.h
deleted file mode 100644
index 5e3d61b..0000000
--- a/WebCore/fileapi/DirectoryReaderSync.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef DirectoryReaderSync_h
-#define DirectoryReaderSync_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "DirectoryReaderBase.h"
-#include "EntryArraySync.h"
-#include "PlatformString.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class DirectoryReaderSync : public DirectoryReaderBase {
-public:
- static PassRefPtr<DirectoryReaderSync> create(PassRefPtr<DOMFileSystemBase> fileSystem, const String& fullPath)
- {
- return adoptRef(new DirectoryReaderSync(fileSystem, fullPath));
- }
-
- PassRefPtr<EntryArraySync> readEntries(ExceptionCode&);
-
-private:
- DirectoryReaderSync(PassRefPtr<DOMFileSystemBase>, const String& fullPath);
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // DirectoryReaderSync_h
diff --git a/WebCore/fileapi/DirectoryReaderSync.idl b/WebCore/fileapi/DirectoryReaderSync.idl
deleted file mode 100644
index aa39928..0000000
--- a/WebCore/fileapi/DirectoryReaderSync.idl
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- NoStaticTables
- ] DirectoryReaderSync {
- EntryArraySync readEntries() raises (FileException);
- };
-}
diff --git a/WebCore/fileapi/EntriesCallback.h b/WebCore/fileapi/EntriesCallback.h
deleted file mode 100644
index 9f812e9..0000000
--- a/WebCore/fileapi/EntriesCallback.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef EntriesCallback_h
-#define EntriesCallback_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class EntryArray;
-
-class EntriesCallback : public RefCounted<EntriesCallback> {
-public:
- virtual ~EntriesCallback() { }
- virtual bool handleEvent(EntryArray*) = 0;
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // EntriesCallback_h
diff --git a/WebCore/fileapi/EntriesCallback.idl b/WebCore/fileapi/EntriesCallback.idl
deleted file mode 100644
index 73b374d..0000000
--- a/WebCore/fileapi/EntriesCallback.idl
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- Callback
- ] EntriesCallback {
- boolean handleEvent(in EntryArray entries);
- };
-}
diff --git a/WebCore/fileapi/Entry.cpp b/WebCore/fileapi/Entry.cpp
deleted file mode 100644
index 9c3fa4e..0000000
--- a/WebCore/fileapi/Entry.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#include "config.h"
-#include "Entry.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "DirectoryEntry.h"
-#include "EntryCallback.h"
-#include "ErrorCallback.h"
-#include "FileError.h"
-#include "FileSystemCallbacks.h"
-#include "MetadataCallback.h"
-#include "VoidCallback.h"
-
-namespace WebCore {
-
-Entry::Entry(PassRefPtr<DOMFileSystemBase> fileSystem, const String& fullPath)
- : EntryBase(fileSystem, fullPath)
-{
-}
-
-void Entry::getMetadata(PassRefPtr<MetadataCallback> successCallback, PassRefPtr<ErrorCallback> errorCallbackRef)
-{
- RefPtr<ErrorCallback> errorCallback(errorCallbackRef);
- if (!m_fileSystem->getMetadata(this, successCallback, errorCallback))
- filesystem()->scheduleCallback(errorCallback.release(), FileError::create(FileError::INVALID_MODIFICATION_ERR));
-}
-
-void Entry::moveTo(PassRefPtr<DirectoryEntry> parent, const String& name, PassRefPtr<EntryCallback> successCallback, PassRefPtr<ErrorCallback> errorCallbackRef) const
-{
- RefPtr<ErrorCallback> errorCallback(errorCallbackRef);
- if (!m_fileSystem->move(this, parent.get(), name, successCallback, errorCallback))
- filesystem()->scheduleCallback(errorCallback.release(), FileError::create(FileError::INVALID_MODIFICATION_ERR));
-}
-
-void Entry::copyTo(PassRefPtr<DirectoryEntry> parent, const String& name, PassRefPtr<EntryCallback> successCallback, PassRefPtr<ErrorCallback> errorCallbackRef) const
-{
- RefPtr<ErrorCallback> errorCallback(errorCallbackRef);
- if (!m_fileSystem->copy(this, parent.get(), name, successCallback, errorCallback))
- filesystem()->scheduleCallback(errorCallback.release(), FileError::create(FileError::INVALID_MODIFICATION_ERR));
-}
-
-void Entry::remove(PassRefPtr<VoidCallback> successCallback, PassRefPtr<ErrorCallback> errorCallbackRef) const
-{
- RefPtr<ErrorCallback> errorCallback(errorCallbackRef);
- if (!m_fileSystem->remove(this, successCallback, errorCallback))
- filesystem()->scheduleCallback(errorCallback.release(), FileError::create(FileError::INVALID_MODIFICATION_ERR));
-}
-
-void Entry::getParent(PassRefPtr<EntryCallback> successCallback, PassRefPtr<ErrorCallback> errorCallbackRef) const
-{
- RefPtr<ErrorCallback> errorCallback(errorCallbackRef);
- if (!m_fileSystem->getParent(this, successCallback, errorCallback))
- filesystem()->scheduleCallback(errorCallback.release(), FileError::create(FileError::INVALID_MODIFICATION_ERR));
-}
-
-String Entry::toURI(const String&)
-{
- // FIXME: to be implemented.
- ASSERT_NOT_REACHED();
- return String();
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/Entry.h b/WebCore/fileapi/Entry.h
deleted file mode 100644
index 9367f4f..0000000
--- a/WebCore/fileapi/Entry.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef Entry_h
-#define Entry_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "DOMFileSystem.h"
-#include "EntryBase.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class DirectoryEntry;
-class EntryCallback;
-class EntrySync;
-class ErrorCallback;
-class MetadataCallback;
-class VoidCallback;
-
-class Entry : public EntryBase {
-public:
- DOMFileSystem* filesystem() const { return static_cast<DOMFileSystem*>(m_fileSystem.get()); }
-
- void getMetadata(PassRefPtr<MetadataCallback> successCallback = 0, PassRefPtr<ErrorCallback> errorCallback = 0);
- void moveTo(PassRefPtr<DirectoryEntry> parent, const String& name = String(), PassRefPtr<EntryCallback> successCallback = 0, PassRefPtr<ErrorCallback> errorCallback = 0) const;
- void copyTo(PassRefPtr<DirectoryEntry> parent, const String& name = String(), PassRefPtr<EntryCallback> successCallback = 0, PassRefPtr<ErrorCallback> errorCallback = 0) const;
- 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());
-
-protected:
- Entry(PassRefPtr<DOMFileSystemBase>, const String& fullPath);
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // Entry_h
diff --git a/WebCore/fileapi/Entry.idl b/WebCore/fileapi/Entry.idl
deleted file mode 100644
index f6fcdb3..0000000
--- a/WebCore/fileapi/Entry.idl
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- CustomToJS,
- NoStaticTables
- ] Entry {
- readonly attribute boolean isFile;
- readonly attribute boolean isDirectory;
- readonly attribute DOMString name;
- readonly attribute DOMString fullPath;
- readonly attribute DOMFileSystem filesystem;
-
- 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);
- 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/WebCore/fileapi/EntryArray.cpp b/WebCore/fileapi/EntryArray.cpp
deleted file mode 100644
index 6c4f74f..0000000
--- a/WebCore/fileapi/EntryArray.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "EntryArray.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-namespace WebCore {
-
-EntryArray::EntryArray()
-{
-}
-
-Entry* EntryArray::item(unsigned index) const
-{
- if (index >= m_entries.size())
- return 0;
- return m_entries[index].get();
-}
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/EntryArray.h b/WebCore/fileapi/EntryArray.h
deleted file mode 100644
index e5957ab..0000000
--- a/WebCore/fileapi/EntryArray.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef EntryArray_h
-#define EntryArray_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "Entry.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class EntryArray : public RefCounted<EntryArray> {
-public:
- static PassRefPtr<EntryArray> create()
- {
- return adoptRef(new EntryArray());
- }
-
- unsigned length() const { return m_entries.size(); }
- Entry* item(unsigned index) const;
- void set(unsigned index, PassRefPtr<Entry> entry);
-
- bool isEmpty() const { return m_entries.isEmpty(); }
- void clear() { m_entries.clear(); }
- void append(PassRefPtr<Entry> entry) { m_entries.append(entry); }
-
-private:
- EntryArray();
-
- Vector<RefPtr<Entry> > m_entries;
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // EntryArray_h
diff --git a/WebCore/fileapi/EntryArray.idl b/WebCore/fileapi/EntryArray.idl
deleted file mode 100644
index dca7827..0000000
--- a/WebCore/fileapi/EntryArray.idl
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- HasIndexGetter,
- NoStaticTables
- ] EntryArray {
- readonly attribute unsigned long length;
- Entry item(in [IsIndex] unsigned long index);
- };
-}
diff --git a/WebCore/fileapi/EntryArraySync.cpp b/WebCore/fileapi/EntryArraySync.cpp
deleted file mode 100644
index 1e2fa91..0000000
--- a/WebCore/fileapi/EntryArraySync.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "EntryArraySync.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "EntryArray.h"
-
-namespace WebCore {
-
-PassRefPtr<EntryArraySync> EntryArraySync::create(EntryArray* entries)
-{
- RefPtr<EntryArraySync> entriesSync = adoptRef(new EntryArraySync());
- if (entries) {
- for (unsigned i = 0; i < entries->length(); ++i)
- entriesSync->append(EntrySync::create(entries->item(i)));
- }
- return entriesSync.release();
-}
-
-EntryArraySync::EntryArraySync()
-{
-}
-
-EntrySync* EntryArraySync::item(unsigned index) const
-{
- if (index >= m_entries.size())
- return 0;
- return m_entries[index].get();
-}
-
-}
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/EntryArraySync.h b/WebCore/fileapi/EntryArraySync.h
deleted file mode 100644
index 46cf409..0000000
--- a/WebCore/fileapi/EntryArraySync.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef EntryArraySync_h
-#define EntryArraySync_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "EntrySync.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class EntryArray;
-
-class EntryArraySync : public RefCounted<EntryArraySync> {
-public:
- static PassRefPtr<EntryArraySync> create()
- {
- return adoptRef(new EntryArraySync());
- }
-
- static PassRefPtr<EntryArraySync> create(EntryArray*);
-
- unsigned length() const { return m_entries.size(); }
- EntrySync* item(unsigned index) const;
-
- bool isEmpty() const { return m_entries.isEmpty(); }
- void clear() { m_entries.clear(); }
- void append(PassRefPtr<EntrySync> entry) { m_entries.append(entry); }
-
-private:
- EntryArraySync();
-
- Vector<RefPtr<EntrySync> > m_entries;
-};
-
-}
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // EntryArraySync_h
diff --git a/WebCore/fileapi/EntryArraySync.idl b/WebCore/fileapi/EntryArraySync.idl
deleted file mode 100644
index bd54f33..0000000
--- a/WebCore/fileapi/EntryArraySync.idl
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- HasIndexGetter,
- NoStaticTables
- ] EntryArraySync {
- readonly attribute unsigned long length;
- EntrySync item(in [IsIndex] unsigned long index);
- };
-}
diff --git a/WebCore/fileapi/EntryBase.h b/WebCore/fileapi/EntryBase.h
deleted file mode 100644
index 16f93ba..0000000
--- a/WebCore/fileapi/EntryBase.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef EntryBase_h
-#define EntryBase_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "DOMFilePath.h"
-#include "PlatformString.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class DOMFileSystemBase;
-class EntrySync;
-
-// A common base class for Entry and EntrySync.
-class EntryBase : public RefCounted<EntryBase> {
-public:
- virtual ~EntryBase() { }
-
- DOMFileSystemBase* filesystem() const { return m_fileSystem.get(); }
-
- virtual bool isFile() const { return false; }
- virtual bool isDirectory() const { return false; }
-
- const String& fullPath() const { return m_fullPath; }
- const String& name() const { return m_name; }
-
-protected:
- EntryBase(PassRefPtr<DOMFileSystemBase> fileSystem, const String& fullPath)
- : m_fileSystem(fileSystem)
- , m_fullPath(fullPath)
- , m_name(DOMFilePath::getName(fullPath))
- {
- }
-
- friend class EntrySync;
-
- RefPtr<DOMFileSystemBase> m_fileSystem;
-
- // This is a virtual path.
- String m_fullPath;
-
- String m_name;
-};
-
-}
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // EntryBase_h
diff --git a/WebCore/fileapi/EntryCallback.h b/WebCore/fileapi/EntryCallback.h
deleted file mode 100644
index 9580eda..0000000
--- a/WebCore/fileapi/EntryCallback.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef EntryCallback_h
-#define EntryCallback_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class Entry;
-
-class EntryCallback : public RefCounted<EntryCallback> {
-public:
- virtual ~EntryCallback() { }
- virtual bool handleEvent(Entry*) = 0;
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // EntryCallback_h
diff --git a/WebCore/fileapi/EntryCallback.idl b/WebCore/fileapi/EntryCallback.idl
deleted file mode 100644
index bea3fd1..0000000
--- a/WebCore/fileapi/EntryCallback.idl
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- Callback
- ] EntryCallback {
- boolean handleEvent(in Entry entry);
- };
-}
diff --git a/WebCore/fileapi/EntrySync.cpp b/WebCore/fileapi/EntrySync.cpp
deleted file mode 100644
index 299aeda..0000000
--- a/WebCore/fileapi/EntrySync.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "EntrySync.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "DOMFilePath.h"
-#include "DOMFileSystemSync.h"
-#include "DirectoryEntry.h"
-#include "DirectoryEntrySync.h"
-#include "FileEntrySync.h"
-#include "FileException.h"
-#include "Metadata.h"
-#include "SyncCallbackHelper.h"
-
-namespace WebCore {
-
-PassRefPtr<EntrySync> EntrySync::create(EntryBase* entry)
-{
- if (entry->isFile())
- return adoptRef(new FileEntrySync(entry->m_fileSystem, entry->m_fullPath));
- return adoptRef(new DirectoryEntrySync(entry->m_fileSystem, entry->m_fullPath));
-}
-
-PassRefPtr<Metadata> EntrySync::getMetadata(ExceptionCode& ec)
-{
- ec = 0;
- MetadataSyncCallbackHelper helper(m_fileSystem->asyncFileSystem());
- if (!m_fileSystem->getMetadata(this, helper.successCallback(), helper.errorCallback())) {
- ec = FileException::INVALID_MODIFICATION_ERR;
- return 0;
- }
- return helper.getResult(ec);
-}
-
-PassRefPtr<EntrySync> EntrySync::moveTo(PassRefPtr<DirectoryEntrySync> parent, const String& name, ExceptionCode& ec) const
-{
- ec = 0;
- EntrySyncCallbackHelper helper(m_fileSystem->asyncFileSystem());
- if (!m_fileSystem->move(this, parent.get(), name, helper.successCallback(), helper.errorCallback())) {
- ec = FileException::INVALID_MODIFICATION_ERR;
- return 0;
- }
- return helper.getResult(ec);
-}
-
-PassRefPtr<EntrySync> EntrySync::copyTo(PassRefPtr<DirectoryEntrySync> parent, const String& name, ExceptionCode& ec) const
-{
- ec = 0;
- EntrySyncCallbackHelper helper(m_fileSystem->asyncFileSystem());
- if (!m_fileSystem->copy(this, parent.get(), name, helper.successCallback(), helper.errorCallback())) {
- ec = FileException::INVALID_MODIFICATION_ERR;
- return 0;
- }
- return helper.getResult(ec);
-}
-
-void EntrySync::remove(ExceptionCode& ec) const
-{
- ec = 0;
- VoidSyncCallbackHelper helper(m_fileSystem->asyncFileSystem());
- if (!m_fileSystem->remove(this, helper.successCallback(), helper.errorCallback())) {
- ec = FileException::INVALID_MODIFICATION_ERR;
- return;
- }
- helper.getResult(ec);
-}
-
-PassRefPtr<EntrySync> EntrySync::getParent() const
-{
- // Sync verion of getParent doesn't throw exceptions.
- String parentPath = DOMFilePath::getDirectory(fullPath());
- return DirectoryEntrySync::create(m_fileSystem, parentPath);
-}
-
-EntrySync::EntrySync(PassRefPtr<DOMFileSystemBase> fileSystem, const String& fullPath)
- : EntryBase(fileSystem, fullPath)
-{
-}
-
-}
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/EntrySync.h b/WebCore/fileapi/EntrySync.h
deleted file mode 100644
index 175d591..0000000
--- a/WebCore/fileapi/EntrySync.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef EntrySync_h
-#define EntrySync_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "DOMFileSystemSync.h"
-#include "EntryBase.h"
-#include "ExceptionCode.h"
-#include "PlatformString.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class DirectoryEntrySync;
-class Metadata;
-
-class EntrySync : public EntryBase {
-public:
- static PassRefPtr<EntrySync> create(EntryBase*);
-
- DOMFileSystemSync* filesystem() const { return static_cast<DOMFileSystemSync*>(m_fileSystem.get()); }
-
- PassRefPtr<Metadata> getMetadata(ExceptionCode&);
- PassRefPtr<EntrySync> moveTo(PassRefPtr<DirectoryEntrySync> parent, const String& name, ExceptionCode&) const;
- PassRefPtr<EntrySync> copyTo(PassRefPtr<DirectoryEntrySync> parent, const String& name, ExceptionCode&) const;
- void remove(ExceptionCode&) const;
- PassRefPtr<EntrySync> getParent() const;
-
-protected:
- EntrySync(PassRefPtr<DOMFileSystemBase>, const String& fullPath);
-};
-
-}
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // EntrySync_h
diff --git a/WebCore/fileapi/EntrySync.idl b/WebCore/fileapi/EntrySync.idl
deleted file mode 100644
index fb7ee3c..0000000
--- a/WebCore/fileapi/EntrySync.idl
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- CustomToJS,
- NoStaticTables
- ] EntrySync {
- readonly attribute boolean isFile;
- readonly attribute boolean isDirectory;
- readonly attribute DOMString name;
- readonly attribute DOMString fullPath;
- readonly attribute DOMFileSystemSync filesystem;
-
- Metadata getMetadata() raises (FileException);
- EntrySync moveTo(in DirectoryEntrySync parent, in [ConvertUndefinedOrNullToNullString] DOMString name) raises (FileException);
- EntrySync copyTo(in DirectoryEntrySync parent, in [ConvertUndefinedOrNullToNullString] DOMString name) raises (FileException);
- void remove() raises (FileException);
- DirectoryEntrySync getParent();
- };
-}
diff --git a/WebCore/fileapi/ErrorCallback.h b/WebCore/fileapi/ErrorCallback.h
deleted file mode 100644
index cceb354..0000000
--- a/WebCore/fileapi/ErrorCallback.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef ErrorCallback_h
-#define ErrorCallback_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class FileError;
-
-class ErrorCallback : public RefCounted<ErrorCallback> {
-public:
- virtual ~ErrorCallback() { }
- virtual bool handleEvent(FileError*) = 0;
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // ErrorCallback_h
diff --git a/WebCore/fileapi/ErrorCallback.idl b/WebCore/fileapi/ErrorCallback.idl
deleted file mode 100644
index fc7fa85..0000000
--- a/WebCore/fileapi/ErrorCallback.idl
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- Callback
- ] ErrorCallback {
- boolean handleEvent(in FileError error);
- };
-}
diff --git a/WebCore/fileapi/File.cpp b/WebCore/fileapi/File.cpp
deleted file mode 100644
index dd81f5a..0000000
--- a/WebCore/fileapi/File.cpp
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "File.h"
-
-#include "FileSystem.h"
-#include "MIMETypeRegistry.h"
-#include <wtf/CurrentTime.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-static PassOwnPtr<BlobData> createBlobDataForFile(const String& path)
-{
- String type;
- int index = path.reverseFind('.');
- if (index != -1)
- type = MIMETypeRegistry::getMIMETypeForExtension(path.substring(index + 1));
-
- OwnPtr<BlobData> blobData = BlobData::create();
- blobData->setContentType(type);
- blobData->appendFile(path);
- return blobData.release();
-}
-
-File::File(const String& path)
- : Blob(createBlobDataForFile(path), -1)
- , m_path(path)
- , m_name(pathGetFileName(path))
-{
-}
-
-File::File(const String& path, const KURL& url, const String& type)
- : Blob(url, type, -1)
- , m_path(path)
-{
- m_name = pathGetFileName(path);
-}
-
-#if ENABLE(DIRECTORY_UPLOAD)
-File::File(const String& relativePath, const String& path)
- : Blob(createBlobDataForFile(path), -1)
- , m_path(path)
- , m_relativePath(relativePath)
-{
- m_name = pathGetFileName(path);
-}
-#endif
-
-double File::lastModifiedDate() const
-{
- time_t modificationTime;
- if (!getFileModificationTime(m_path, modificationTime))
- return 0;
-
- // Needs to return epoch time in milliseconds for Date.
- return modificationTime * 1000.0;
-}
-
-unsigned long long File::size() const
-{
- // FIXME: JavaScript cannot represent sizes as large as unsigned long long, we need to
- // come up with an exception to throw if file size is not representable.
- long long size;
- if (!getFileSize(m_path, size))
- return 0;
- return static_cast<unsigned long long>(size);
-}
-
-void File::captureSnapshot(long long& snapshotSize, double& snapshotModificationTime) const
-{
- // Obtains a snapshot of the file by capturing its current size and modification time. This is used when we slice a file for the first time.
- // If we fail to retrieve the size or modification time, probably due to that the file has been deleted, 0 size is returned.
- // FIXME: Combine getFileSize and getFileModificationTime into one file system call.
- time_t modificationTime;
- if (!getFileSize(m_path, snapshotSize) || !getFileModificationTime(m_path, modificationTime)) {
- snapshotSize = 0;
- snapshotModificationTime = 0;
- } else
- snapshotModificationTime = modificationTime;
-}
-
-} // namespace WebCore
diff --git a/WebCore/fileapi/File.h b/WebCore/fileapi/File.h
deleted file mode 100644
index d22b035..0000000
--- a/WebCore/fileapi/File.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef File_h
-#define File_h
-
-#include "Blob.h"
-#include "PlatformString.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class KURL;
-
-class File : public Blob {
-public:
- static PassRefPtr<File> create(const String& path)
- {
- return adoptRef(new File(path));
- }
-
- // For deserialization.
- static PassRefPtr<File> create(const String& path, const KURL& srcURL, const String& type)
- {
- return adoptRef(new File(path, srcURL, type));
- }
-
-#if ENABLE(DIRECTORY_UPLOAD)
- static PassRefPtr<File> create(const String& relativePath, const String& path)
- {
- return adoptRef(new File(relativePath, path));
- }
-#endif
-
- virtual unsigned long long size() const;
- virtual bool isFile() const { return true; }
-
- const String& path() const { return m_path; }
- const String& name() const { return m_name; }
- double lastModifiedDate() const;
-#if ENABLE(DIRECTORY_UPLOAD)
- // Returns the relative path of this file in the context of a directory selection.
- const String& webkitRelativePath() const { return m_relativePath; }
-#endif
-
- // Note that this involves synchronous file operation. Think twice before calling this function.
- void captureSnapshot(long long& snapshotSize, double& snapshotModificationTime) const;
-
- // FIXME: obsolete attributes. To be removed.
- const String& fileName() const { return name(); }
- unsigned long long fileSize() const { return size(); }
-
-private:
- File(const String& path);
-
- // For deserialization.
- File(const String& path, const KURL& srcURL, const String& type);
-
-#if ENABLE(DIRECTORY_UPLOAD)
- File(const String& relativePath, const String& path);
-#endif
-
- String m_path;
- String m_name;
-#if ENABLE(DIRECTORY_UPLOAD)
- String m_relativePath;
-#endif
-};
-
-} // namespace WebCore
-
-#endif // File_h
diff --git a/WebCore/fileapi/File.idl b/WebCore/fileapi/File.idl
deleted file mode 100644
index 74a6f76..0000000
--- a/WebCore/fileapi/File.idl
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module html {
-
- interface [
- GenerateNativeConverter,
- GenerateToJS,
- NoStaticTables
- ] File : Blob {
- readonly attribute DOMString name;
-#if !defined(LANGUAGE_GOBJECT) || !LANGUAGE_GOBJECT
- readonly attribute Date lastModifiedDate;
-#endif
-#if defined(ENABLE_DIRECTORY_UPLOAD) && ENABLE_DIRECTORY_UPLOAD
- readonly attribute DOMString webkitRelativePath;
-#endif
-
- // FIXME: obsolete attributes. To be removed.
- readonly attribute DOMString fileName;
- readonly attribute unsigned long long fileSize;
- };
-
-}
diff --git a/WebCore/fileapi/FileCallback.h b/WebCore/fileapi/FileCallback.h
deleted file mode 100644
index 6f5ca3d..0000000
--- a/WebCore/fileapi/FileCallback.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileCallback_h
-#define FileCallback_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "File.h"
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class FileCallback : public RefCounted<FileCallback> {
-public:
- virtual ~FileCallback() { }
- virtual bool handleEvent(File*) = 0;
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // FileCallback_h
diff --git a/WebCore/fileapi/FileCallback.idl b/WebCore/fileapi/FileCallback.idl
deleted file mode 100644
index 0ab814f..0000000
--- a/WebCore/fileapi/FileCallback.idl
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module fileapi {
- interface [
- Conditional=FILE_SYSTEM,
- Callback
- ] FileCallback {
- boolean handleEvent(in File file);
- };
-}
diff --git a/WebCore/fileapi/FileEntry.cpp b/WebCore/fileapi/FileEntry.cpp
deleted file mode 100644
index a5ecff5..0000000
--- a/WebCore/fileapi/FileEntry.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "FileEntry.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "DOMFileSystem.h"
-#include "ErrorCallback.h"
-#include "File.h"
-#include "FileCallback.h"
-#include "FileWriterCallback.h"
-
-namespace WebCore {
-
-FileEntry::FileEntry(PassRefPtr<DOMFileSystemBase> fileSystem, const String& fullPath)
- : Entry(fileSystem, fullPath)
-{
-}
-
-void FileEntry::createWriter(PassRefPtr<FileWriterCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
-{
- filesystem()->createWriter(this, successCallback, errorCallback);
-}
-
-void FileEntry::file(PassRefPtr<FileCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
-{
- filesystem()->createFile(this, successCallback, errorCallback);
-}
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/FileEntry.h b/WebCore/fileapi/FileEntry.h
deleted file mode 100644
index 2fa4394..0000000
--- a/WebCore/fileapi/FileEntry.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileEntry_h
-#define FileEntry_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "Entry.h"
-#include "FileCallback.h"
-#include "FileWriterCallback.h"
-
-namespace WebCore {
-
-class DOMFileSystemBase;
-
-class FileEntry : public Entry {
-public:
- static PassRefPtr<FileEntry> create(PassRefPtr<DOMFileSystemBase> fileSystem, const String& fullPath)
- {
- return adoptRef(new FileEntry(fileSystem, fullPath));
- }
-
- void createWriter(PassRefPtr<FileWriterCallback>, PassRefPtr<ErrorCallback> = 0);
- void file(PassRefPtr<FileCallback>, PassRefPtr<ErrorCallback> = 0);
-
- virtual bool isFile() const { return true; }
-
-private:
- FileEntry(PassRefPtr<DOMFileSystemBase> fileSystem, const String& fullPath);
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // FileEntry_h
diff --git a/WebCore/fileapi/FileEntry.idl b/WebCore/fileapi/FileEntry.idl
deleted file mode 100644
index 73ef895..0000000
--- a/WebCore/fileapi/FileEntry.idl
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- GenerateNativeConverter,
- GenerateToJS,
- NoStaticTables
- ] FileEntry : Entry {
- void createWriter(in [Callback] FileWriterCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
- void file(in [Callback] FileCallback successCallback, in [Optional, Callback] ErrorCallback errorCallback);
- };
-}
diff --git a/WebCore/fileapi/FileEntrySync.cpp b/WebCore/fileapi/FileEntrySync.cpp
deleted file mode 100644
index d899de7..0000000
--- a/WebCore/fileapi/FileEntrySync.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "FileEntrySync.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "File.h"
-#include "FileWriterSync.h"
-
-namespace WebCore {
-
-FileEntrySync::FileEntrySync(PassRefPtr<DOMFileSystemBase> fileSystem, const String& fullPath)
- : EntrySync(fileSystem, fullPath)
-{
-}
-
-PassRefPtr<File> FileEntrySync::file(ExceptionCode& ec)
-{
- return filesystem()->createFile(this, ec);
-}
-
-PassRefPtr<FileWriterSync> FileEntrySync::createWriter(ExceptionCode& ec)
-{
- return filesystem()->createWriter(this, ec);
-}
-
-}
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/FileEntrySync.h b/WebCore/fileapi/FileEntrySync.h
deleted file mode 100644
index 615a604..0000000
--- a/WebCore/fileapi/FileEntrySync.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileEntrySync_h
-#define FileEntrySync_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "EntrySync.h"
-#include "PlatformString.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class File;
-class FileWriterSync;
-
-class FileEntrySync : public EntrySync {
-public:
- static PassRefPtr<FileEntrySync> create(PassRefPtr<DOMFileSystemBase> fileSystem, const String& fullPath)
- {
- return adoptRef(new FileEntrySync(fileSystem, fullPath));
- }
-
- virtual bool isFile() const { return true; }
-
- PassRefPtr<File> file(ExceptionCode&);
- PassRefPtr<FileWriterSync> createWriter(ExceptionCode&);
-
-private:
- friend class EntrySync;
- FileEntrySync(PassRefPtr<DOMFileSystemBase>, const String& fullPath);
-};
-
-}
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // FileEntrySync_h
diff --git a/WebCore/fileapi/FileEntrySync.idl b/WebCore/fileapi/FileEntrySync.idl
deleted file mode 100644
index c569839..0000000
--- a/WebCore/fileapi/FileEntrySync.idl
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- GenerateNativeConverter,
- GenerateToJS,
- NoStaticTables
- ] FileEntrySync : EntrySync {
- File file() raises (FileException);
- FileWriterSync createWriter() raises (FileException);
- };
-}
diff --git a/WebCore/fileapi/FileError.h b/WebCore/fileapi/FileError.h
deleted file mode 100644
index 0597633..0000000
--- a/WebCore/fileapi/FileError.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileError_h
-#define FileError_h
-
-#if ENABLE(BLOB) || ENABLE(FILE_SYSTEM)
-
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class FileError : public RefCounted<FileError> {
-public:
- enum ErrorCode {
- OK = 0,
- NOT_FOUND_ERR = 1,
- SECURITY_ERR = 2,
- ABORT_ERR = 3,
- NOT_READABLE_ERR = 4,
- ENCODING_ERR = 5,
- NO_MODIFICATION_ALLOWED_ERR = 6,
- INVALID_STATE_ERR = 7,
- SYNTAX_ERR = 8,
- INVALID_MODIFICATION_ERR = 9,
- QUOTA_EXCEEDED_ERR = 10,
- TYPE_MISMATCH_ERR = 11,
- PATH_EXISTS_ERR = 12,
- };
-
- static PassRefPtr<FileError> create(ErrorCode code) { return adoptRef(new FileError(code)); }
-
- ErrorCode code() const { return m_code; }
-
-private:
- FileError(ErrorCode code)
- : m_code(code)
- { }
-
- ErrorCode m_code;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(BLOB) || ENABLE(FILE_SYSTEM)
-
-#endif // FileError_h
diff --git a/WebCore/fileapi/FileError.idl b/WebCore/fileapi/FileError.idl
deleted file mode 100644
index bab815a..0000000
--- a/WebCore/fileapi/FileError.idl
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module html {
- interface [
- Conditional=BLOB|FILE_SYSTEM,
- NoStaticTables
- ] FileError {
-#if !defined(LANGUAGE_OBJECTIVE_C)
- // FIXME: Some of constant names are already defined in DOMException.h for Objective-C binding and we cannot have the same names here (they are translated into a enum in the same namespace).
- const unsigned short NOT_FOUND_ERR = 1;
- const unsigned short SECURITY_ERR = 2;
- const unsigned short ABORT_ERR = 3;
- const unsigned short NOT_READABLE_ERR = 4;
- const unsigned short ENCODING_ERR = 5;
- const unsigned short NO_MODIFICATION_ALLOWED_ERR = 6;
- const unsigned short INVALID_STATE_ERR = 7;
- const unsigned short SYNTAX_ERR = 8;
- const unsigned short INVALID_MODIFICATION_ERR = 9;
- const unsigned short QUOTA_EXCEEDED_ERR = 10;
- const unsigned short TYPE_MISMATCH_ERR = 11;
- const unsigned short PATH_EXISTS_ERR = 12;
-#endif
- readonly attribute unsigned short code;
- };
-}
diff --git a/WebCore/fileapi/FileException.h b/WebCore/fileapi/FileException.h
deleted file mode 100644
index c3cc638..0000000
--- a/WebCore/fileapi/FileException.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileException_h
-#define FileException_h
-
-#if ENABLE(BLOB) || ENABLE(FILE_SYSTEM)
-
-#include "ExceptionBase.h"
-
-namespace WebCore {
-
-class FileException : public ExceptionBase {
-public:
- static PassRefPtr<FileException> create(const ExceptionCodeDescription& description)
- {
- return adoptRef(new FileException(description));
- }
-
- static const int FileExceptionOffset = 1100;
- static const int FileExceptionMax = 1199;
-
- enum FileExceptionCode {
- NOT_FOUND_ERR = FileExceptionOffset + 1,
- SECURITY_ERR = FileExceptionOffset + 2,
- ABORT_ERR = FileExceptionOffset + 3,
- NOT_READABLE_ERR = FileExceptionOffset + 4,
- ENCODING_ERR = FileExceptionOffset + 5,
- NO_MODIFICATION_ALLOWED_ERR = FileExceptionOffset + 6,
- INVALID_STATE_ERR = FileExceptionOffset + 7,
- SYNTAX_ERR = FileExceptionOffset + 8,
- INVALID_MODIFICATION_ERR = FileExceptionOffset + 9,
- QUOTA_EXCEEDED_ERR = FileExceptionOffset + 10,
- TYPE_MISMATCH_ERR = FileExceptionOffset + 11,
- PATH_EXISTS_ERR = FileExceptionOffset + 12,
- };
-
- static int ErrorCodeToExceptionCode(int errorCode)
- {
- if (!errorCode)
- return 0;
- return errorCode + FileExceptionOffset;
- }
-
-private:
- FileException(const ExceptionCodeDescription& description)
- : ExceptionBase(description)
- {
- }
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(BLOB) || ENABLE(FILE_SYSTEM)
-
-#endif // FileException_h
diff --git a/WebCore/fileapi/FileException.idl b/WebCore/fileapi/FileException.idl
deleted file mode 100644
index 10bd151..0000000
--- a/WebCore/fileapi/FileException.idl
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module html {
- interface [
- Conditional=BLOB|FILE_SYSTEM,
- DontCheckEnums,
- NoStaticTables
- ] FileException {
-
- readonly attribute unsigned short code;
- readonly attribute DOMString name;
- readonly attribute DOMString message;
-
-#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
- // Override in a Mozilla compatible format
- [DontEnum] DOMString toString();
-#endif
-
- // FileExceptionCode
- const unsigned short NOT_FOUND_ERR = 1;
- const unsigned short SECURITY_ERR = 2;
- const unsigned short ABORT_ERR = 3;
- const unsigned short NOT_READABLE_ERR = 4;
- const unsigned short ENCODING_ERR = 5;
- const unsigned short NO_MODIFICATION_ALLOWED_ERR = 6;
- const unsigned short INVALID_STATE_ERR = 7;
- const unsigned short SYNTAX_ERR = 8;
- const unsigned short INVALID_MODIFICATION_ERR = 9;
- const unsigned short QUOTA_EXCEEDED_ERR = 10;
- const unsigned short TYPE_MISMATCH_ERR = 11;
- const unsigned short PATH_EXISTS_ERR = 12;
- };
-}
diff --git a/WebCore/fileapi/FileList.cpp b/WebCore/fileapi/FileList.cpp
deleted file mode 100644
index ba81087..0000000
--- a/WebCore/fileapi/FileList.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "FileList.h"
-
-#include "File.h"
-
-namespace WebCore {
-
-FileList::FileList()
-{
-}
-
-File* FileList::item(unsigned index) const
-{
- if (index >= m_files.size())
- return 0;
- return m_files[index].get();
-}
-
-} // namespace WebCore
diff --git a/WebCore/fileapi/FileList.h b/WebCore/fileapi/FileList.h
deleted file mode 100644
index e078191..0000000
--- a/WebCore/fileapi/FileList.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileList_h
-#define FileList_h
-
-#include "File.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/RefPtr.h>
-#include <wtf/Vector.h>
-
-namespace WebCore {
-
- class FileList : public RefCounted<FileList> {
- public:
- static PassRefPtr<FileList> create()
- {
- return adoptRef(new FileList);
- }
-
- unsigned length() const { return m_files.size(); }
- File* item(unsigned index) const;
-
- bool isEmpty() const { return m_files.isEmpty(); }
- void clear() { m_files.clear(); }
- void append(PassRefPtr<File> file) { m_files.append(file); }
-
- private:
- FileList();
-
- Vector<RefPtr<File> > m_files;
- };
-
-} // namespace WebCore
-
-#endif // FileList_h
diff --git a/WebCore/fileapi/FileList.idl b/WebCore/fileapi/FileList.idl
deleted file mode 100644
index 0d0b046..0000000
--- a/WebCore/fileapi/FileList.idl
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module html {
-
- interface [
- HasIndexGetter,
- NoStaticTables
- ] FileList {
- readonly attribute unsigned long length;
- File item(in [IsIndex] unsigned long index);
- };
-
-}
diff --git a/WebCore/fileapi/FileReader.cpp b/WebCore/fileapi/FileReader.cpp
deleted file mode 100644
index 9ee3b01..0000000
--- a/WebCore/fileapi/FileReader.cpp
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(BLOB)
-
-#include "FileReader.h"
-
-#include "ArrayBuffer.h"
-#include "CrossThreadTask.h"
-#include "File.h"
-#include "Logging.h"
-#include "ProgressEvent.h"
-#include "ScriptExecutionContext.h"
-#include <wtf/CurrentTime.h>
-
-namespace WebCore {
-
-static const double progressNotificationIntervalMS = 50;
-
-FileReader::FileReader(ScriptExecutionContext* context)
- : ActiveDOMObject(context, this)
- , m_state(None)
- , m_readType(FileReaderLoader::ReadAsBinaryString)
- , m_lastProgressNotificationTimeMS(0)
-{
-}
-
-FileReader::~FileReader()
-{
- terminate();
-}
-
-bool FileReader::hasPendingActivity() const
-{
- return (m_state != None && m_state != Completed) || ActiveDOMObject::hasPendingActivity();
-}
-
-bool FileReader::canSuspend() const
-{
- // FIXME: It is not currently possible to suspend a FileReader, so pages with FileReader can not go into page cache.
- return false;
-}
-
-void FileReader::stop()
-{
- terminate();
-}
-
-void FileReader::readAsArrayBuffer(Blob* blob)
-{
- if (!blob)
- return;
-
- LOG(FileAPI, "FileReader: reading as array buffer: %s %s\n", blob->url().string().utf8().data(), blob->isFile() ? static_cast<File*>(blob)->path().utf8().data() : "");
-
- readInternal(blob, FileReaderLoader::ReadAsArrayBuffer);
-}
-
-void FileReader::readAsBinaryString(Blob* blob)
-{
- if (!blob)
- return;
-
- LOG(FileAPI, "FileReader: reading as binary: %s %s\n", blob->url().string().utf8().data(), blob->isFile() ? static_cast<File*>(blob)->path().utf8().data() : "");
-
- readInternal(blob, FileReaderLoader::ReadAsBinaryString);
-}
-
-void FileReader::readAsText(Blob* blob, const String& encoding)
-{
- if (!blob)
- return;
-
- LOG(FileAPI, "FileReader: reading as text: %s %s\n", blob->url().string().utf8().data(), blob->isFile() ? static_cast<File*>(blob)->path().utf8().data() : "");
-
- m_encoding = encoding;
- readInternal(blob, FileReaderLoader::ReadAsText);
-}
-
-void FileReader::readAsDataURL(Blob* blob)
-{
- if (!blob)
- return;
-
- LOG(FileAPI, "FileReader: reading as data URL: %s %s\n", blob->url().string().utf8().data(), blob->isFile() ? static_cast<File*>(blob)->path().utf8().data() : "");
-
- readInternal(blob, FileReaderLoader::ReadAsDataURL);
-}
-
-static void delayedStart(ScriptExecutionContext*, FileReader* reader)
-{
- reader->start();
-}
-
-void FileReader::readInternal(Blob* blob, FileReaderLoader::ReadType type)
-{
- // readAs*** methods() can be called multiple times. Only the last call before the actual reading happens is processed.
- if (m_state != None && m_state != Starting)
- return;
-
- if (m_state == None)
- scriptExecutionContext()->postTask(createCallbackTask(&delayedStart, this));
-
- m_blob = blob;
- m_readType = type;
- m_state = Starting;
-}
-
-static void delayedAbort(ScriptExecutionContext*, FileReader* reader)
-{
- reader->doAbort();
-}
-
-void FileReader::abort()
-{
- LOG(FileAPI, "FileReader: aborting\n");
-
- if (m_state == Aborting)
- return;
- m_state = Aborting;
-
- // Schedule to have the abort done later since abort() might be called from the event handler and we do not want the resource loading code to be in the stack.
- scriptExecutionContext()->postTask(createCallbackTask(&delayedAbort, this));
-}
-
-void FileReader::doAbort()
-{
- terminate();
-
- m_error = FileError::create(FileError::ABORT_ERR);
-
- fireEvent(eventNames().errorEvent);
- fireEvent(eventNames().abortEvent);
- fireEvent(eventNames().loadendEvent);
-}
-
-void FileReader::terminate()
-{
- if (m_loader) {
- m_loader->cancel();
- m_loader = 0;
- }
- m_state = Completed;
-}
-
-void FileReader::start()
-{
- m_state = Opening;
-
- m_loader = adoptPtr(new FileReaderLoader(m_readType, this));
- m_loader->setEncoding(m_encoding);
- m_loader->setDataType(m_blob->type());
- m_loader->start(scriptExecutionContext(), m_blob.get());
-}
-
-void FileReader::didStartLoading()
-{
- m_state = Reading;
- fireEvent(eventNames().loadstartEvent);
-}
-
-void FileReader::didReceiveData()
-{
- // Fire the progress event at least every 50ms.
- double now = currentTimeMS();
- if (!m_lastProgressNotificationTimeMS)
- m_lastProgressNotificationTimeMS = now;
- else if (now - m_lastProgressNotificationTimeMS > progressNotificationIntervalMS) {
- fireEvent(eventNames().progressEvent);
- m_lastProgressNotificationTimeMS = now;
- }
-}
-
-void FileReader::didFinishLoading()
-{
- m_state = Completed;
-
- fireEvent(eventNames().loadEvent);
- fireEvent(eventNames().loadendEvent);
-}
-
-void FileReader::didFail(int errorCode)
-{
- // If we're aborting, do not proceed with normal error handling since it is covered in aborting code.
- if (m_state == Aborting)
- return;
-
- m_state = Completed;
-
- m_error = FileError::create(static_cast<FileError::ErrorCode>(errorCode));
- fireEvent(eventNames().errorEvent);
- fireEvent(eventNames().loadendEvent);
-}
-
-void FileReader::fireEvent(const AtomicString& type)
-{
- dispatchEvent(ProgressEvent::create(type, true, m_loader ? m_loader->bytesLoaded() : 0, m_loader ? m_loader->totalBytes() : 0));
-}
-
-FileReader::ReadyState FileReader::readyState() const
-{
- switch (m_state) {
- case None:
- case Starting:
- return EMPTY;
- case Opening:
- case Reading:
- case Aborting:
- return LOADING;
- case Completed:
- return DONE;
- }
- ASSERT_NOT_REACHED();
- return EMPTY;
-}
-
-PassRefPtr<ArrayBuffer> FileReader::arrayBufferResult() const
-{
- return m_loader ? m_loader->arrayBufferResult() : 0;
-}
-
-String FileReader::stringResult()
-{
- return m_loader ? m_loader->stringResult() : "";
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(BLOB)
diff --git a/WebCore/fileapi/FileReader.h b/WebCore/fileapi/FileReader.h
deleted file mode 100644
index 04513f3..0000000
--- a/WebCore/fileapi/FileReader.h
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileReader_h
-#define FileReader_h
-
-#if ENABLE(BLOB)
-
-#include "ActiveDOMObject.h"
-#include "EventTarget.h"
-#include "FileError.h"
-#include "FileReaderLoader.h"
-#include "FileReaderLoaderClient.h"
-#include <wtf/Forward.h>
-#include <wtf/RefCounted.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-class ArrayBuffer;
-class Blob;
-class ScriptExecutionContext;
-
-class FileReader : public RefCounted<FileReader>, public ActiveDOMObject, public EventTarget, public FileReaderLoaderClient {
-public:
- static PassRefPtr<FileReader> create(ScriptExecutionContext* context)
- {
- return adoptRef(new FileReader(context));
- }
-
- virtual ~FileReader();
-
- enum ReadyState {
- EMPTY = 0,
- LOADING = 1,
- DONE = 2
- };
-
- void readAsArrayBuffer(Blob*);
- void readAsBinaryString(Blob*);
- void readAsText(Blob*, const String& encoding = "");
- void readAsDataURL(Blob*);
- void abort();
-
- void start();
- void doAbort();
-
- ReadyState readyState() const;
- PassRefPtr<FileError> error() { return m_error; }
- FileReaderLoader::ReadType readType() const { return m_readType; }
- PassRefPtr<ArrayBuffer> arrayBufferResult() const;
- String stringResult();
-
- // ActiveDOMObject
- virtual bool canSuspend() const;
- virtual void stop();
- virtual bool hasPendingActivity() const;
-
- // EventTarget
- virtual FileReader* toFileReader() { return this; }
- virtual ScriptExecutionContext* scriptExecutionContext() const { return ActiveDOMObject::scriptExecutionContext(); }
-
- // FileReaderLoaderClient
- virtual void didStartLoading();
- virtual void didReceiveData();
- virtual void didFinishLoading();
- virtual void didFail(int errorCode);
-
- using RefCounted<FileReader>::ref;
- using RefCounted<FileReader>::deref;
-
- DEFINE_ATTRIBUTE_EVENT_LISTENER(loadstart);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(progress);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(load);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(abort);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(error);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(loadend);
-
-private:
- enum InternalState {
- None,
- Starting,
- Opening,
- Reading,
- Aborting,
- Completed
- };
-
- FileReader(ScriptExecutionContext*);
-
- // EventTarget
- virtual void refEventTarget() { ref(); }
- virtual void derefEventTarget() { deref(); }
- virtual EventTargetData* eventTargetData() { return &m_eventTargetData; }
- virtual EventTargetData* ensureEventTargetData() { return &m_eventTargetData; }
-
- void terminate();
- void readInternal(Blob*, FileReaderLoader::ReadType);
- void fireErrorEvent(int httpStatusCode);
- void fireEvent(const AtomicString& type);
-
- InternalState m_state;
- EventTargetData m_eventTargetData;
-
- RefPtr<Blob> m_blob;
- FileReaderLoader::ReadType m_readType;
- String m_encoding;
-
- OwnPtr<FileReaderLoader> m_loader;
- RefPtr<FileError> m_error;
- double m_lastProgressNotificationTimeMS;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(BLOB)
-
-#endif // FileReader_h
diff --git a/WebCore/fileapi/FileReader.idl b/WebCore/fileapi/FileReader.idl
deleted file mode 100644
index ebc6ffd..0000000
--- a/WebCore/fileapi/FileReader.idl
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module html {
- interface [
- Conditional=BLOB,
- CanBeConstructed,
- CallWith=ScriptExecutionContext,
- EventTarget,
- NoStaticTables,
- V8CustomConstructor
- ] FileReader {
- // ready states
- const unsigned short EMPTY = 0;
- const unsigned short LOADING = 1;
- const unsigned short DONE = 2;
- readonly attribute unsigned short readyState;
-
- // async read methods
- void readAsArrayBuffer(in Blob blob);
- void readAsBinaryString(in Blob blob);
- void readAsText(in Blob blob, in [Optional] DOMString encoding);
- void readAsDataURL(in Blob blob);
-
- void abort();
-
- // file data
- readonly attribute [Custom] DOMObject result;
-
- readonly attribute FileError error;
-
- attribute EventListener onloadstart;
- attribute EventListener onprogress;
- attribute EventListener onload;
- attribute EventListener onabort;
- attribute EventListener onerror;
- attribute EventListener onloadend;
- };
-}
diff --git a/WebCore/fileapi/FileReaderLoader.cpp b/WebCore/fileapi/FileReaderLoader.cpp
deleted file mode 100644
index 24904e2..0000000
--- a/WebCore/fileapi/FileReaderLoader.cpp
+++ /dev/null
@@ -1,323 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(BLOB)
-
-#include "FileReaderLoader.h"
-
-#include "ArrayBuffer.h"
-#include "Base64.h"
-#include "Blob.h"
-#include "BlobURL.h"
-#include "FileReaderLoaderClient.h"
-#include "ResourceRequest.h"
-#include "ResourceResponse.h"
-#include "ScriptExecutionContext.h"
-#include "TextResourceDecoder.h"
-#include "ThreadableBlobRegistry.h"
-#include "ThreadableLoader.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefPtr.h>
-#include <wtf/Vector.h>
-#include <wtf/text/StringBuilder.h>
-
-using namespace std;
-
-namespace WebCore {
-
-FileReaderLoader::FileReaderLoader(ReadType readType, FileReaderLoaderClient* client)
- : m_readType(readType)
- , m_client(client)
- , m_isRawDataConverted(false)
- , m_stringResult("")
- , m_bytesLoaded(0)
- , m_totalBytes(0)
- , m_errorCode(0)
-{
-}
-
-FileReaderLoader::~FileReaderLoader()
-{
- terminate();
- ThreadableBlobRegistry::unregisterBlobURL(m_urlForReading);
-}
-
-void FileReaderLoader::start(ScriptExecutionContext* scriptExecutionContext, Blob* blob)
-{
- // The blob is read by routing through the request handling layer given a temporary public url.
- m_urlForReading = BlobURL::createPublicURL(scriptExecutionContext->securityOrigin());
- ThreadableBlobRegistry::registerBlobURL(m_urlForReading, blob->url());
-
- // Construct and load the request.
- ResourceRequest request(m_urlForReading);
- request.setHTTPMethod("GET");
-
- ThreadableLoaderOptions options;
- options.sendLoadCallbacks = true;
- options.sniffContent = false;
- options.forcePreflight = false;
- options.allowCredentials = true;
- options.crossOriginRequestPolicy = DenyCrossOriginRequests;
-
- if (m_client)
- m_loader = ThreadableLoader::create(scriptExecutionContext, this, request, options);
- else
- ThreadableLoader::loadResourceSynchronously(scriptExecutionContext, request, *this, options);
-}
-
-void FileReaderLoader::cancel()
-{
- m_errorCode = FileError::ABORT_ERR;
- terminate();
-}
-
-void FileReaderLoader::terminate()
-{
- if (m_loader) {
- m_loader->cancel();
- cleanup();
- }
-}
-
-void FileReaderLoader::cleanup()
-{
- m_loader = 0;
-
- // If we get any error, we do not need to keep a buffer around.
- if (m_errorCode) {
- m_rawData = 0;
- m_stringResult = "";
- }
-}
-
-void FileReaderLoader::didReceiveResponse(const ResourceResponse& response)
-{
- if (response.httpStatusCode() != 200) {
- failed(httpStatusCodeToErrorCode(response.httpStatusCode()));
- return;
- }
-
- unsigned long long length = response.expectedContentLength();
-
- // Check that we can cast to unsigned since we have to do
- // so to call ArrayBuffer's create function.
- // FIXME: Support reading more than the current size limit of ArrayBuffer.
- if (length > numeric_limits<unsigned>::max()) {
- failed(FileError::NOT_READABLE_ERR);
- return;
- }
-
- ASSERT(!m_rawData);
- m_rawData = ArrayBuffer::create(static_cast<unsigned>(length), 1);
-
- if (!m_rawData) {
- failed(FileError::NOT_READABLE_ERR);
- return;
- }
-
- m_totalBytes = static_cast<unsigned>(length);
-
- if (m_client)
- m_client->didStartLoading();
-}
-
-void FileReaderLoader::didReceiveData(const char* data, int lengthReceived)
-{
- ASSERT(data);
- ASSERT(lengthReceived > 0);
-
- // Bail out if we already encountered an error.
- if (m_errorCode)
- return;
-
- int length = lengthReceived;
- unsigned remainingBufferSpace = m_totalBytes - m_bytesLoaded;
- if (length > static_cast<long long>(remainingBufferSpace))
- length = static_cast<int>(remainingBufferSpace);
-
- if (length <= 0)
- return;
-
- memcpy(static_cast<char*>(m_rawData->data()) + m_bytesLoaded, data, length);
- m_bytesLoaded += length;
-
- m_isRawDataConverted = false;
-
- if (m_client)
- m_client->didReceiveData();
-}
-
-void FileReaderLoader::didFinishLoading(unsigned long)
-{
- cleanup();
- if (m_client)
- m_client->didFinishLoading();
-}
-
-void FileReaderLoader::didFail(const ResourceError&)
-{
- // If we're aborting, do not proceed with normal error handling since it is covered in aborting code.
- if (m_errorCode == FileError::ABORT_ERR)
- return;
-
- failed(FileError::NOT_READABLE_ERR);
-}
-
-void FileReaderLoader::failed(int errorCode)
-{
- m_errorCode = errorCode;
- cleanup();
- if (m_client)
- m_client->didFail(m_errorCode);
-}
-
-FileError::ErrorCode FileReaderLoader::httpStatusCodeToErrorCode(int httpStatusCode)
-{
- switch (httpStatusCode) {
- case 403:
- return FileError::SECURITY_ERR;
- case 404:
- return FileError::NOT_FOUND_ERR;
- default:
- return FileError::NOT_READABLE_ERR;
- }
-}
-
-PassRefPtr<ArrayBuffer> FileReaderLoader::arrayBufferResult() const
-{
- ASSERT(m_readType == ReadAsArrayBuffer);
-
- // If the loading is not started or an error occurs, return an empty result.
- if (!m_rawData || m_errorCode)
- return 0;
-
- // If completed, we can simply return our buffer.
- if (isCompleted())
- return m_rawData;
-
- // Otherwise, return a copy.
- return ArrayBuffer::create(m_rawData.get());
-}
-
-String FileReaderLoader::stringResult()
-{
- ASSERT(m_readType != ReadAsArrayBuffer);
-
- // If the loading is not started or an error occurs, return an empty result.
- if (!m_rawData || m_errorCode)
- return m_stringResult;
-
- // If already converted from the raw data, return the result now.
- if (m_isRawDataConverted)
- return m_stringResult;
-
- switch (m_readType) {
- case ReadAsArrayBuffer:
- // No conversion is needed.
- break;
- case ReadAsBinaryString:
- m_stringResult = String(static_cast<const char*>(m_rawData->data()), m_bytesLoaded);
- break;
- case ReadAsText:
- convertToText();
- break;
- case ReadAsDataURL:
- // Partial data is not supported when reading as data URL.
- if (isCompleted())
- convertToDataURL();
- break;
- default:
- ASSERT_NOT_REACHED();
- }
-
- return m_stringResult;
-}
-
-void FileReaderLoader::convertToText()
-{
- if (!m_bytesLoaded)
- return;
-
- // Decode the data.
- // The File API spec says that we should use the supplied encoding if it is valid. However, we choose to ignore this
- // requirement in order to be consistent with how WebKit decodes the web content: always has the BOM override the
- // provided encoding.
- // FIXME: consider supporting incremental decoding to improve the perf.
- StringBuilder builder;
- if (!m_decoder)
- m_decoder = TextResourceDecoder::create("text/plain", m_encoding.isValid() ? m_encoding : UTF8Encoding());
- builder.append(m_decoder->decode(static_cast<const char*>(m_rawData->data()), m_bytesLoaded));
-
- if (isCompleted())
- builder.append(m_decoder->flush());
-
- m_stringResult = builder.toString();
-}
-
-void FileReaderLoader::convertToDataURL()
-{
- StringBuilder builder;
- builder.append("data:");
-
- if (!m_bytesLoaded) {
- m_stringResult = builder.toString();
- return;
- }
-
- if (!m_dataType.isEmpty()) {
- builder.append(m_dataType);
- builder.append(";base64,");
- } else
- builder.append("base64,");
-
- Vector<char> out;
- base64Encode(static_cast<const char*>(m_rawData->data()), m_bytesLoaded, out);
- out.append('\0');
- builder.append(out.data());
-
- m_stringResult = builder.toString();
-}
-
-bool FileReaderLoader::isCompleted() const
-{
- return m_bytesLoaded == m_totalBytes;
-}
-
-void FileReaderLoader::setEncoding(const String& encoding)
-{
- if (!encoding.isEmpty())
- m_encoding = TextEncoding(encoding);
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(BLOB)
diff --git a/WebCore/fileapi/FileReaderLoader.h b/WebCore/fileapi/FileReaderLoader.h
deleted file mode 100644
index a15ee01..0000000
--- a/WebCore/fileapi/FileReaderLoader.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileReaderLoader_h
-#define FileReaderLoader_h
-
-#if ENABLE(BLOB)
-
-#include "FileError.h"
-#include "KURL.h"
-#include "TextEncoding.h"
-#include "ThreadableLoaderClient.h"
-#include <wtf/Forward.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-class ArrayBuffer;
-class Blob;
-class FileReaderLoaderClient;
-class ScriptExecutionContext;
-class TextResourceDecoder;
-class ThreadableLoader;
-
-class FileReaderLoader : public ThreadableLoaderClient {
-public:
- enum ReadType {
- ReadAsArrayBuffer,
- ReadAsBinaryString,
- ReadAsText,
- ReadAsDataURL
- };
-
- // If client is given, do the loading asynchronously. Otherwise, load synchronously.
- FileReaderLoader(ReadType, FileReaderLoaderClient*);
- ~FileReaderLoader();
-
- void start(ScriptExecutionContext*, Blob*);
- void cancel();
-
- // ThreadableLoaderClient
- virtual void didReceiveResponse(const ResourceResponse&);
- virtual void didReceiveData(const char*, int);
- virtual void didFinishLoading(unsigned long identifier);
- virtual void didFail(const ResourceError&);
-
- String stringResult();
- PassRefPtr<ArrayBuffer> arrayBufferResult() const;
- unsigned bytesLoaded() const { return m_bytesLoaded; }
- unsigned totalBytes() const { return m_totalBytes; }
- int errorCode() const { return m_errorCode; }
-
- void setEncoding(const String&);
- void setDataType(const String& dataType) { m_dataType = dataType; }
-
-private:
- void terminate();
- void cleanup();
- void failed(int errorCode);
- void convertToText();
- void convertToDataURL();
-
- bool isCompleted() const;
-
- static FileError::ErrorCode httpStatusCodeToErrorCode(int);
-
- ReadType m_readType;
- FileReaderLoaderClient* m_client;
- TextEncoding m_encoding;
- String m_dataType;
-
- KURL m_urlForReading;
- RefPtr<ThreadableLoader> m_loader;
-
- RefPtr<ArrayBuffer> m_rawData;
- bool m_isRawDataConverted;
-
- String m_stringResult;
-
- // The decoder used to decode the text data.
- RefPtr<TextResourceDecoder> m_decoder;
-
- unsigned m_bytesLoaded;
- unsigned m_totalBytes;
- int m_errorCode;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(BLOB)
-
-#endif // FileReaderLoader_h
diff --git a/WebCore/fileapi/FileReaderLoaderClient.h b/WebCore/fileapi/FileReaderLoaderClient.h
deleted file mode 100644
index 4acb8ad..0000000
--- a/WebCore/fileapi/FileReaderLoaderClient.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileReaderLoaderClient_h
-#define FileReaderLoaderClient_h
-
-#if ENABLE(BLOB)
-
-namespace WebCore {
-
-class FileReaderLoaderClient {
-public:
- virtual ~FileReaderLoaderClient() {}
-
- virtual void didStartLoading() = 0;
- virtual void didReceiveData() = 0;
- virtual void didFinishLoading() = 0;
- virtual void didFail(int errorCode) = 0;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(BLOB)
-
-#endif // FileReaderLoaderClient_h
diff --git a/WebCore/fileapi/FileReaderSync.cpp b/WebCore/fileapi/FileReaderSync.cpp
deleted file mode 100644
index 85e7f52..0000000
--- a/WebCore/fileapi/FileReaderSync.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(BLOB)
-
-#include "FileReaderSync.h"
-
-#include "ArrayBuffer.h"
-#include "Blob.h"
-#include "BlobURL.h"
-#include "FileException.h"
-#include "FileReaderLoader.h"
-#include <wtf/PassRefPtr.h>
-
-namespace WebCore {
-
-FileReaderSync::FileReaderSync()
-{
-}
-
-PassRefPtr<ArrayBuffer> FileReaderSync::readAsArrayBuffer(ScriptExecutionContext* scriptExecutionContext, Blob* blob, ExceptionCode& ec)
-{
- if (!blob)
- return 0;
-
- FileReaderLoader loader(FileReaderLoader::ReadAsArrayBuffer, 0);
- startLoading(scriptExecutionContext, loader, blob, ec);
-
- return loader.arrayBufferResult();
-}
-
-String FileReaderSync::readAsBinaryString(ScriptExecutionContext* scriptExecutionContext, Blob* blob, ExceptionCode& ec)
-{
- if (!blob)
- return String();
-
- FileReaderLoader loader(FileReaderLoader::ReadAsBinaryString, 0);
- startLoading(scriptExecutionContext, loader, blob, ec);
- return loader.stringResult();
-}
-
-String FileReaderSync::readAsText(ScriptExecutionContext* scriptExecutionContext, Blob* blob, const String& encoding, ExceptionCode& ec)
-{
- if (!blob)
- return String();
-
- FileReaderLoader loader(FileReaderLoader::ReadAsText, 0);
- loader.setEncoding(encoding);
- startLoading(scriptExecutionContext, loader, blob, ec);
- return loader.stringResult();
-}
-
-String FileReaderSync::readAsDataURL(ScriptExecutionContext* scriptExecutionContext, Blob* blob, ExceptionCode& ec)
-{
- if (!blob)
- return String();
-
- FileReaderLoader loader(FileReaderLoader::ReadAsDataURL, 0);
- loader.setDataType(blob->type());
- startLoading(scriptExecutionContext, loader, blob, ec);
- return loader.stringResult();
-}
-
-void FileReaderSync::startLoading(ScriptExecutionContext* scriptExecutionContext, FileReaderLoader& loader, Blob* blob, ExceptionCode& ec)
-{
- loader.start(scriptExecutionContext, blob);
- ec = FileException::ErrorCodeToExceptionCode(loader.errorCode());
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(BLOB)
diff --git a/WebCore/fileapi/FileReaderSync.h b/WebCore/fileapi/FileReaderSync.h
deleted file mode 100644
index 79b637f..0000000
--- a/WebCore/fileapi/FileReaderSync.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileReaderSync_h
-#define FileReaderSync_h
-
-#if ENABLE(BLOB)
-
-#include "ExceptionCode.h"
-#include <wtf/Forward.h>
-#include <wtf/RefCounted.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-class ArrayBuffer;
-class Blob;
-class FileReaderLoader;
-class ScriptExecutionContext;
-
-class FileReaderSync : public RefCounted<FileReaderSync> {
-public:
- static PassRefPtr<FileReaderSync> create()
- {
- return adoptRef(new FileReaderSync());
- }
-
- virtual ~FileReaderSync() { }
-
- PassRefPtr<ArrayBuffer> readAsArrayBuffer(ScriptExecutionContext*, Blob*, ExceptionCode&);
- String readAsBinaryString(ScriptExecutionContext*, Blob*, ExceptionCode&);
- String readAsText(ScriptExecutionContext* scriptExecutionContext, Blob* blob, ExceptionCode& ec)
- {
- return readAsText(scriptExecutionContext, blob, "", ec);
- }
- String readAsText(ScriptExecutionContext*, Blob*, const String& encoding, ExceptionCode&);
- String readAsDataURL(ScriptExecutionContext*, Blob*, ExceptionCode&);
-
-private:
- FileReaderSync();
-
- void startLoading(ScriptExecutionContext*, FileReaderLoader&, Blob*, ExceptionCode&);
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(BLOB)
-
-#endif // FileReaderSync_h
diff --git a/WebCore/fileapi/FileReaderSync.idl b/WebCore/fileapi/FileReaderSync.idl
deleted file mode 100644
index 381d483..0000000
--- a/WebCore/fileapi/FileReaderSync.idl
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module html {
- interface [
- Conditional=BLOB,
- CanBeConstructed,
- NoStaticTables
- ] FileReaderSync {
- [CallWith=ScriptExecutionContext] ArrayBuffer readAsArrayBuffer(in Blob blob)
- raises(FileException);
- [CallWith=ScriptExecutionContext, ConvertScriptString] DOMString readAsBinaryString(in Blob blob)
- raises(FileException);
- [CallWith=ScriptExecutionContext, ConvertScriptString] DOMString readAsText(in Blob blob, in [Optional] DOMString encoding)
- raises(FileException);
- [CallWith=ScriptExecutionContext, ConvertScriptString] DOMString readAsDataURL(in Blob blob)
- raises(FileException);
- };
-}
diff --git a/WebCore/fileapi/FileStreamProxy.cpp b/WebCore/fileapi/FileStreamProxy.cpp
deleted file mode 100644
index 5daf983..0000000
--- a/WebCore/fileapi/FileStreamProxy.cpp
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(BLOB) || ENABLE(FILE_SYSTEM)
-
-#include "FileStreamProxy.h"
-
-#include "Blob.h"
-#include "CrossThreadTask.h"
-#include "FileStream.h"
-#include "FileThread.h"
-#include "FileThreadTask.h"
-#include "PlatformString.h"
-#include "ScriptExecutionContext.h"
-
-namespace WebCore {
-
-inline FileStreamProxy::FileStreamProxy(ScriptExecutionContext* context, FileStreamClient* client)
- : AsyncFileStream(client)
- , m_context(context)
- , m_stream(FileStream::create())
-{
-}
-
-PassRefPtr<FileStreamProxy> FileStreamProxy::create(ScriptExecutionContext* context, FileStreamClient* client)
-{
- RefPtr<FileStreamProxy> proxy = adoptRef(new FileStreamProxy(context, client));
-
- // Hold an ref so that the instance will not get deleted while there are tasks on the file thread.
- // This is balanced by the deref in derefProxyOnContext below.
- proxy->ref();
-
- proxy->fileThread()->postTask(createFileThreadTask(proxy.get(), &FileStreamProxy::startOnFileThread));
-
- return proxy.release();
-}
-
-FileStreamProxy::~FileStreamProxy()
-{
-}
-
-FileThread* FileStreamProxy::fileThread()
-{
- ASSERT(m_context->isContextThread());
- ASSERT(m_context->fileThread());
- return m_context->fileThread();
-}
-
-static void didStart(ScriptExecutionContext*, FileStreamProxy* proxy)
-{
- if (proxy->client())
- proxy->client()->didStart();
-}
-
-void FileStreamProxy::startOnFileThread()
-{
- m_stream->start();
- m_context->postTask(createCallbackTask(&didStart, this));
-}
-
-void FileStreamProxy::stop()
-{
- // Clear the client so that we won't be calling callbacks on the client.
- setClient(0);
-
- fileThread()->unscheduleTasks(m_stream.get());
- fileThread()->postTask(createFileThreadTask(this, &FileStreamProxy::stopOnFileThread));
-}
-
-static void derefProxyOnContext(ScriptExecutionContext*, FileStreamProxy* proxy)
-{
- ASSERT(proxy->hasOneRef());
- proxy->deref();
-}
-
-void FileStreamProxy::stopOnFileThread()
-{
- m_stream->stop();
- m_context->postTask(createCallbackTask(&derefProxyOnContext, this));
-}
-
-static void didGetSize(ScriptExecutionContext*, FileStreamProxy* proxy, long long size)
-{
- if (proxy->client())
- proxy->client()->didGetSize(size);
-}
-
-void FileStreamProxy::getSize(const String& path, double expectedModificationTime)
-{
- fileThread()->postTask(createFileThreadTask(this, &FileStreamProxy::getSizeOnFileThread, path, expectedModificationTime));
-}
-
-void FileStreamProxy::getSizeOnFileThread(const String& path, double expectedModificationTime)
-{
- long long size = m_stream->getSize(path, expectedModificationTime);
- m_context->postTask(createCallbackTask(&didGetSize, this, size));
-}
-
-static void didOpen(ScriptExecutionContext*, FileStreamProxy* proxy, bool success)
-{
- if (proxy->client())
- proxy->client()->didOpen(success);
-}
-
-void FileStreamProxy::openForRead(const String& path, long long offset, long long length)
-{
- fileThread()->postTask(createFileThreadTask(this, &FileStreamProxy::openForReadOnFileThread, path, offset, length));
-}
-
-void FileStreamProxy::openForReadOnFileThread(const String& path, long long offset, long long length)
-{
- bool success = m_stream->openForRead(path, offset, length);
- m_context->postTask(createCallbackTask(&didOpen, this, success));
-}
-
-void FileStreamProxy::openForWrite(const String& path)
-{
- fileThread()->postTask(createFileThreadTask(this, &FileStreamProxy::openForWriteOnFileThread, path));
-}
-
-void FileStreamProxy::openForWriteOnFileThread(const String& path)
-{
- bool success = m_stream->openForWrite(path);
- m_context->postTask(createCallbackTask(&didOpen, this, success));
-}
-
-void FileStreamProxy::close()
-{
- fileThread()->postTask(createFileThreadTask(this, &FileStreamProxy::closeOnFileThread));
-}
-
-void FileStreamProxy::closeOnFileThread()
-{
- m_stream->close();
-}
-
-static void didRead(ScriptExecutionContext*, FileStreamProxy* proxy, int bytesRead)
-{
- if (proxy->client())
- proxy->client()->didRead(bytesRead);
-}
-
-void FileStreamProxy::read(char* buffer, int length)
-{
- fileThread()->postTask(createFileThreadTask(this, &FileStreamProxy::readOnFileThread, buffer, length));
-}
-
-void FileStreamProxy::readOnFileThread(char* buffer, int length)
-{
- int bytesRead = m_stream->read(buffer, length);
- m_context->postTask(createCallbackTask(&didRead, this, bytesRead));
-}
-
-static void didWrite(ScriptExecutionContext*, FileStreamProxy* proxy, int bytesWritten)
-{
- if (proxy->client())
- proxy->client()->didWrite(bytesWritten);
-}
-
-void FileStreamProxy::write(const KURL& blobURL, long long position, int length)
-{
- fileThread()->postTask(createFileThreadTask(this, &FileStreamProxy::writeOnFileThread, blobURL, position, length));
-}
-
-void FileStreamProxy::writeOnFileThread(const KURL& blobURL, long long position, int length)
-{
- int bytesWritten = m_stream->write(blobURL, position, length);
- m_context->postTask(createCallbackTask(&didWrite, this, bytesWritten));
-}
-
-static void didTruncate(ScriptExecutionContext*, FileStreamProxy* proxy, bool success)
-{
- if (proxy->client())
- proxy->client()->didTruncate(success);
-}
-
-void FileStreamProxy::truncate(long long position)
-{
- fileThread()->postTask(createFileThreadTask(this, &FileStreamProxy::truncateOnFileThread, position));
-}
-
-void FileStreamProxy::truncateOnFileThread(long long position)
-{
- bool success = m_stream->truncate(position);
- m_context->postTask(createCallbackTask(&didTruncate, this, success));
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(BLOB) || ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/FileStreamProxy.h b/WebCore/fileapi/FileStreamProxy.h
deleted file mode 100644
index ce9a105..0000000
--- a/WebCore/fileapi/FileStreamProxy.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- * Copyright (C) 2010 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileStreamProxy_h
-#define FileStreamProxy_h
-
-#if ENABLE(BLOB) || ENABLE(FILE_SYSTEM)
-
-#include "AsyncFileStream.h"
-#include <wtf/Forward.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/RefPtr.h>
-
-namespace WebCore {
-
-class FileStream;
-class FileThread;
-class KURL;
-class ScriptExecutionContext;
-
-// A proxy module that asynchronously calls corresponding FileStream methods on the file thread. Note: you must call stop() first and then release the reference to destruct the FileStreamProxy instance.
-class FileStreamProxy : public AsyncFileStream {
-public:
- static PassRefPtr<FileStreamProxy> create(ScriptExecutionContext*, FileStreamClient*);
- virtual ~FileStreamProxy();
-
- virtual void getSize(const String& path, double expectedModificationTime);
- virtual void openForRead(const String& path, long long offset, long long length);
- virtual void openForWrite(const String& path);
- virtual void close();
- virtual void read(char* buffer, int length);
- virtual void write(const KURL& blobURL, long long position, int length);
- virtual void truncate(long long position);
-
- // Stops the proxy and scedules it to be destructed. All the pending tasks will be aborted and the file stream will be closed.
- // Note: the caller should deref the instance immediately after calling stop().
- virtual void stop();
-
-private:
- FileStreamProxy(ScriptExecutionContext*, FileStreamClient*);
-
- FileThread* fileThread();
-
- // Called on File thread.
- void startOnFileThread();
- void stopOnFileThread();
- void getSizeOnFileThread(const String& path, double expectedModificationTime);
- void openForReadOnFileThread(const String& path, long long offset, long long length);
- void openForWriteOnFileThread(const String& path);
- void closeOnFileThread();
- void readOnFileThread(char* buffer, int length);
- void writeOnFileThread(const KURL& blobURL, long long position, int length);
- void truncateOnFileThread(long long position);
-
- RefPtr<ScriptExecutionContext> m_context;
- RefPtr<FileStream> m_stream;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(BLOB) || ENABLE(FILE_SYSTEM)
-
-#endif // FileStreamProxy_h
diff --git a/WebCore/fileapi/FileSystemCallback.h b/WebCore/fileapi/FileSystemCallback.h
deleted file mode 100644
index 63f8416..0000000
--- a/WebCore/fileapi/FileSystemCallback.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileSystemCallback_h
-#define FileSystemCallback_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class DOMFileSystem;
-
-class FileSystemCallback : public RefCounted<FileSystemCallback> {
-public:
- virtual ~FileSystemCallback() { }
- virtual bool handleEvent(DOMFileSystem*) = 0;
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // FileSystemCallback_h
diff --git a/WebCore/fileapi/FileSystemCallback.idl b/WebCore/fileapi/FileSystemCallback.idl
deleted file mode 100644
index cf686ff..0000000
--- a/WebCore/fileapi/FileSystemCallback.idl
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- Callback
- ] FileSystemCallback {
- boolean handleEvent(in DOMFileSystem fileSystem);
- };
-}
diff --git a/WebCore/fileapi/FileSystemCallbacks.cpp b/WebCore/fileapi/FileSystemCallbacks.cpp
deleted file mode 100644
index 966337b..0000000
--- a/WebCore/fileapi/FileSystemCallbacks.cpp
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "FileSystemCallbacks.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "AsyncFileSystem.h"
-#include "AsyncFileWriter.h"
-#include "DOMFilePath.h"
-#include "DOMFileSystemBase.h"
-#include "DirectoryEntry.h"
-#include "DirectoryReader.h"
-#include "EntriesCallback.h"
-#include "EntryArray.h"
-#include "EntryCallback.h"
-#include "ErrorCallback.h"
-#include "FileEntry.h"
-#include "FileError.h"
-#include "FileMetadata.h"
-#include "FileSystemCallback.h"
-#include "FileWriterBase.h"
-#include "FileWriterBaseCallback.h"
-#include "Metadata.h"
-#include "MetadataCallback.h"
-#include "ScriptExecutionContext.h"
-#include "VoidCallback.h"
-
-namespace WebCore {
-
-FileSystemCallbacksBase::FileSystemCallbacksBase(PassRefPtr<ErrorCallback> errorCallback)
- : m_errorCallback(errorCallback)
-{
-}
-
-FileSystemCallbacksBase::~FileSystemCallbacksBase()
-{
-}
-
-void FileSystemCallbacksBase::didSucceed()
-{
- // Each subclass must implement an appropriate one.
- ASSERT_NOT_REACHED();
-}
-
-void FileSystemCallbacksBase::didOpenFileSystem(const String&, PassOwnPtr<AsyncFileSystem>)
-{
- // Each subclass must implement an appropriate one.
- ASSERT_NOT_REACHED();
-}
-
-void FileSystemCallbacksBase::didReadMetadata(const FileMetadata&)
-{
- // Each subclass must implement an appropriate one.
- ASSERT_NOT_REACHED();
-}
-
-void FileSystemCallbacksBase::didReadDirectoryEntries(bool)
-{
- // Each subclass must implement an appropriate one.
- ASSERT_NOT_REACHED();
-}
-
-void FileSystemCallbacksBase::didReadDirectoryEntry(const String&, bool)
-{
- // Each subclass must implement an appropriate one.
- ASSERT_NOT_REACHED();
-}
-
-void FileSystemCallbacksBase::didCreateFileWriter(PassOwnPtr<AsyncFileWriter>, long long)
-{
- // Each subclass must implement an appropriate one.
- ASSERT_NOT_REACHED();
-}
-
-void FileSystemCallbacksBase::didFail(int code)
-{
- if (m_errorCallback) {
- m_errorCallback->handleEvent(FileError::create(static_cast<FileError::ErrorCode>(code)).get());
- m_errorCallback.clear();
- }
-}
-
-// EntryCallbacks -------------------------------------------------------------
-
-PassOwnPtr<EntryCallbacks> EntryCallbacks::create(PassRefPtr<EntryCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback, PassRefPtr<DOMFileSystemBase> fileSystem, const String& expectedPath, bool isDirectory)
-{
- return adoptPtr(new EntryCallbacks(successCallback, errorCallback, fileSystem, expectedPath, isDirectory));
-}
-
-EntryCallbacks::EntryCallbacks(PassRefPtr<EntryCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback, PassRefPtr<DOMFileSystemBase> fileSystem, const String& expectedPath, bool isDirectory)
- : FileSystemCallbacksBase(errorCallback)
- , m_successCallback(successCallback)
- , m_fileSystem(fileSystem)
- , m_expectedPath(expectedPath)
- , m_isDirectory(isDirectory)
-{
-}
-
-void EntryCallbacks::didSucceed()
-{
- if (m_successCallback) {
- if (m_isDirectory)
- m_successCallback->handleEvent(DirectoryEntry::create(m_fileSystem, m_expectedPath).get());
- else
- m_successCallback->handleEvent(FileEntry::create(m_fileSystem, m_expectedPath).get());
- }
- m_successCallback.clear();
-}
-
-// EntriesCallbacks -----------------------------------------------------------
-
-PassOwnPtr<EntriesCallbacks> EntriesCallbacks::create(PassRefPtr<EntriesCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback, PassRefPtr<DirectoryReaderBase> directoryReader, const String& basePath)
-{
- return adoptPtr(new EntriesCallbacks(successCallback, errorCallback, directoryReader, basePath));
-}
-
-EntriesCallbacks::EntriesCallbacks(PassRefPtr<EntriesCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback, PassRefPtr<DirectoryReaderBase> directoryReader, const String& basePath)
- : FileSystemCallbacksBase(errorCallback)
- , m_successCallback(successCallback)
- , m_directoryReader(directoryReader)
- , m_basePath(basePath)
- , m_entries(EntryArray::create())
-{
- ASSERT(m_directoryReader);
-}
-
-void EntriesCallbacks::didReadDirectoryEntry(const String& name, bool isDirectory)
-{
- if (isDirectory)
- m_entries->append(DirectoryEntry::create(m_directoryReader->filesystem(), DOMFilePath::append(m_basePath, name)));
- else
- m_entries->append(FileEntry::create(m_directoryReader->filesystem(), DOMFilePath::append(m_basePath, name)));
-}
-
-void EntriesCallbacks::didReadDirectoryEntries(bool hasMore)
-{
- m_directoryReader->setHasMoreEntries(hasMore);
- if (m_successCallback)
- m_successCallback->handleEvent(m_entries.get());
-}
-
-// FileSystemCallbacks --------------------------------------------------------
-
-PassOwnPtr<FileSystemCallbacks> FileSystemCallbacks::create(PassRefPtr<FileSystemCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback, ScriptExecutionContext* scriptExecutionContext)
-{
- return adoptPtr(new FileSystemCallbacks(successCallback, errorCallback, scriptExecutionContext));
-}
-
-FileSystemCallbacks::FileSystemCallbacks(PassRefPtr<FileSystemCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback, ScriptExecutionContext* context)
- : FileSystemCallbacksBase(errorCallback)
- , m_successCallback(successCallback)
- , m_scriptExecutionContext(context)
-{
-}
-
-void FileSystemCallbacks::didOpenFileSystem(const String& name, PassOwnPtr<AsyncFileSystem> asyncFileSystem)
-{
- if (m_successCallback) {
- ASSERT(asyncFileSystem);
- m_successCallback->handleEvent(DOMFileSystem::create(m_scriptExecutionContext.get(), name, asyncFileSystem.leakPtr()).get());
- m_scriptExecutionContext.clear();
- }
- m_successCallback.clear();
-}
-
-// MetadataCallbacks ----------------------------------------------------------
-
-PassOwnPtr<MetadataCallbacks> MetadataCallbacks::create(PassRefPtr<MetadataCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
-{
- return adoptPtr(new MetadataCallbacks(successCallback, errorCallback));
-}
-
-MetadataCallbacks::MetadataCallbacks(PassRefPtr<MetadataCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
- : FileSystemCallbacksBase(errorCallback)
- , m_successCallback(successCallback)
-{
-}
-
-void MetadataCallbacks::didReadMetadata(const FileMetadata& metadata)
-{
- if (m_successCallback)
- m_successCallback->handleEvent(Metadata::create(metadata.modificationTime).get());
- m_successCallback.clear();
-}
-
-// FileWriterBaseCallbacks ----------------------------------------------------------
-
-PassOwnPtr<FileWriterBaseCallbacks> FileWriterBaseCallbacks::create(PassRefPtr<FileWriterBase> fileWriter, PassRefPtr<FileWriterBaseCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
-{
- return adoptPtr(new FileWriterBaseCallbacks(fileWriter, successCallback, errorCallback));
-}
-
-FileWriterBaseCallbacks::FileWriterBaseCallbacks(PassRefPtr<FileWriterBase> fileWriter, PassRefPtr<FileWriterBaseCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
- : FileSystemCallbacksBase(errorCallback)
- , m_fileWriter(fileWriter)
- , m_successCallback(successCallback)
-{
-}
-
-void FileWriterBaseCallbacks::didCreateFileWriter(PassOwnPtr<AsyncFileWriter> asyncFileWriter, long long length)
-{
- m_fileWriter->initialize(asyncFileWriter, length);
- if (m_successCallback)
- m_successCallback->handleEvent(m_fileWriter.release().get());
- m_successCallback.clear();
-}
-
-// VoidCallbacks --------------------------------------------------------------
-
-PassOwnPtr<VoidCallbacks> VoidCallbacks::create(PassRefPtr<VoidCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
-{
- return adoptPtr(new VoidCallbacks(successCallback, errorCallback));
-}
-
-VoidCallbacks::VoidCallbacks(PassRefPtr<VoidCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback)
- : FileSystemCallbacksBase(errorCallback)
- , m_successCallback(successCallback)
-{
-}
-
-void VoidCallbacks::didSucceed()
-{
- if (m_successCallback)
- m_successCallback->handleEvent();
- m_successCallback.clear();
-}
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/FileSystemCallbacks.h b/WebCore/fileapi/FileSystemCallbacks.h
deleted file mode 100644
index 83000c2..0000000
--- a/WebCore/fileapi/FileSystemCallbacks.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileSystemCallbacks_h
-#define FileSystemCallbacks_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "AsyncFileSystemCallbacks.h"
-#include "PlatformString.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/Vector.h>
-
-namespace WebCore {
-
-class AsyncFileWriter;
-class DOMFileSystemBase;
-class DirectoryReaderBase;
-class ErrorCallback;
-class EntriesCallback;
-class EntryArray;
-class EntryCallback;
-struct FileMetadata;
-class FileSystemCallback;
-class FileWriterBase;
-class FileWriterBaseCallback;
-class MetadataCallback;
-class ScriptExecutionContext;
-class VoidCallback;
-
-class FileSystemCallbacksBase : public AsyncFileSystemCallbacks {
-public:
- virtual ~FileSystemCallbacksBase();
-
- // For EntryCallbacks and VoidCallbacks.
- virtual void didSucceed();
-
- // For FileSystemCallbacks.
- virtual void didOpenFileSystem(const String& name, PassOwnPtr<AsyncFileSystem>);
-
- // For MetadataCallbacks.
- virtual void didReadMetadata(const FileMetadata&);
-
- // For EntriesCallbacks. didReadDirectoryEntry is called each time the API reads an entry, and didReadDirectoryDone is called when a chunk of entries have been read (i.e. good time to call back to the application). If hasMore is true there can be more chunks.
- virtual void didReadDirectoryEntry(const String& name, bool isDirectory);
- virtual void didReadDirectoryEntries(bool hasMore);
-
- // For createFileWriter.
- virtual void didCreateFileWriter(PassOwnPtr<AsyncFileWriter>, long long length);
-
- // For ErrorCallback.
- virtual void didFail(int code);
-
-protected:
- FileSystemCallbacksBase(PassRefPtr<ErrorCallback> errorCallback);
- RefPtr<ErrorCallback> m_errorCallback;
-};
-
-// Subclasses ----------------------------------------------------------------
-
-class EntryCallbacks : public FileSystemCallbacksBase {
-public:
- static PassOwnPtr<EntryCallbacks> create(PassRefPtr<EntryCallback>, PassRefPtr<ErrorCallback>, PassRefPtr<DOMFileSystemBase>, const String& expectedPath, bool isDirectory);
- virtual void didSucceed();
-
-private:
- EntryCallbacks(PassRefPtr<EntryCallback>, PassRefPtr<ErrorCallback>, PassRefPtr<DOMFileSystemBase>, const String& expectedPath, bool isDirectory);
- RefPtr<EntryCallback> m_successCallback;
- RefPtr<DOMFileSystemBase> m_fileSystem;
- String m_expectedPath;
- bool m_isDirectory;
-};
-
-class EntriesCallbacks : public FileSystemCallbacksBase {
-public:
- static PassOwnPtr<EntriesCallbacks> create(PassRefPtr<EntriesCallback>, PassRefPtr<ErrorCallback>, PassRefPtr<DirectoryReaderBase>, const String& basePath);
- virtual void didReadDirectoryEntry(const String& name, bool isDirectory);
- virtual void didReadDirectoryEntries(bool hasMore);
-
-private:
- EntriesCallbacks(PassRefPtr<EntriesCallback>, PassRefPtr<ErrorCallback>, PassRefPtr<DirectoryReaderBase>, const String& basePath);
- RefPtr<EntriesCallback> m_successCallback;
- RefPtr<DirectoryReaderBase> m_directoryReader;
- String m_basePath;
- RefPtr<EntryArray> m_entries;
-};
-
-class FileSystemCallbacks : public FileSystemCallbacksBase {
-public:
- static PassOwnPtr<FileSystemCallbacks> create(PassRefPtr<FileSystemCallback>, PassRefPtr<ErrorCallback>, ScriptExecutionContext*);
- virtual void didOpenFileSystem(const String& name, PassOwnPtr<AsyncFileSystem>);
-
-private:
- FileSystemCallbacks(PassRefPtr<FileSystemCallback>, PassRefPtr<ErrorCallback>, ScriptExecutionContext*);
- RefPtr<FileSystemCallback> m_successCallback;
- RefPtr<ScriptExecutionContext> m_scriptExecutionContext;
-};
-
-class MetadataCallbacks : public FileSystemCallbacksBase {
-public:
- static PassOwnPtr<MetadataCallbacks> create(PassRefPtr<MetadataCallback>, PassRefPtr<ErrorCallback>);
- virtual void didReadMetadata(const FileMetadata&);
-
-private:
- MetadataCallbacks(PassRefPtr<MetadataCallback>, PassRefPtr<ErrorCallback>);
- RefPtr<MetadataCallback> m_successCallback;
-};
-
-class FileWriterBaseCallbacks : public FileSystemCallbacksBase {
-public:
- static PassOwnPtr<FileWriterBaseCallbacks> create(PassRefPtr<FileWriterBase>, PassRefPtr<FileWriterBaseCallback>, PassRefPtr<ErrorCallback>);
- virtual void didCreateFileWriter(PassOwnPtr<AsyncFileWriter>, long long length);
-
-private:
- FileWriterBaseCallbacks(PassRefPtr<FileWriterBase>, PassRefPtr<FileWriterBaseCallback>, PassRefPtr<ErrorCallback>);
- RefPtr<FileWriterBase> m_fileWriter;
- RefPtr<FileWriterBaseCallback> m_successCallback;
-};
-
-class VoidCallbacks : public FileSystemCallbacksBase {
-public:
- static PassOwnPtr<VoidCallbacks> create(PassRefPtr<VoidCallback>, PassRefPtr<ErrorCallback>);
- virtual void didSucceed();
-
-private:
- VoidCallbacks(PassRefPtr<VoidCallback>, PassRefPtr<ErrorCallback>);
- RefPtr<VoidCallback> m_successCallback;
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // FileSystemCallbacks_h
diff --git a/WebCore/fileapi/FileThread.cpp b/WebCore/fileapi/FileThread.cpp
deleted file mode 100644
index 4d55630..0000000
--- a/WebCore/fileapi/FileThread.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(BLOB) || ENABLE(FILE_SYSTEM)
-
-#include "FileThread.h"
-
-#include "AutodrainedPool.h"
-#include "Logging.h"
-
-namespace WebCore {
-
-FileThread::FileThread()
- : m_threadID(0)
-{
- m_selfRef = this;
-}
-
-FileThread::~FileThread()
-{
- ASSERT(m_queue.killed());
-}
-
-bool FileThread::start()
-{
- MutexLocker lock(m_threadCreationMutex);
- if (m_threadID)
- return true;
- m_threadID = createThread(FileThread::fileThreadStart, this, "WebCore: File");
- return m_threadID;
-}
-
-void FileThread::stop()
-{
- m_queue.kill();
-}
-
-void FileThread::postTask(PassOwnPtr<Task> task)
-{
- m_queue.append(task);
-}
-
-class SameInstancePredicate {
-public:
- SameInstancePredicate(const void* instance) : m_instance(instance) { }
- bool operator()(FileThread::Task* task) const { return task->instance() == m_instance; }
-private:
- const void* m_instance;
-};
-
-void FileThread::unscheduleTasks(const void* instance)
-{
- SameInstancePredicate predicate(instance);
- m_queue.removeIf(predicate);
-}
-
-void* FileThread::fileThreadStart(void* arg)
-{
- FileThread* fileThread = static_cast<FileThread*>(arg);
- return fileThread->runLoop();
-}
-
-void* FileThread::runLoop()
-{
- {
- // Wait for FileThread::start() to complete to have m_threadID
- // established before starting the main loop.
- MutexLocker lock(m_threadCreationMutex);
- LOG(FileAPI, "Started FileThread %p", this);
- }
-
- AutodrainedPool pool;
- while (OwnPtr<Task> task = m_queue.waitForMessage()) {
- task->performTask();
- pool.cycle();
- }
-
- LOG(FileAPI, "About to detach thread %i and clear the ref to FileThread %p, which currently has %i ref(s)", m_threadID, this, refCount());
-
- detachThread(m_threadID);
-
- // Clear the self refptr, possibly resulting in deletion
- m_selfRef = 0;
-
- return 0;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(BLOB) || ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/FileThread.h b/WebCore/fileapi/FileThread.h
deleted file mode 100644
index d7aabf7..0000000
--- a/WebCore/fileapi/FileThread.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileThread_h
-#define FileThread_h
-
-#if ENABLE(BLOB) || ENABLE(FILE_SYSTEM)
-
-#include <wtf/MessageQueue.h>
-#include <wtf/PassOwnPtr.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/Threading.h>
-
-namespace WebCore {
-
-class FileStream;
-
-class FileThread : public ThreadSafeShared<FileThread> {
-public:
- static PassRefPtr<FileThread> create()
- {
- return adoptRef(new FileThread());
- }
-
- ~FileThread();
-
- bool start();
- void stop();
-
- class Task : public Noncopyable {
- public:
- virtual ~Task() { }
- virtual void performTask() = 0;
- void* instance() const { return m_instance; }
- protected:
- Task(void* instance) : m_instance(instance) { }
- void* m_instance;
- };
-
- void postTask(PassOwnPtr<Task> task);
-
- void unscheduleTasks(const void* instance);
-
-private:
- FileThread();
-
- static void* fileThreadStart(void*);
- void* runLoop();
-
- ThreadIdentifier m_threadID;
- RefPtr<FileThread> m_selfRef;
- MessageQueue<Task> m_queue;
-
- Mutex m_threadCreationMutex;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(BLOB) || ENABLE(FILE_SYSTEM)
-
-#endif // FileThread_h
diff --git a/WebCore/fileapi/FileThreadTask.h b/WebCore/fileapi/FileThreadTask.h
deleted file mode 100644
index 8a8ffcb..0000000
--- a/WebCore/fileapi/FileThreadTask.h
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileThreadTask_h
-#define FileThreadTask_h
-
-#include "CrossThreadCopier.h"
-#include "CrossThreadTask.h"
-#include "FileThread.h"
-#include <wtf/PassOwnPtr.h>
-#include <wtf/PassRefPtr.h>
-
-namespace WebCore {
-
-template<typename T>
-class FileThreadTask0 : public FileThread::Task {
-public:
- typedef void (T::*Method)();
- typedef FileThreadTask0<T> FileThreadTaskImpl;
-
- static PassOwnPtr<FileThreadTaskImpl> create(T* instance, Method method)
- {
- return adoptPtr(new FileThreadTaskImpl(instance, method));
- }
-
-private:
- FileThreadTask0(T* instance, Method method)
- : FileThread::Task(instance)
- , m_method(method)
- {
- }
-
- virtual void performTask()
- {
- (*static_cast<T*>(instance()).*m_method)();
- }
-
-private:
- Method m_method;
-};
-
-template<typename T, typename P1, typename MP1>
-class FileThreadTask1 : public FileThread::Task {
-public:
- typedef void (T::*Method)(MP1);
- typedef FileThreadTask1<T, P1, MP1> FileThreadTaskImpl;
- typedef typename CrossThreadTaskTraits<P1>::ParamType Param1;
-
- static PassOwnPtr<FileThreadTaskImpl> create(T* instance, Method method, Param1 parameter1)
- {
- return adoptPtr(new FileThreadTaskImpl(instance, method, parameter1));
- }
-
-private:
- FileThreadTask1(T* instance, Method method, Param1 parameter1)
- : FileThread::Task(instance)
- , m_method(method)
- , m_parameter1(parameter1)
- {
- }
-
- virtual void performTask()
- {
- (*static_cast<T*>(instance()).*m_method)(m_parameter1);
- }
-
-private:
- Method m_method;
- P1 m_parameter1;
-};
-
-template<typename T, typename P1, typename MP1, typename P2, typename MP2>
-class FileThreadTask2 : public FileThread::Task {
-public:
- typedef void (T::*Method)(MP1, MP2);
- typedef FileThreadTask2<T, P1, MP1, P2, MP2> FileThreadTaskImpl;
- typedef typename CrossThreadTaskTraits<P1>::ParamType Param1;
- typedef typename CrossThreadTaskTraits<P2>::ParamType Param2;
-
- static PassOwnPtr<FileThreadTaskImpl> create(T* instance, Method method, Param1 parameter1, Param2 parameter2)
- {
- return adoptPtr(new FileThreadTaskImpl(instance, method, parameter1, parameter2));
- }
-
-private:
- FileThreadTask2(T* instance, Method method, Param1 parameter1, Param2 parameter2)
- : FileThread::Task(instance)
- , m_method(method)
- , m_parameter1(parameter1)
- , m_parameter2(parameter2)
- {
- }
-
- virtual void performTask()
- {
- (*static_cast<T*>(instance()).*m_method)(m_parameter1, m_parameter2);
- }
-
-private:
- Method m_method;
- P1 m_parameter1;
- P2 m_parameter2;
-};
-
-template<typename T, typename P1, typename MP1, typename P2, typename MP2, typename P3, typename MP3>
-class FileThreadTask3 : public FileThread::Task {
-public:
- typedef void (T::*Method)(MP1, MP2, MP3);
- typedef FileThreadTask3<T, P1, MP1, P2, MP2, P3, MP3> FileThreadTaskImpl;
- typedef typename CrossThreadTaskTraits<P1>::ParamType Param1;
- typedef typename CrossThreadTaskTraits<P2>::ParamType Param2;
- typedef typename CrossThreadTaskTraits<P3>::ParamType Param3;
-
- static PassOwnPtr<FileThreadTaskImpl> create(T* instance, Method method, Param1 parameter1, Param2 parameter2, Param3 parameter3)
- {
- return adoptPtr(new FileThreadTaskImpl(instance, method, parameter1, parameter2, parameter3));
- }
-
-private:
- FileThreadTask3(T* instance, Method method, Param1 parameter1, Param2 parameter2, Param3 parameter3)
- : FileThread::Task(instance)
- , m_method(method)
- , m_parameter1(parameter1)
- , m_parameter2(parameter2)
- , m_parameter3(parameter3)
- {
- }
-
- virtual void performTask()
- {
- (*static_cast<T*>(instance()).*m_method)(m_parameter1, m_parameter2, m_parameter3);
- }
-
-private:
- Method m_method;
- P1 m_parameter1;
- P2 m_parameter2;
- P3 m_parameter3;
-};
-
-template<typename T>
-PassOwnPtr<FileThread::Task> createFileThreadTask(
- T* const callee,
- void (T::*method)());
-
-template<typename T>
-PassOwnPtr<FileThread::Task> createFileThreadTask(
- T* const callee,
- void (T::*method)())
-{
- return FileThreadTask0<T>::create(
- callee,
- method);
-}
-
-template<typename T, typename P1, typename MP1>
-PassOwnPtr<FileThread::Task> createFileThreadTask(
- T* const callee,
- void (T::*method)(MP1),
- const P1& parameter1)
-{
- return FileThreadTask1<T, typename CrossThreadCopier<P1>::Type, MP1>::create(
- callee,
- method,
- CrossThreadCopier<P1>::copy(parameter1));
-}
-
-template<typename T, typename P1, typename MP1, typename P2, typename MP2>
-PassOwnPtr<FileThread::Task> createFileThreadTask(
- T* const callee,
- void (T::*method)(MP1, MP2),
- const P1& parameter1,
- const P2& parameter2)
-{
- return FileThreadTask2<T, typename CrossThreadCopier<P1>::Type, MP1, typename CrossThreadCopier<P2>::Type, MP2>::create(
- callee,
- method,
- CrossThreadCopier<P1>::copy(parameter1),
- CrossThreadCopier<P2>::copy(parameter2));
-}
-
-template<typename T, typename P1, typename MP1, typename P2, typename MP2, typename P3, typename MP3>
-PassOwnPtr<FileThread::Task> createFileThreadTask(
- T* const callee,
- void (T::*method)(MP1, MP2, MP3),
- const P1& parameter1,
- const P2& parameter2,
- const P3& parameter3)
-{
- return FileThreadTask3<T, typename CrossThreadCopier<P1>::Type, MP1, typename CrossThreadCopier<P2>::Type, MP2, typename CrossThreadCopier<P3>::Type, MP3>::create(
- callee,
- method,
- CrossThreadCopier<P1>::copy(parameter1),
- CrossThreadCopier<P2>::copy(parameter2),
- CrossThreadCopier<P3>::copy(parameter3));
-}
-
-} // namespace WebCore
-
-#endif // FileThreadTask_h
diff --git a/WebCore/fileapi/FileWriter.cpp b/WebCore/fileapi/FileWriter.cpp
deleted file mode 100644
index 45ba42b..0000000
--- a/WebCore/fileapi/FileWriter.cpp
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "FileWriter.h"
-
-#include "AsyncFileWriter.h"
-#include "Blob.h"
-#include "ExceptionCode.h"
-#include "FileError.h"
-#include "FileException.h"
-#include "ProgressEvent.h"
-
-namespace WebCore {
-
-FileWriter::FileWriter(ScriptExecutionContext* context)
- : ActiveDOMObject(context, this)
- , m_readyState(INIT)
- , m_startedWriting(false)
- , m_bytesWritten(0)
- , m_bytesToWrite(0)
- , m_truncateLength(-1)
-{
-}
-
-FileWriter::~FileWriter()
-{
- if (m_readyState == WRITING)
- stop();
-}
-
-bool FileWriter::hasPendingActivity() const
-{
- return m_readyState == WRITING || ActiveDOMObject::hasPendingActivity();
-}
-
-bool FileWriter::canSuspend() const
-{
- // FIXME: It is not currently possible to suspend a FileWriter, so pages with FileWriter can not go into page cache.
- return false;
-}
-
-void FileWriter::stop()
-{
- if (writer() && m_readyState == WRITING)
- writer()->abort();
- m_blobBeingWritten.clear();
- m_readyState = DONE;
-}
-
-void FileWriter::write(Blob* data, ExceptionCode& ec)
-{
- ASSERT(writer());
- if (m_readyState == WRITING) {
- setError(FileError::INVALID_STATE_ERR, ec);
- return;
- }
- if (!data) {
- setError(FileError::TYPE_MISMATCH_ERR, ec);
- return;
- }
-
- m_blobBeingWritten = data;
- m_readyState = WRITING;
- m_startedWriting = false;
- m_bytesWritten = 0;
- m_bytesToWrite = data->size();
- writer()->write(position(), data);
-}
-
-void FileWriter::seek(long long position, ExceptionCode& ec)
-{
- ASSERT(writer());
- if (m_readyState == WRITING) {
- setError(FileError::INVALID_STATE_ERR, ec);
- return;
- }
-
- m_bytesWritten = 0;
- m_bytesToWrite = 0;
- seekInternal(position);
-}
-
-void FileWriter::truncate(long long position, ExceptionCode& ec)
-{
- ASSERT(writer());
- if (m_readyState == WRITING || position < 0) {
- setError(FileError::INVALID_STATE_ERR, ec);
- return;
- }
- m_readyState = WRITING;
- m_bytesWritten = 0;
- m_bytesToWrite = 0;
- m_truncateLength = position;
- writer()->truncate(position);
-}
-
-void FileWriter::abort(ExceptionCode& ec)
-{
- ASSERT(writer());
- if (m_readyState != WRITING) {
- setError(FileError::INVALID_STATE_ERR, ec);
- return;
- }
-
- m_error = FileError::create(FileError::ABORT_ERR);
- writer()->abort();
-}
-
-void FileWriter::didWrite(long long bytes, bool complete)
-{
- ASSERT(bytes + m_bytesWritten > 0);
- ASSERT(bytes + m_bytesWritten <= m_bytesToWrite);
- if (!m_startedWriting) {
- fireEvent(eventNames().writestartEvent);
- m_startedWriting = true;
- }
- m_bytesWritten += bytes;
- ASSERT((m_bytesWritten == m_bytesToWrite) || !complete);
- setPosition(position() + bytes);
- if (position() > length())
- setLength(position());
- fireEvent(eventNames().progressEvent);
- if (complete) {
- m_blobBeingWritten.clear();
- fireEvent(eventNames().writeEvent);
- m_readyState = DONE;
- fireEvent(eventNames().writeendEvent);
- }
-}
-
-void FileWriter::didTruncate()
-{
- ASSERT(m_truncateLength >= 0);
- fireEvent(eventNames().writestartEvent);
- setLength(m_truncateLength);
- if (position() > length())
- setPosition(length());
- m_truncateLength = -1;
- fireEvent(eventNames().writeEvent);
- m_readyState = DONE;
- fireEvent(eventNames().writeendEvent);
-}
-
-void FileWriter::didFail(FileError::ErrorCode code)
-{
- m_error = FileError::create(code);
- fireEvent(eventNames().errorEvent);
- if (FileError::ABORT_ERR == code)
- fireEvent(eventNames().abortEvent);
- fireEvent(eventNames().errorEvent);
- m_blobBeingWritten.clear();
- m_readyState = DONE;
- fireEvent(eventNames().writeendEvent);
-}
-
-void FileWriter::fireEvent(const AtomicString& type)
-{
- dispatchEvent(ProgressEvent::create(type, true, m_bytesWritten, m_bytesToWrite));
-}
-
-void FileWriter::setError(FileError::ErrorCode errorCode, ExceptionCode& ec)
-{
- ec = FileException::ErrorCodeToExceptionCode(errorCode);
- m_error = FileError::create(errorCode);
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/FileWriter.h b/WebCore/fileapi/FileWriter.h
deleted file mode 100644
index 89289a9..0000000
--- a/WebCore/fileapi/FileWriter.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileWriter_h
-#define FileWriter_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "ActiveDOMObject.h"
-#include "EventTarget.h"
-#include "FileWriterBase.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefPtr.h>
-
-namespace WebCore {
-
-class ScriptExecutionContext;
-
-class FileWriter : public FileWriterBase, public ActiveDOMObject, public EventTarget, public AsyncFileWriterClient {
-public:
- static PassRefPtr<FileWriter> create(ScriptExecutionContext* context)
- {
- return adoptRef(new FileWriter(context));
- }
-
- enum ReadyState {
- INIT = 0,
- WRITING = 1,
- DONE = 2
- };
-
- void write(Blob*, ExceptionCode&);
- void seek(long long position, ExceptionCode&);
- void truncate(long long length, ExceptionCode&);
- void abort(ExceptionCode&);
- ReadyState readyState() const { return m_readyState; }
- FileError* error() const { return m_error.get(); }
-
- // AsyncFileWriterClient
- void didWrite(long long bytes, bool complete);
- void didTruncate();
- void didFail(FileError::ErrorCode);
-
- // ActiveDOMObject
- virtual bool canSuspend() const;
- virtual bool hasPendingActivity() const;
- virtual void stop();
-
- // EventTarget
- virtual FileWriter* toFileWriter() { return this; }
- virtual ScriptExecutionContext* scriptExecutionContext() const { return ActiveDOMObject::scriptExecutionContext(); }
-
- using RefCounted<FileWriterBase>::ref;
- using RefCounted<FileWriterBase>::deref;
-
- DEFINE_ATTRIBUTE_EVENT_LISTENER(writestart);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(progress);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(write);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(abort);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(error);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(writeend);
-
-private:
- FileWriter(ScriptExecutionContext*);
-
- virtual ~FileWriter();
-
- // EventTarget
- virtual void refEventTarget() { ref(); }
- virtual void derefEventTarget() { deref(); }
- virtual EventTargetData* eventTargetData() { return &m_eventTargetData; }
- virtual EventTargetData* ensureEventTargetData() { return &m_eventTargetData; }
-
- void fireEvent(const AtomicString& type);
-
- void setError(FileError::ErrorCode, ExceptionCode&);
-
- RefPtr<FileError> m_error;
- EventTargetData m_eventTargetData;
- ReadyState m_readyState;
- bool m_startedWriting;
- long long m_bytesWritten;
- long long m_bytesToWrite;
- long long m_truncateLength;
- RefPtr<Blob> m_blobBeingWritten;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // FileWriter_h
diff --git a/WebCore/fileapi/FileWriter.idl b/WebCore/fileapi/FileWriter.idl
deleted file mode 100644
index 4d46e9e..0000000
--- a/WebCore/fileapi/FileWriter.idl
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module html {
- interface [
- Conditional=FILE_SYSTEM,
- CallWith=ScriptExecutionContext,
- EventTarget,
- NoStaticTables
- ] FileWriter {
- // ready states
- const unsigned short INIT = 0;
- const unsigned short WRITING = 1;
- const unsigned short DONE = 2;
- readonly attribute unsigned short readyState;
-
- // async write/modify methods
- void write(in Blob data) raises (FileException);
- void seek(in long long position) raises (FileException);
- void truncate(in long long size) raises (FileException);
-
- void abort() raises (FileException);
-
- readonly attribute FileError error;
- readonly attribute long long position;
- readonly attribute long long length;
-
- attribute EventListener onwritestart;
- attribute EventListener onprogress;
- attribute EventListener onwrite;
- attribute EventListener onabort;
- attribute EventListener onerror;
- attribute EventListener onwriteend;
- };
-}
diff --git a/WebCore/fileapi/FileWriterBase.cpp b/WebCore/fileapi/FileWriterBase.cpp
deleted file mode 100644
index dc55bb8..0000000
--- a/WebCore/fileapi/FileWriterBase.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "FileWriterBase.h"
-
-#include "AsyncFileWriter.h"
-#include "Blob.h"
-#include "ExceptionCode.h"
-#include "FileError.h"
-#include "FileException.h"
-#include "ProgressEvent.h"
-
-namespace WebCore {
-
-FileWriterBase::~FileWriterBase()
-{
-}
-
-void FileWriterBase::initialize(PassOwnPtr<AsyncFileWriter> writer, long long length)
-{
- ASSERT(!m_writer);
- ASSERT(length >= 0);
- m_writer = writer;
- m_length = length;
-}
-
-FileWriterBase::FileWriterBase()
- : m_position(0)
-{
-}
-
-void FileWriterBase::seekInternal(long long position)
-{
- if (position > m_length)
- position = m_length;
- else if (position < 0)
- position = m_length + position;
- if (position < 0)
- position = 0;
- m_position = position;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/FileWriterBase.h b/WebCore/fileapi/FileWriterBase.h
deleted file mode 100644
index 2eecfff..0000000
--- a/WebCore/fileapi/FileWriterBase.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileWriterBase_h
-#define FileWriterBase_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "AsyncFileWriterClient.h"
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class AsyncFileWriter;
-class Blob;
-
-typedef int ExceptionCode;
-
-class FileWriterBase : public RefCounted<FileWriterBase> {
-public:
- virtual ~FileWriterBase();
- void initialize(PassOwnPtr<AsyncFileWriter>, long long length);
-
- long long position() const
- {
- return m_position;
- }
- long long length() const
- {
- return m_length;
- }
-
-protected:
- FileWriterBase();
-
- AsyncFileWriter* writer()
- {
- return m_writer.get();
- }
-
- void setPosition(long long position)
- {
- m_position = position;
- }
-
- void setLength(long long length)
- {
- m_length = length;
- }
-
- void seekInternal(long long position);
-
-private:
- friend class WTF::RefCounted<FileWriterBase>;
-
- OwnPtr<AsyncFileWriter> m_writer;
- long long m_position;
- long long m_length;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // FileWriterBase_h
diff --git a/WebCore/fileapi/FileWriterBaseCallback.h b/WebCore/fileapi/FileWriterBaseCallback.h
deleted file mode 100644
index 51e8ab7..0000000
--- a/WebCore/fileapi/FileWriterBaseCallback.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileWriterBaseCallback_h
-#define FileWriterBaseCallback_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class FileWriterBase;
-
-class FileWriterBaseCallback : public RefCounted<FileWriterBaseCallback> {
-public:
- virtual ~FileWriterBaseCallback() { }
- virtual bool handleEvent(FileWriterBase*) = 0;
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // FileWriterBaseCallback_h
diff --git a/WebCore/fileapi/FileWriterCallback.h b/WebCore/fileapi/FileWriterCallback.h
deleted file mode 100644
index 3f9e746..0000000
--- a/WebCore/fileapi/FileWriterCallback.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileWriterCallback_h
-#define FileWriterCallback_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class FileWriter;
-
-class FileWriterCallback : public RefCounted<FileWriterCallback> {
-public:
- virtual ~FileWriterCallback() { }
- virtual bool handleEvent(FileWriter*) = 0;
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // FileWriterCallback_h
diff --git a/WebCore/fileapi/FileWriterCallback.idl b/WebCore/fileapi/FileWriterCallback.idl
deleted file mode 100644
index df82fed..0000000
--- a/WebCore/fileapi/FileWriterCallback.idl
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module fileapi {
- interface [
- Conditional=FILE_SYSTEM,
- Callback
- ] FileWriterCallback {
- boolean handleEvent(in FileWriter fileWriter);
- };
-}
diff --git a/WebCore/fileapi/FileWriterSync.cpp b/WebCore/fileapi/FileWriterSync.cpp
deleted file mode 100644
index 28a68f8..0000000
--- a/WebCore/fileapi/FileWriterSync.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "FileWriterSync.h"
-
-#include "AsyncFileWriter.h"
-#include "Blob.h"
-#include "FileException.h"
-
-namespace WebCore {
-
-void FileWriterSync::write(Blob* data, ExceptionCode& ec)
-{
- ASSERT(writer());
- ASSERT(m_complete);
- ec = 0;
- if (!data) {
- ec = FileException::TYPE_MISMATCH_ERR;
- return;
- }
-
- prepareForWrite();
- writer()->write(position(), data);
- writer()->waitForOperationToComplete();
- ASSERT(m_complete);
- ec = FileException::ErrorCodeToExceptionCode(m_error);
- if (ec)
- return;
- setPosition(position() + data->size());
- if (position() > length())
- setLength(position());
-}
-
-void FileWriterSync::seek(long long position, ExceptionCode& ec)
-{
- ASSERT(writer());
- ASSERT(m_complete);
- ec = 0;
- seekInternal(position);
-}
-
-void FileWriterSync::truncate(long long offset, ExceptionCode& ec)
-{
- ASSERT(writer());
- ASSERT(m_complete);
- ec = 0;
- if (offset < 0) {
- ec = FileException::INVALID_STATE_ERR;
- return;
- }
- prepareForWrite();
- writer()->truncate(offset);
- writer()->waitForOperationToComplete();
- ASSERT(m_complete);
- ec = FileException::ErrorCodeToExceptionCode(m_error);
- if (ec)
- return;
- if (offset < position())
- setPosition(offset);
- setLength(offset);
-}
-
-void FileWriterSync::didWrite(long long bytes, bool complete)
-{
- ASSERT(m_error == FileError::OK);
- ASSERT(!m_complete);
-#ifndef NDEBUG
- m_complete = complete;
-#else
- ASSERT_UNUSED(complete, complete);
-#endif
-}
-
-void FileWriterSync::didTruncate()
-{
- ASSERT(m_error == FileError::OK);
- ASSERT(!m_complete);
-#ifndef NDEBUG
- m_complete = true;
-#endif
-}
-
-void FileWriterSync::didFail(FileError::ErrorCode error)
-{
- ASSERT(m_error == FileError::OK);
- m_error = error;
- ASSERT(!m_complete);
-#ifndef NDEBUG
- m_complete = true;
-#endif
-}
-
-FileWriterSync::FileWriterSync()
- : m_error(FileError::OK)
-#ifndef NDEBUG
- , m_complete(true)
-#endif
-{
-}
-
-void FileWriterSync::prepareForWrite()
-{
- ASSERT(m_complete);
- m_error = FileError::OK;
-#ifndef NDEBUG
- m_complete = false;
-#endif
-}
-
-FileWriterSync::~FileWriterSync()
-{
-}
-
-
-} // namespace WebCore
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/FileWriterSync.h b/WebCore/fileapi/FileWriterSync.h
deleted file mode 100644
index 3917f2e..0000000
--- a/WebCore/fileapi/FileWriterSync.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef FileWriterSync_h
-#define FileWriterSync_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "ActiveDOMObject.h"
-#include "FileError.h"
-#include "FileWriterBase.h"
-#include <wtf/PassRefPtr.h>
-
-namespace WebCore {
-
-class Blob;
-
-typedef int ExceptionCode;
-
-class FileWriterSync : public FileWriterBase, public AsyncFileWriterClient {
-public:
- static PassRefPtr<FileWriterSync> create()
- {
- return adoptRef(new FileWriterSync());
- }
- virtual ~FileWriterSync();
-
- // FileWriterBase
- void write(Blob*, ExceptionCode&);
- void seek(long long position, ExceptionCode&);
- void truncate(long long length, ExceptionCode&);
-
- // AsyncFileWriterClient, via FileWriterBase
- void didWrite(long long bytes, bool complete);
- void didTruncate();
- void didFail(FileError::ErrorCode);
-
-private:
- FileWriterSync();
- void prepareForWrite();
-
- FileError::ErrorCode m_error;
-#ifndef NDEBUG
- bool m_complete;
-#endif
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // FileWriter_h
diff --git a/WebCore/fileapi/FileWriterSync.idl b/WebCore/fileapi/FileWriterSync.idl
deleted file mode 100644
index c561bb4..0000000
--- a/WebCore/fileapi/FileWriterSync.idl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module html {
- interface [
- Conditional=FILE_SYSTEM,
- ] FileWriterSync {
- // synchronous write/modify methods
- void write(in Blob data) raises (FileException);
- void seek(in long long position) raises (FileException);
- void truncate(in long long size) raises (FileException);
-
- readonly attribute long long position;
- readonly attribute long long length;
- };
-}
diff --git a/WebCore/fileapi/Flags.h b/WebCore/fileapi/Flags.h
deleted file mode 100644
index 30884fc..0000000
--- a/WebCore/fileapi/Flags.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef Flags_h
-#define Flags_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class Flags : public RefCounted<Flags> {
-public:
- static PassRefPtr<Flags> create(bool create = false, bool exclusive = false)
- {
- return adoptRef(new Flags(create, exclusive));
- }
-
- bool isCreate() const { return m_create; }
- void setCreate(bool create) { m_create = create; }
- bool isExclusive() const { return m_exclusive; }
- void setExclusive(bool exclusive) { m_exclusive = exclusive; }
-
-private:
- Flags(bool create, bool exclusive)
- : m_create(create)
- , m_exclusive(exclusive)
- {
- }
- bool m_create;
- bool m_exclusive;
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // Flags_h
diff --git a/WebCore/fileapi/Flags.idl b/WebCore/fileapi/Flags.idl
deleted file mode 100644
index 88cede3..0000000
--- a/WebCore/fileapi/Flags.idl
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- CanBeConstructed,
- NoStaticTables
- ] Flags {
- attribute boolean create;
- attribute boolean exclusive;
- };
-}
diff --git a/WebCore/fileapi/LocalFileSystem.cpp b/WebCore/fileapi/LocalFileSystem.cpp
deleted file mode 100644
index 721fdf5..0000000
--- a/WebCore/fileapi/LocalFileSystem.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "LocalFileSystem.h"
-
-#if PLATFORM(CHROMIUM)
-#error "Chromium should not compile this file and instead define its own version of these factories."
-#endif
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "CrossThreadTask.h"
-#include "DOMFileSystem.h"
-#include "ErrorCallback.h"
-#include "ExceptionCode.h"
-#include "FileError.h"
-#include "FileSystemCallback.h"
-#include "FileSystemCallbacks.h"
-#include "ScriptExecutionContext.h"
-#include "SecurityOrigin.h"
-#include <wtf/PassRefPtr.h>
-
-namespace WebCore {
-
-LocalFileSystem* LocalFileSystem::s_instance = 0;
-
-void LocalFileSystem::initializeLocalFileSystem(const String& basePath)
-{
- // FIXME: Should initialize the quota settings as well.
- ASSERT(isMainThread());
- ASSERT(!s_instance);
- if (s_instance)
- return;
-
- OwnPtr<LocalFileSystem> localFileSystem = adoptPtr(new LocalFileSystem(basePath));
- s_instance = localFileSystem.leakPtr();
-}
-
-LocalFileSystem& LocalFileSystem::localFileSystem()
-{
- // initializeLocalFileSystem must be called prior calling this.
- ASSERT(s_instance);
- return *s_instance;
-}
-
-String LocalFileSystem::fileSystemBasePath() const
-{
- return m_basePath;
-}
-
-static void openFileSystem(ScriptExecutionContext*, const String& basePath, const String& identifier, AsyncFileSystem::Type type, bool create, PassOwnPtr<AsyncFileSystemCallbacks> callbacks)
-{
- AsyncFileSystem::openFileSystem(basePath, identifier, type, create, callbacks);
-}
-
-void LocalFileSystem::readFileSystem(ScriptExecutionContext* context, AsyncFileSystem::Type type, long long, PassOwnPtr<AsyncFileSystemCallbacks> callbacks)
-{
- // AsyncFileSystem::openFileSystem calls callbacks synchronously, so the method needs to be called asynchronously.
- context->postTask(createCallbackTask(&openFileSystem, fileSystemBasePath(), context->securityOrigin()->databaseIdentifier(), type, false, callbacks));
-}
-
-void LocalFileSystem::requestFileSystem(ScriptExecutionContext* context, AsyncFileSystem::Type type, long long, PassOwnPtr<AsyncFileSystemCallbacks> callbacks, bool)
-{
- // AsyncFileSystem::openFileSystem calls callbacks synchronously, so the method needs to be called asynchronously.
- context->postTask(createCallbackTask(&openFileSystem, fileSystemBasePath(), context->securityOrigin()->databaseIdentifier(), type, true, callbacks));
-}
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
diff --git a/WebCore/fileapi/LocalFileSystem.h b/WebCore/fileapi/LocalFileSystem.h
deleted file mode 100644
index b779a5f..0000000
--- a/WebCore/fileapi/LocalFileSystem.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef LocalFileSystem_h
-#define LocalFileSystem_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "AsyncFileSystem.h"
-#include "PlatformString.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class ErrorCallback;
-class FileSystemCallback;
-class ScriptExecutionContext;
-
-// Keeps per-process information and provides an entry point to open a file system.
-class LocalFileSystem : public Noncopyable {
-public:
- // Returns a per-process instance of LocalFileSystem.
- // Note that LocalFileSystem::initializeLocalFileSystem must be called before
- // calling this one.
- static LocalFileSystem& localFileSystem();
-
- // Does not create the root path for file system, just reads it if available.
- void readFileSystem(ScriptExecutionContext*, AsyncFileSystem::Type, long long size, PassOwnPtr<AsyncFileSystemCallbacks>);
-
- void requestFileSystem(ScriptExecutionContext*, AsyncFileSystem::Type, long long size, PassOwnPtr<AsyncFileSystemCallbacks>, bool synchronous = false);
-
-#if !PLATFORM(CHROMIUM)
- // This call is not thread-safe; must be called before any worker threads are created.
- void initializeLocalFileSystem(const String&);
-
- String fileSystemBasePath() const;
-#endif
-
-private:
- LocalFileSystem(const String& basePath)
- : m_basePath(basePath)
- {
- }
-
- static LocalFileSystem* s_instance;
-
- // An inner class that enforces thread-safe string access.
- class SystemBasePath {
- public:
- explicit SystemBasePath(const String& path) : m_value(path) { }
- operator String() const
- {
- return m_value.threadsafeCopy();
- }
- private:
- String m_value;
- };
-
- SystemBasePath m_basePath;
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // LocalFileSystem_h
diff --git a/WebCore/fileapi/Metadata.h b/WebCore/fileapi/Metadata.h
deleted file mode 100644
index b70806b..0000000
--- a/WebCore/fileapi/Metadata.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef Metadata_h
-#define Metadata_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class Metadata : public RefCounted<Metadata> {
-public:
- static PassRefPtr<Metadata> create(double modificationTime)
- {
- return adoptRef(new Metadata(modificationTime));
- }
-
- static PassRefPtr<Metadata> create(Metadata* metadata)
- {
- return adoptRef(new Metadata(metadata->m_modificationTime));
- }
-
- // Needs to return epoch time in milliseconds for Date.
- double modificationTime() const { return m_modificationTime * 1000.0; }
-
-private:
- Metadata(double modificationTime)
- : m_modificationTime(modificationTime)
- {
- }
-
- double m_modificationTime;
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // Metadata_h
diff --git a/WebCore/fileapi/Metadata.idl b/WebCore/fileapi/Metadata.idl
deleted file mode 100644
index df50b66..0000000
--- a/WebCore/fileapi/Metadata.idl
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- NoStaticTables
- ] Metadata {
- readonly attribute Date modificationTime;
- };
-}
diff --git a/WebCore/fileapi/MetadataCallback.h b/WebCore/fileapi/MetadataCallback.h
deleted file mode 100644
index 725a0c1..0000000
--- a/WebCore/fileapi/MetadataCallback.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef MetadataCallback_h
-#define MetadataCallback_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class Metadata;
-
-class MetadataCallback : public RefCounted<MetadataCallback> {
-public:
- virtual ~MetadataCallback() { }
- virtual bool handleEvent(Metadata*) = 0;
-};
-
-} // namespace
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // MetadataCallback_h
diff --git a/WebCore/fileapi/MetadataCallback.idl b/WebCore/fileapi/MetadataCallback.idl
deleted file mode 100644
index 44ca180..0000000
--- a/WebCore/fileapi/MetadataCallback.idl
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
- interface [
- Conditional=FILE_SYSTEM,
- Callback
- ] MetadataCallback {
- boolean handleEvent(in Metadata metadata);
- };
-}
diff --git a/WebCore/fileapi/SyncCallbackHelper.h b/WebCore/fileapi/SyncCallbackHelper.h
deleted file mode 100644
index 25e6739..0000000
--- a/WebCore/fileapi/SyncCallbackHelper.h
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef SyncCallbackHelper_h
-#define SyncCallbackHelper_h
-
-#if ENABLE(FILE_SYSTEM)
-
-#include "DirectoryEntry.h"
-#include "EntriesCallback.h"
-#include "EntryArraySync.h"
-#include "EntryCallback.h"
-#include "ErrorCallback.h"
-#include "ExceptionCode.h"
-#include "FileEntry.h"
-#include "FileError.h"
-#include "FileException.h"
-#include "FileSystemCallback.h"
-#include "MetadataCallback.h"
-#include "VoidCallback.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class AsyncFileSystem;
-class DirectoryEntrySync;
-class EntryArraySync;
-class EntrySync;
-class FileEntrySync;
-
-// A helper template for FileSystemSync implementation.
-template <typename SuccessCallback, typename ObserverType, typename CallbackArg, typename ResultType>
-class SyncCallbackHelper : public Noncopyable {
-public:
- typedef SyncCallbackHelper<SuccessCallback, ObserverType, CallbackArg, ResultType> HelperType;
- SyncCallbackHelper(ObserverType* observer = 0)
- : m_observer(observer)
- , m_successCallback(SuccessCallbackImpl::create(this))
- , m_errorCallback(ErrorCallbackImpl::create(this))
- , m_exceptionCode(0)
- , m_completed(false)
- {
- }
-
- PassRefPtr<ResultType> getResult(ExceptionCode& ec)
- {
- if (m_observer) {
- while (!m_completed) {
- if (!m_observer->waitForOperationToComplete()) {
- m_exceptionCode = FileException::ABORT_ERR;
- break;
- }
- }
- }
- ec = m_exceptionCode;
- return m_result.release();
- }
-
- PassRefPtr<SuccessCallback> successCallback() { return m_successCallback; }
- PassRefPtr<ErrorCallback> errorCallback() { return m_errorCallback; }
-
-private:
- class SuccessCallbackImpl : public SuccessCallback {
- public:
- static PassRefPtr<SuccessCallbackImpl> create(HelperType* helper)
- {
- return adoptRef(new SuccessCallbackImpl(helper));
- }
-
- virtual void handleEvent()
- {
- m_helper->setError(0);
- }
-
- virtual bool handleEvent(CallbackArg* arg)
- {
- m_helper->setResult(ResultType::create(arg));
- return true;
- }
-
- private:
- SuccessCallbackImpl(HelperType* helper)
- : m_helper(helper)
- {
- }
- HelperType* m_helper;
- };
-
- class ErrorCallbackImpl : public ErrorCallback {
- public:
- static PassRefPtr<ErrorCallbackImpl> create(HelperType* helper)
- {
- return adoptRef(new ErrorCallbackImpl(helper));
- }
-
- virtual bool handleEvent(FileError* error)
- {
- ASSERT(error);
- m_helper->setError(error->code());
- return true;
- }
-
- private:
- ErrorCallbackImpl(HelperType* helper)
- : m_helper(helper)
- {
- }
- HelperType* m_helper;
- };
-
- friend class SuccessCallbackImpl;
- friend class ErrorCallbackImpl;
-
- void setError(int code)
- {
- m_exceptionCode = FileException::ErrorCodeToExceptionCode(code);
- m_completed = true;
- }
-
- void setResult(PassRefPtr<ResultType> result)
- {
- m_result = result;
- m_completed = true;
- }
-
- ObserverType* m_observer;
- RefPtr<SuccessCallbackImpl> m_successCallback;
- RefPtr<ErrorCallbackImpl> m_errorCallback;
- RefPtr<ResultType> m_result;
- ExceptionCode m_exceptionCode;
- bool m_completed;
-};
-
-struct EmptyType : public RefCounted<EmptyType> {
- static PassRefPtr<EmptyType> create(EmptyType*)
- {
- return 0;
- }
-};
-
-struct EmptyObserverType {
- bool waitForOperationToComplete()
- {
- return false;
- }
-};
-
-typedef SyncCallbackHelper<EntryCallback, AsyncFileSystem, Entry, EntrySync> EntrySyncCallbackHelper;
-typedef SyncCallbackHelper<EntriesCallback, AsyncFileSystem, EntryArray, EntryArraySync> EntriesSyncCallbackHelper;
-typedef SyncCallbackHelper<MetadataCallback, AsyncFileSystem, Metadata, Metadata> MetadataSyncCallbackHelper;
-typedef SyncCallbackHelper<VoidCallback, AsyncFileSystem, EmptyType, EmptyType> VoidSyncCallbackHelper;
-typedef SyncCallbackHelper<FileSystemCallback, EmptyObserverType, DOMFileSystem, DOMFileSystemSync> FileSystemSyncCallbackHelper;
-
-} // namespace WebCore
-
-#endif // ENABLE(FILE_SYSTEM)
-
-#endif // SyncCallbackHelper_h
diff --git a/WebCore/fileapi/ThreadableBlobRegistry.cpp b/WebCore/fileapi/ThreadableBlobRegistry.cpp
deleted file mode 100644
index 2ec421b..0000000
--- a/WebCore/fileapi/ThreadableBlobRegistry.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#include "ThreadableBlobRegistry.h"
-
-#include "BlobData.h"
-#include "BlobRegistry.h"
-#include <wtf/MainThread.h>
-
-namespace WebCore {
-
-struct BlobRegistryContext {
- BlobRegistryContext(const KURL& url, PassOwnPtr<BlobData> blobData)
- : url(url.copy())
- , blobData(blobData)
- {
- this->blobData->detachFromCurrentThread();
- }
-
- BlobRegistryContext(const KURL& url, const KURL& srcURL)
- : url(url.copy())
- , srcURL(srcURL.copy())
- {
- }
-
- BlobRegistryContext(const KURL& url)
- : url(url.copy())
- {
- }
-
- KURL url;
- KURL srcURL;
- OwnPtr<BlobData> blobData;
-};
-
-#if ENABLE(BLOB)
-
-static void registerBlobURLTask(void* context)
-{
- OwnPtr<BlobRegistryContext> blobRegistryContext = adoptPtr(static_cast<BlobRegistryContext*>(context));
- blobRegistry().registerBlobURL(blobRegistryContext->url, blobRegistryContext->blobData.release());
-}
-
-void ThreadableBlobRegistry::registerBlobURL(const KURL& url, PassOwnPtr<BlobData> blobData)
-{
- if (isMainThread())
- blobRegistry().registerBlobURL(url, blobData);
- else {
- OwnPtr<BlobRegistryContext> context = adoptPtr(new BlobRegistryContext(url, blobData));
- callOnMainThread(&registerBlobURLTask, context.leakPtr());
- }
-}
-
-static void registerBlobURLFromTask(void* context)
-{
- OwnPtr<BlobRegistryContext> blobRegistryContext = adoptPtr(static_cast<BlobRegistryContext*>(context));
- blobRegistry().registerBlobURL(blobRegistryContext->url, blobRegistryContext->srcURL);
-}
-
-void ThreadableBlobRegistry::registerBlobURL(const KURL& url, const KURL& srcURL)
-{
- if (isMainThread())
- blobRegistry().registerBlobURL(url, srcURL);
- else {
- OwnPtr<BlobRegistryContext> context = adoptPtr(new BlobRegistryContext(url, srcURL));
- callOnMainThread(&registerBlobURLFromTask, context.leakPtr());
- }
-}
-
-static void unregisterBlobURLTask(void* context)
-{
- OwnPtr<BlobRegistryContext> blobRegistryContext = adoptPtr(static_cast<BlobRegistryContext*>(context));
- blobRegistry().unregisterBlobURL(blobRegistryContext->url);
-}
-
-void ThreadableBlobRegistry::unregisterBlobURL(const KURL& url)
-{
- if (isMainThread())
- blobRegistry().unregisterBlobURL(url);
- else {
- OwnPtr<BlobRegistryContext> context = adoptPtr(new BlobRegistryContext(url));
- callOnMainThread(&unregisterBlobURLTask, context.leakPtr());
- }
-}
-
-#else
-
-void ThreadableBlobRegistry::registerBlobURL(const KURL&, PassOwnPtr<BlobData>)
-{
-}
-
-void ThreadableBlobRegistry::registerBlobURL(const KURL&, const KURL&)
-{
-}
-
-void ThreadableBlobRegistry::unregisterBlobURL(const KURL&)
-{
-}
-#endif // ENABL(BLOB)
-
-} // namespace WebCore
diff --git a/WebCore/fileapi/ThreadableBlobRegistry.h b/WebCore/fileapi/ThreadableBlobRegistry.h
deleted file mode 100644
index fe7df7f..0000000
--- a/WebCore/fileapi/ThreadableBlobRegistry.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef ThreadableBlobRegistry_h
-#define ThreadableBlobRegistry_h
-
-#include <wtf/PassOwnPtr.h>
-
-namespace WebCore {
-
-class BlobData;
-class KURL;
-
-class ThreadableBlobRegistry {
-public:
- static void registerBlobURL(const KURL&, PassOwnPtr<BlobData>);
- static void registerBlobURL(const KURL&, const KURL& srcURL);
- static void unregisterBlobURL(const KURL&);
-};
-
-} // namespace WebCore
-
-#endif // ThreadableBlobRegistry_h