[Chromium] Create WebFileSystemType enum to allow easier filesystem refactoring
https://bugs.webkit.org/show_bug.cgi?id=112571
Reviewed by Adam Barth.
Source/Platform:
New top-level enum (not tied to WebFileSystem class) will allow
easier refactoring of filesystem methods within the Platform/
directory. (All changes are behind an #ifdef so we can sync
required changes in embedders.)
* chromium/public/WebFileSystemType.h: new file
(WebKit):
* Platform.gypi:
* chromium/public/WebFileSystem.h:
* chromium/public/WebFileSystemType.h: Copied from Source/WebKit/chromium/public/WebCommonWorkerClient.h.
(WebKit):
Source/WebKit/chromium:
Update function declarations for new WebFileSystemType enum. (All
changes are behind an #ifdef so we can sync required changes in embedders.)
* public/WebCommonWorkerClient.h:
(WebCommonWorkerClient):
(WebKit::WebCommonWorkerClient::openFileSystem):
* public/WebFrame.h:
(WebFrame):
* public/WebFrameClient.h:
(WebFrameClient):
(WebKit::WebFrameClient::openFileSystem):
(WebKit::WebFrameClient::deleteFileSystem):
* src/LocalFileSystemChromium.cpp:
(WebCore):
(WebCore::openFileSystemHelper):
(WebCore::LocalFileSystem::deleteFileSystem):
* src/WebFrameImpl.cpp:
(WebKit):
(WebKit::WebFrameImpl::createFileSystem):
(WebKit::WebFrameImpl::createSerializableFileSystem):
(WebKit::WebFrameImpl::createFileEntry):
* src/WebFrameImpl.h:
(WebFrameImpl):
* src/WebWorkerClientImpl.cpp:
(WebKit):
(WebKit::WebWorkerClientImpl::openFileSystem):
* src/WebWorkerClientImpl.h:
* src/WorkerFileSystemCallbacksBridge.cpp:
(WebKit):
(WebKit::WorkerFileSystemCallbacksBridge::postOpenFileSystemToMainThread):
(WebKit::WorkerFileSystemCallbacksBridge::openFileSystemOnMainThread):
* src/WorkerFileSystemCallbacksBridge.h:
(WorkerFileSystemCallbacksBridge):
Tools:
Update function declarations for new WebFileSystemType enum. (All
changes are behind an #ifdef so we can sync required changes in embedders.)
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::openFileSystem):
(WebViewHost::deleteFileSystem):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk/Source/Platform/chromium/public@146111 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebFileSystem.h b/WebFileSystem.h
index ec1ed1d..e59b238 100644
--- a/WebFileSystem.h
+++ b/WebFileSystem.h
@@ -32,6 +32,7 @@
#define WebFileSystem_h
#include "WebCommon.h"
+#include "WebFileSystemType.h"
#include "WebURL.h"
namespace WebKit {
diff --git a/WebFileSystemType.h b/WebFileSystemType.h
new file mode 100644
index 0000000..089c39f
--- /dev/null
+++ b/WebFileSystemType.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2013 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 WebFileSystemType_h
+#define WebFileSystemType_h
+
+// TODO(pilgrim) Uncomment this once all embedders have been updated to use this new enum
+// #define WEBKIT_USE_NEW_WEBFILESYSTEMTYPE
+
+namespace WebKit {
+
+#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE
+enum WebFileSystemType {
+ WebFileSystemTypeTemporary,
+ WebFileSystemTypePersistent,
+
+ // Indicates an isolated filesystem which only exposes a set of files.
+ WebFileSystemTypeIsolated,
+
+ // Indicates a non-sandboxed filesystem.
+ WebFileSystemTypeExternal,
+};
+#endif // WEBKIT_USE_NEW_WEBFILESYSTEMTYPE
+
+} // namespace WebKit
+
+#endif