diff --git a/chrome/renderer/extensions/file_browser_handler_custom_bindings.cc b/chrome/renderer/extensions/file_browser_handler_custom_bindings.cc index 9462f250493c0..f73a8e732d342 100644 --- a/chrome/renderer/extensions/file_browser_handler_custom_bindings.cc +++ b/chrome/renderer/extensions/file_browser_handler_custom_bindings.cc @@ -10,6 +10,7 @@ #include "base/logging.h" #include "grit/renderer_resources.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystem.h" +#include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystemType.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebString.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" @@ -46,7 +47,11 @@ v8::Handle<v8::Value> FileBrowserHandlerCustomBindings::GetExternalFileEntry( WebKit::WebFrame* webframe = WebKit::WebFrame::frameForContext(v8_context()); return webframe->createFileEntry( +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemTypeExternal, +#else WebKit::WebFileSystem::TypeExternal, +#endif WebKit::WebString::fromUTF8(file_system_name.c_str()), WebKit::WebString::fromUTF8(file_system_path.c_str()), WebKit::WebString::fromUTF8(file_full_path.c_str()), diff --git a/chrome/renderer/extensions/file_browser_private_custom_bindings.cc b/chrome/renderer/extensions/file_browser_private_custom_bindings.cc index ea72c0bc12ec8..fcbe6b015eb75 100644 --- a/chrome/renderer/extensions/file_browser_private_custom_bindings.cc +++ b/chrome/renderer/extensions/file_browser_private_custom_bindings.cc @@ -10,6 +10,7 @@ #include "base/logging.h" #include "grit/renderer_resources.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystem.h" +#include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystemType.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebString.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" @@ -35,7 +36,11 @@ v8::Handle<v8::Value> FileBrowserPrivateCustomBindings::GetLocalFileSystem( WebKit::WebFrame* webframe = WebKit::WebFrame::frameForContext(v8_context()); DCHECK(webframe); return webframe->createFileSystem( +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemTypeExternal, +#else WebKit::WebFileSystem::TypeExternal, +#endif WebKit::WebString::fromUTF8(name.c_str()), WebKit::WebString::fromUTF8(path.c_str())); } diff --git a/chrome/renderer/extensions/file_system_natives.cc b/chrome/renderer/extensions/file_system_natives.cc index 7812fe0951d10..d46ea9c0a24d0 100644 --- a/chrome/renderer/extensions/file_system_natives.cc +++ b/chrome/renderer/extensions/file_system_natives.cc @@ -13,6 +13,7 @@ #include "extensions/common/constants.h" #include "grit/renderer_resources.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystem.h" +#include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystemType.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebString.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" #include "webkit/fileapi/file_system_types.h" @@ -58,7 +59,11 @@ v8::Handle<v8::Value> FileSystemNatives::GetIsolatedFileSystem( optional_root_name)); return webframe->createFileSystem( +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemTypeIsolated, +#else WebKit::WebFileSystem::TypeIsolated, +#endif WebKit::WebString::fromUTF8(name), WebKit::WebString::fromUTF8(root)); } @@ -68,7 +73,11 @@ v8::Handle<v8::Value> FileSystemNatives::GetFileEntry( DCHECK(args.Length() == 5); DCHECK(args[0]->IsString()); std::string type_string = *v8::String::Utf8Value(args[0]->ToString()); +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType type; +#else WebKit::WebFileSystem::Type type; +#endif bool is_valid_type = fileapi::GetFileSystemPublicType(type_string, &type); DCHECK(is_valid_type); if (is_valid_type == false) { diff --git a/chrome/renderer/extensions/media_galleries_custom_bindings.cc b/chrome/renderer/extensions/media_galleries_custom_bindings.cc index 1e65f2eaf0949..3c172d5c696cc 100644 --- a/chrome/renderer/extensions/media_galleries_custom_bindings.cc +++ b/chrome/renderer/extensions/media_galleries_custom_bindings.cc @@ -60,7 +60,12 @@ v8::Handle<v8::Value> MediaGalleriesCustomBindings::GetMediaFileSystemObject( const std::string root_url = fileapi::GetIsolatedFileSystemRootURIString( origin, fsid, extension_misc::kMediaFileSystemPathPart); - return webframe->createFileSystem(WebKit::WebFileSystem::TypeIsolated, + return webframe->createFileSystem( +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemTypeIsolated, +#else + WebKit::WebFileSystem::TypeIsolated, +#endif WebKit::WebString::fromUTF8(name), WebKit::WebString::fromUTF8(root_url)); } diff --git a/chrome/renderer/extensions/sync_file_system_custom_bindings.cc b/chrome/renderer/extensions/sync_file_system_custom_bindings.cc index 3fa09dac2b8a1..8e38e703c0d9e 100644 --- a/chrome/renderer/extensions/sync_file_system_custom_bindings.cc +++ b/chrome/renderer/extensions/sync_file_system_custom_bindings.cc @@ -50,7 +50,12 @@ v8::Handle<v8::Value> SyncFileSystemCustomBindings::GetSyncFileSystemObject( WebKit::WebFrame* webframe = WebKit::WebFrame::frameForContext(v8_context()); - return webframe->createFileSystem(WebKit::WebFileSystem::TypeExternal, + return webframe->createFileSystem( +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemTypeExternal, +#else + WebKit::WebFileSystem::TypeExternal, +#endif WebKit::WebString::fromUTF8(name), WebKit::WebString::fromUTF8(root_url)); } diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc index f887db4f4cf06..94756a67064b6 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc @@ -125,6 +125,7 @@ #include "third_party/skia/include/core/SkPicture.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebCString.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebDragData.h" +#include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystemType.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebHTTPBody.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebImage.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebMessagePortChannel.h" @@ -4200,7 +4201,11 @@ void RenderViewImpl::reportFindInPageSelection(int request_id, void RenderViewImpl::openFileSystem( WebFrame* frame, +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType type, +#else WebFileSystem::Type type, +#endif long long size, bool create, WebFileSystemCallbacks* callbacks) { @@ -4220,7 +4225,11 @@ void RenderViewImpl::openFileSystem( void RenderViewImpl::deleteFileSystem( WebFrame* frame, +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType type , +#else WebFileSystem::Type type , +#endif WebFileSystemCallbacks* callbacks) { DCHECK(callbacks); diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h index c7758fce5e2c9..37d47a305267c 100644 --- a/content/renderer/render_view_impl.h +++ b/content/renderer/render_view_impl.h @@ -641,12 +641,20 @@ class CONTENT_EXPORT RenderViewImpl int active_match_ordinal, const WebKit::WebRect& sel); virtual void openFileSystem(WebKit::WebFrame* frame, +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType type, +#else WebKit::WebFileSystem::Type type, +#endif long long size, bool create, WebKit::WebFileSystemCallbacks* callbacks); virtual void deleteFileSystem(WebKit::WebFrame* frame, +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType type, +#else WebKit::WebFileSystem::Type type, +#endif WebKit::WebFileSystemCallbacks* callbacks); virtual void queryStorageUsageAndQuota( WebKit::WebFrame* frame, diff --git a/content/worker/websharedworkerclient_proxy.cc b/content/worker/websharedworkerclient_proxy.cc index f17cdbdf89bfa..469f8ddc80379 100644 --- a/content/worker/websharedworkerclient_proxy.cc +++ b/content/worker/websharedworkerclient_proxy.cc @@ -161,7 +161,11 @@ bool WebSharedWorkerClientProxy::allowFileSystem() { } void WebSharedWorkerClientProxy::openFileSystem( +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType type, +#else WebKit::WebFileSystem::Type type, +#endif long long size, bool create, WebKit::WebFileSystemCallbacks* callbacks) { diff --git a/content/worker/websharedworkerclient_proxy.h b/content/worker/websharedworkerclient_proxy.h index 504cad8e36a14..cfbcaf5d164b7 100644 --- a/content/worker/websharedworkerclient_proxy.h +++ b/content/worker/websharedworkerclient_proxy.h @@ -9,6 +9,7 @@ #include "base/memory/weak_ptr.h" #include "ipc/ipc_channel.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystem.h" +#include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystemType.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebSharedWorkerClient.h" namespace WebKit { @@ -74,7 +75,12 @@ class WebSharedWorkerClientProxy : public WebKit::WebSharedWorkerClient { const WebKit::WebString& display_name, unsigned long estimated_size); virtual bool allowFileSystem(); - virtual void openFileSystem(WebKit::WebFileSystem::Type type, + virtual void openFileSystem( +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType type, +#else + WebKit::WebFileSystem::Type type, +#endif long long size, bool create, WebKit::WebFileSystemCallbacks* callbacks); diff --git a/webkit/fileapi/file_system_types.h b/webkit/fileapi/file_system_types.h index f657218ea014e..cd502845aab21 100644 --- a/webkit/fileapi/file_system_types.h +++ b/webkit/fileapi/file_system_types.h @@ -6,6 +6,7 @@ #define WEBKIT_FILEAPI_FILE_SYSTEM_TYPES_H_ #include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystem.h" +#include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystemType.h" namespace fileapi { @@ -24,6 +25,18 @@ enum FileSystemType { // They are sandboxed filesystems; all the files in the filesystems are // placed under the profile directory with path obfuscation and quota // enforcement. +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + kFileSystemTypeTemporary = WebKit::WebFileSystemTypeTemporary, + kFileSystemTypePersistent = WebKit::WebFileSystemTypePersistent, + + // Indicates non-sandboxed isolated filesystem. + kFileSystemTypeIsolated = WebKit::WebFileSystemTypeIsolated, + + // Indicates non-sandboxed filesystem where files are placed outside the + // profile directory (thus called 'external' filesystem). + // This filesystem is used only by Chrome OS as of writing. + kFileSystemTypeExternal = WebKit::WebFileSystemTypeExternal, +#else kFileSystemTypeTemporary = WebKit::WebFileSystem::TypeTemporary, kFileSystemTypePersistent = WebKit::WebFileSystem::TypePersistent, @@ -34,6 +47,7 @@ enum FileSystemType { // profile directory (thus called 'external' filesystem). // This filesystem is used only by Chrome OS as of writing. kFileSystemTypeExternal = WebKit::WebFileSystem::TypeExternal, +#endif // ------------------------------------------------------------------------ // Private FileSystem types, that should not appear in filesystem: URL as diff --git a/webkit/fileapi/file_system_util.cc b/webkit/fileapi/file_system_util.cc index 5b3f4f5c86ec9..7363d91c1949b 100644 --- a/webkit/fileapi/file_system_util.cc +++ b/webkit/fileapi/file_system_util.cc @@ -291,22 +291,43 @@ WebKit::WebFileError PlatformFileErrorToWebFileError( bool GetFileSystemPublicType( const std::string type_string, - WebKit::WebFileSystem::Type* type) { +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType* type +#else + WebKit::WebFileSystem::Type* type +#endif +) { DCHECK(type); if (type_string == "Temporary") { +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + *type = WebKit::WebFileSystemTypeTemporary; +#else *type = WebKit::WebFileSystem::TypeTemporary; +#endif return true; } if (type_string == "Persistent") { +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + *type = WebKit::WebFileSystemTypePersistent; +#else *type = WebKit::WebFileSystem::TypePersistent; +#endif return true; } if (type_string == "Isolated") { +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + *type = WebKit::WebFileSystemTypeIsolated; +#else *type = WebKit::WebFileSystem::TypeIsolated; +#endif return true; } if (type_string == "External") { +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + *type = WebKit::WebFileSystemTypeExternal; +#else *type = WebKit::WebFileSystem::TypeExternal; +#endif return true; } NOTREACHED(); diff --git a/webkit/fileapi/file_system_util.h b/webkit/fileapi/file_system_util.h index 6ccb70107fb74..f9406b4cd2ed8 100644 --- a/webkit/fileapi/file_system_util.h +++ b/webkit/fileapi/file_system_util.h @@ -10,6 +10,7 @@ #include "base/files/file_path.h" #include "base/platform_file.h" +#include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystemType.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebFileError.h" #include "webkit/fileapi/file_system_types.h" #include "webkit/quota/quota_types.h" @@ -114,7 +115,12 @@ WEBKIT_STORAGE_EXPORT std::string GetFileSystemTypeString(FileSystemType type); // Returns false if the |type_string| is invalid. WEBKIT_STORAGE_EXPORT bool GetFileSystemPublicType( std::string type_string, - WebKit::WebFileSystem::Type* type); +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType* type +#else + WebKit::WebFileSystem::Type* type +#endif +); // Encodes |file_path| to a string. // Following conditions should be held: diff --git a/webkit/support/webkit_support.cc b/webkit/support/webkit_support.cc index db9445178a61a..00f0741de8354 100644 --- a/webkit/support/webkit_support.cc +++ b/webkit/support/webkit_support.cc @@ -851,14 +851,24 @@ WebURL GetDevToolsPathAsURL() { } // FileSystem -void OpenFileSystem(WebFrame* frame, WebFileSystem::Type type, +void OpenFileSystem(WebFrame* frame, +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType type, +#else + WebFileSystem::Type type, +#endif long long size, bool create, WebFileSystemCallbacks* callbacks) { SimpleFileSystem* fileSystem = static_cast<SimpleFileSystem*>( test_environment->webkit_platform_support()->fileSystem()); fileSystem->OpenFileSystem(frame, type, size, create, callbacks); } -void DeleteFileSystem(WebFrame* frame, WebFileSystem::Type type, +void DeleteFileSystem(WebFrame* frame, +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType type, +#else + WebFileSystem::Type type, +#endif WebFileSystemCallbacks* callbacks) { SimpleFileSystem* fileSystem = static_cast<SimpleFileSystem*>( test_environment->webkit_platform_support()->fileSystem()); diff --git a/webkit/support/webkit_support.h b/webkit/support/webkit_support.h index 8ea640887cb2f..72beccf3d9143 100644 --- a/webkit/support/webkit_support.h +++ b/webkit/support/webkit_support.h @@ -10,6 +10,7 @@ #include "base/basictypes.h" #include "third_party/WebKit/Source/Platform/chromium/public/Platform.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystem.h" +#include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystemType.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebGraphicsContext3D.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebReferrerPolicy.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebURLRequest.h" @@ -266,12 +267,20 @@ WebKit::WebURL GetDevToolsPathAsURL(); // - FileSystem void OpenFileSystem(WebKit::WebFrame* frame, +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType type, +#else WebKit::WebFileSystem::Type type, +#endif long long size, bool create, WebKit::WebFileSystemCallbacks* callbacks); void DeleteFileSystem(WebKit::WebFrame* frame, +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType type, +#else WebKit::WebFileSystem::Type type, +#endif WebKit::WebFileSystemCallbacks* callbacks); // Returns a filesystem ID for the newly created isolated filesystem. diff --git a/webkit/tools/test_shell/simple_file_system.cc b/webkit/tools/test_shell/simple_file_system.cc index 89507054f7883..970070e4dc845 100644 --- a/webkit/tools/test_shell/simple_file_system.cc +++ b/webkit/tools/test_shell/simple_file_system.cc @@ -95,7 +95,12 @@ SimpleFileSystem::~SimpleFileSystem() { } void SimpleFileSystem::OpenFileSystem( - WebFrame* frame, WebFileSystem::Type type, + WebFrame* frame, +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType type, +#else + WebFileSystem::Type type, +#endif long long, bool create, WebFileSystemCallbacks* callbacks) { if (!frame || !file_system_context_.get()) { @@ -111,7 +116,12 @@ void SimpleFileSystem::OpenFileSystem( } void SimpleFileSystem::DeleteFileSystem( - WebFrame* frame, WebFileSystem::Type type, + WebFrame* frame, +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType type, +#else + WebFileSystem::Type type, +#endif WebFileSystemCallbacks* callbacks) { if (!frame || !file_system_context_.get()) { callbacks->didFail(WebKit::WebFileErrorSecurity); diff --git a/webkit/tools/test_shell/simple_file_system.h b/webkit/tools/test_shell/simple_file_system.h index 233624034e80b..6af770d1a7b4a 100644 --- a/webkit/tools/test_shell/simple_file_system.h +++ b/webkit/tools/test_shell/simple_file_system.h @@ -11,6 +11,7 @@ #include "base/id_map.h" #include "base/memory/weak_ptr.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystem.h" +#include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystemType.h" #include "webkit/fileapi/file_system_context.h" #include "webkit/fileapi/file_system_operation.h" #include "webkit/fileapi/file_system_types.h" @@ -38,12 +39,20 @@ class SimpleFileSystem virtual ~SimpleFileSystem(); void OpenFileSystem(WebKit::WebFrame* frame, +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType type, +#else WebKit::WebFileSystem::Type type, +#endif long long size, bool create, WebKit::WebFileSystemCallbacks* callbacks); void DeleteFileSystem(WebKit::WebFrame* frame, +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType type, +#else WebKit::WebFileSystem::Type type, +#endif WebKit::WebFileSystemCallbacks* callbacks); fileapi::FileSystemContext* file_system_context() { diff --git a/webkit/tools/test_shell/test_webview_delegate.cc b/webkit/tools/test_shell/test_webview_delegate.cc index c265827cc590d..eddcfbb6be18b 100644 --- a/webkit/tools/test_shell/test_webview_delegate.cc +++ b/webkit/tools/test_shell/test_webview_delegate.cc @@ -805,7 +805,13 @@ bool TestWebViewDelegate::allowScript(WebFrame* frame, } void TestWebViewDelegate::openFileSystem( - WebFrame* frame, WebFileSystem::Type type, long long size, bool create, + WebFrame* frame, +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType type, +#else + WebFileSystem::Type type, +#endif + long long size, bool create, WebFileSystemCallbacks* callbacks) { SimpleFileSystem* fileSystem = static_cast<SimpleFileSystem*>( WebKit::Platform::current()->fileSystem()); diff --git a/webkit/tools/test_shell/test_webview_delegate.h b/webkit/tools/test_shell/test_webview_delegate.h index 67f72590ada5c..6ea31afcea1b7 100644 --- a/webkit/tools/test_shell/test_webview_delegate.h +++ b/webkit/tools/test_shell/test_webview_delegate.h @@ -20,6 +20,7 @@ #include "base/string16.h" #include "build/build_config.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystem.h" +#include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystemType.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebGraphicsContext3D.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebRect.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebContextMenuData.h" @@ -227,7 +228,11 @@ class TestWebViewDelegate : public WebKit::WebViewClient, virtual bool allowScript(WebKit::WebFrame* frame, bool enabled_per_settings); virtual void openFileSystem( WebKit::WebFrame* frame, +#ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE + WebKit::WebFileSystemType type, +#else WebKit::WebFileSystem::Type type, +#endif long long size, bool create, WebKit::WebFileSystemCallbacks* callbacks);