// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "content/child/database_util.h" #include "content/common/database_messages.h" #include "ipc/ipc_sync_message_filter.h" #include "third_party/WebKit/public/platform/WebString.h" #include "third_party/sqlite/sqlite3.h" using blink::Platform; using blink::WebString; namespace content { Platform::FileHandle DatabaseUtil::DatabaseOpenFile( const WebString& vfs_file_name, int desired_flags, IPC::SyncMessageFilter* sync_message_filter) { IPC::PlatformFileForTransit file_handle = IPC::InvalidPlatformFileForTransit(); sync_message_filter->Send(new DatabaseHostMsg_OpenFile( vfs_file_name, desired_flags, &file_handle)); return IPC::PlatformFileForTransitToPlatformFile(file_handle); } int DatabaseUtil::DatabaseDeleteFile( const WebString& vfs_file_name, bool sync_dir, IPC::SyncMessageFilter* sync_message_filter) { int rv = SQLITE_IOERR_DELETE; sync_message_filter->Send( new DatabaseHostMsg_DeleteFile(vfs_file_name, sync_dir, &rv)); return rv; } long DatabaseUtil::DatabaseGetFileAttributes( const WebString& vfs_file_name, IPC::SyncMessageFilter* sync_message_filter) { int32 rv = -1; sync_message_filter->Send( new DatabaseHostMsg_GetFileAttributes(vfs_file_name, &rv)); return rv; } long long DatabaseUtil::DatabaseGetFileSize( const WebString& vfs_file_name, IPC::SyncMessageFilter* sync_message_filter) { int64 rv = 0LL; sync_message_filter->Send( new DatabaseHostMsg_GetFileSize(vfs_file_name, &rv)); return rv; } long long DatabaseUtil::DatabaseGetSpaceAvailable( const WebString& origin_identifier, IPC::SyncMessageFilter* sync_message_filter) { int64 rv = 0LL; sync_message_filter->Send( new DatabaseHostMsg_GetSpaceAvailable(origin_identifier.utf8(), &rv)); return rv; } bool DatabaseUtil::DatabaseSetFileSize( const WebString& vfs_file_name, int64 size, IPC::SyncMessageFilter* sync_message_filter) { bool rv = false; sync_message_filter->Send( new DatabaseHostMsg_SetFileSize(vfs_file_name, size, &rv)); return rv; } } // namespace content